Skip to content

Model & Media Specs

Task API uses modality-specific public fields for media specs and converts them to the selected upstream protocol. Use GET /v1/tasks/models as the source of truth for models, prices, capabilities, and the constraints actually returned for the current API key.

Video and 3D fields define the common contract, but they can be submitted only after an executable adapter, channel, and plan are configured and the model appears in the model list.

Common Specs by Modality

ModalityPublic spec fieldsModel-list constraints
imageimage_size, aspect_ratio, nsupported_image_sizes, supported_aspect_ratios, min_images, max_images, max_input_images
videoduration, resolution, aspect_ratio, generate_audiomax_input_assets
3doutput_formatmax_input_assets

Video uses params.inputs for first frames, last frames, and reference media. The public 3D parser accepts reference images only, but no 3D adapter is currently registered. The model list does not currently advertise video duration, resolution, aspect-ratio, audio, or 3D output-format value sets. The public parser validates their types and basic shape; the selected adapter and upstream service determine whether a particular combination is supported.

Portable Image Parameters

ParameterCommon valuesDescription
image_size0.5K, 1K, 2K, 3K, 4KImage size tier used for routing and billing. Some models support only a subset.
aspect_ratio1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9Desired image ratio. Some models support only a subset.

Use params.extra_body when you need an upstream-specific option. Do not send params.size directly to /v1/tasks.

GPT Image 2

GPT Image 2 routes using the OpenAI Images protocol convert image_size and aspect_ratio into size. Every derived size uses edges divisible by 16, keeps each edge at or below 3840, keeps the long-to-short edge ratio at or below 3:1, and contains between 655,360 and 8,294,400 pixels.

image_sizeaspect_ratiosize
1K1:11024x1024
1K16:91536x864
1K9:16864x1536
1K4:31360x1024
1K3:41024x1360
1K5:41280x1024
1K4:51024x1280
1K3:21536x1024
1K2:31024x1536
1K21:91536x656
1K9:21656x1536
2K1:12048x2048
2K16:92048x1152
2K9:161152x2048
2K4:32048x1536
2K3:41536x2048
2K5:42000x1600
2K4:51600x2000
2K3:21536x1024
2K2:31024x1536
2K21:92048x880
2K9:21880x2048
3K1:12880x2880
3K16:93072x1728
3K9:161728x3072
3K4:33072x2304
3K3:42304x3072
3K5:43040x2432
3K4:52432x3040
3K3:23072x2048
3K2:32048x3072
3K21:93072x1312
3K9:211312x3072
4K1:12880x2880
4K16:93840x2160
4K9:162160x3840
4K4:33264x2448
4K3:42448x3264
4K5:43200x2560
4K4:52560x3200
4K3:23504x2336
4K2:32336x3504
4K21:93808x1632
4K9:211632x3808

When setting an exact size through params.extra_body.size, use auto or a WIDTHxHEIGHT value that meets the constraints above. params.extra_body.quality accepts only low, medium, high, or auto. Invalid values return 400 TASK_INVALID_REQUEST before an upstream request is sent.

Gemini Native

Gemini Native routes use image_size and aspect_ratio directly for image generation settings. Supported tiers vary by model. Check parameter_constraints from the model list endpoint before submitting.

Modelimage_sizeaspect_ratio
gemini-3.1-flash-image0.5K, 1K, 2K, 4K1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9
gemini-3-pro-image1K, 2K, 4K1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
gemini-2.5-flash-image1K1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
gemini-3.1-flash-lite-image1K1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9

Gemini Native does not support 9:21. Use a ratio only if it appears in the current model list response.

Seedream

Seedream supports text-to-image, image-to-image, and multiple reference images. 1K requests are handled as 2K.

image_sizeaspect_ratioActual size
2K1:12048x2048
2K3:41728x2304
2K4:32304x1728
2K16:92848x1600
2K9:161600x2848
2K3:22496x1664
2K2:31664x2496
2K21:93136x1344
3K1:13072x3072
3K3:42592x3456
3K4:33456x2592
3K16:94096x2304
3K9:162304x4096
3K2:32496x3744
3K3:23744x2496
3K21:94704x2016
4K1:14096x4096
4K3:43520x4704
4K4:34704x3520
4K16:95504x3040
4K9:163040x5504
4K2:33328x4992
4K3:24992x3328
4K21:96240x2656

Exact Parameters

If the caller knows a specific upstream parameter supported by the target model, put it in params.extra_body:

json
{
  "model": "seedream-5.0-lite",
  "modality": "image",
  "params": {
    "model": "seedream-5.0-lite",
    "prompt": "Generate a wide product image",
    "image_size": "3K",
    "aspect_ratio": "16:9",
    "extra_body": {
      "size": "4096x2304"
    }
  }
}

If extra_body conflicts with portable sizing fields, the final upstream request uses extra_body. Billing is calculated from the final request and the actual result size tier.