google/imagen4text-to-imageoutputs imagedocs.kie.aipast runsseed is a STRING here (maxLength 500) but an INTEGER on google/imagen4-fast. Same family, same field name, different type.aspect_ratio vs ratio vs image_size — the same idea, two names67 modelsCopying a payload between these models silently drops the field, because the receiving model has never heard of that key. uses aspect_ratio: kling-2.6/text-to-video, kling/v2-5-turbo-text-to-video-pro, kling/v2-1-master-text-to-video +52 — uses ratio: wan/2-7-text-to-video — uses image_size: bytedance/seedream, bytedance/seedream-v4-text-to-image, bytedance/seedream-v4-edit +10. google/nano-banana and google/nano-banana-edit declare more than one of these spellings, so setting two of them on the same request sets one idea twice — check which the docs mark current.
aspect_ratio accepts different values on different models55 modelsA value that works on one of these is rejected on another. accepts 16:9,1:1,9:16: kling-2.6/text-to-video, kling/v2-5-turbo-text-to-video-pro, kling/v2-1-master-text-to-video +4 — accepts 16:9,1:1,9:16,auto: kling-3.0-omni/image-to-video, kling-3.0-omni/reference-to-video, kling-3.0-omni/transformation — accepts 16:9,1:1,21:9,3:4,4:3,9:16,adaptive: bytedance/seedance-2, bytedance/seedance-2-fast, bytedance/seedance-2-mini +1 — accepts 16:9,1:1,21:9,3:4,4:3,9:16: bytedance/seedance-1.5-pro, bytedance/v1-pro-text-to-video — accepts 16:9,1:1,3:4,4:3,9:16,9:21: bytedance/v1-lite-text-to-video — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,9:16: seedream/4.5-text-to-image, seedream/4.5-edit, seedream/5-lite-text-to-image +4 — accepts 16:9,9:16: wan/2-2-a14b-text-to-video-turbo, gemini-omni-video, google/gemini-omni-flash-1-1 — accepts 16:9,1:1,3:4,4:3,9:16: wan/2-7-videoedit, wan/2-7-r2v — accepts 16:9,1:1,3:4,4:3,9:16,adaptive: wan/3-0-video, wan/3-0-video-prime — accepts 16:9,1:1,1:8,21:9,3:4,4:3,8:1,9:16: wan/2-7-image, wan/2-7-image-pro — accepts 16:9,1:1,3:4,4:3,9:16,auto: google/imagen4, google/imagen4-fast, google/imagen4-ultra — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,4:5,5:4,9:16,auto: google/nano-banana, google/nano-banana-edit, nano-banana-pro — accepts 16:9,1:1,1:4,1:8,21:9,2:3,3:2,3:4,4:1,4:3,4:5,5:4,8:1,9:16,auto: nano-banana-2, nano-banana-2-1, nano-banana-2-lite — accepts 16:9,9:16,Auto: veo3, veo3_fast, veo3_lite — accepts 1:1,2:3,3:2: gpt-image/1.5-text-to-image, gpt-image/1.5-image-to-image — accepts 16:9,1:1,1:2,1:3,21:9,2:1,2:3,3:1,3:2,3:4,4:3,4:5,5:4,9:16,9:21,auto: gpt-image-2-text-to-image, gpt-image-2-image-to-image — accepts 16:27,16:9,1:1,21:9,27:16,2:3,3:2,3:4,4:3,8:9,9:16,9:8,auto: gpt-image-2-5-flare-text-to-image, gpt-image-2-5-flare-image-to-image, gpt-image-2-5-sunburst-text-to-image +1 — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,9:16,9:21: qwen2-1/text-to-image — accepts 16:9,1:1,21:9,2:3,3:2,3:4,4:3,9:16,9:21,auto: qwen2-1/image-to-image.
seed is not the same type on every model36 modelsSending the wrong JSON type is rejected as a 422 that names the field but not the reason. as number: bytedance/v1-pro-text-to-video, bytedance/v1-pro-image-to-video, bytedance/v1-lite-text-to-video +31 — as string: google/imagen4, google/imagen4-ultra.
seed is a STRING here (maxLength 500) but an INTEGER on google/imagen4-fast. Same family, same field name, different type.
| Field | Type | Accepts | Default |
|---|---|---|---|
promptrequiredWhat you want to see. | text | 0…5000 chars | — |
negative_promptWhat to discourage in the generated image. | text | 0…5000 chars | — |
aspect_ratioShape of the generated image. | enum | 1:1 | 16:9 | 9:16 | 3:4 | 4:3 | auto | "1:1" |
seedRandom seed for reproducible generation. This model takes a STRING, not a number — its -fast sibling takes an integer. | string | 0…500 chars | — |
The models most easily confused with this one.