ConcurredConcurred API

Image API

Generate and edit images with Imagen 4, Flux, Recraft, Ideogram, and more

Generate images from text prompts or edit existing images using 13 models across 3 providers — all through a single API.

Endpoints

MethodEndpointDescription
POST/api/v1/image/generateText-to-image generation
POST/api/v1/image/editEdit an existing image with a prompt

Available Models

Image Generation

ModelIDProviderPriceNotes
Imagen 4imagen-4Google$0.04/imageFlagship, great text rendering
Imagen 4 Fastimagen-4-fastGoogle$0.02/imageQuick generation
Imagen 4 Ultraimagen-4-ultraGoogle$0.06/imageHighest quality, 2K
Flux 2 Proflux-2-proBFL~$0.03-0.05/imageBest open image model
Flux 2 Kleinflux-2-kleinBFLcheaperFast, budget
Flux 1.1 Proflux-1.1-proBFL$0.04/imagePrevious gen, still strong
Recraft V4recraft-v4fal.ai$0.04/imageDesign-focused, vector SVG support
Recraft V3recraft-v3fal.ai$0.04/imagePrevious gen
Ideogram V3ideogram-v3fal.ai$0.03-0.09/imageBest text-in-image rendering
Stable Diffusion 3.5sd-3.5fal.ai~$0.03/imageOpen-weights classic
Qwen Imageqwen-imagefal.ai$0.075/imageStrong multilingual prompts

Image Editing

ModelIDProviderPriceNotes
Flux Kontextflux-kontextBFLper-imageContext-aware editing
Qwen Image Editqwen-image-editfal.ai$0.075/imageText + object editing
Seedream 5seedream-5fal.ai~$0.04/imageStyle transfer, smart editing

Generate Image

POST /api/v1/image/generate

Request

{
  "model": "flux-2-pro",
  "prompt": "A cat astronaut floating in space, photorealistic",
  "width": 1024,
  "height": 1024
}

Parameters

ParameterTypeRequiredDescription
promptstringYesImage description
modelstringNoModel ID (default: flux-2-pro)
widthnumberNoWidth in pixels (256-2048, Flux/fal.ai)
heightnumberNoHeight in pixels (256-2048, Flux/fal.ai)
aspect_ratiostringNo1:1, 3:4, 4:3, 9:16, 16:9 (Google/fal.ai)
num_imagesnumberNo1-4 images (Google Imagen only)
image_sizestringNo1K or 2K (Google Imagen only)
seednumberNoReproducibility seed (Flux only)

Response

{
  "success": true,
  "data": {
    "model": "flux-2-pro",
    "provider": "flux",
    "images": [
      {
        "url": "https://signed-url.example.com/image.png"
      }
    ]
  },
  "meta": {
    "requestId": "req_abc123",
    "timestamp": "2026-03-29T00:00:00.000Z"
  }
}

Google Imagen Response

Google Imagen returns images as base64-encoded data (not URLs). The response includes base64 and mimeType fields instead of url.

Flux URL Expiry

Flux image URLs expire after 10 minutes. Download or cache results promptly.

Examples

curl https://concurred.ai/api/v1/image/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "imagen-4",
    "prompt": "A watercolor painting of a Japanese garden",
    "aspect_ratio": "16:9"
  }'

Edit Image

POST /api/v1/image/edit

Request

{
  "model": "qwen-image-edit",
  "prompt": "Change the sky to a dramatic sunset",
  "image_url": "https://example.com/photo.jpg"
}

Parameters

ParameterTypeRequiredDescription
promptstringYesEdit instruction
image_urlstringYesSource image URL
modelstringNoModel ID (default: qwen-image-edit)
seednumberNoReproducibility seed (Flux Kontext only)

Response

{
  "success": true,
  "data": {
    "model": "qwen-image-edit",
    "provider": "fal",
    "images": [
      {
        "url": "https://fal-cdn.example.com/edited.png"
      }
    ]
  }
}

Example

curl https://concurred.ai/api/v1/image/edit \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-kontext",
    "prompt": "Add sunglasses to the person",
    "image_url": "https://example.com/portrait.jpg"
  }'

On this page