Generate image
generate_imageMake an image in the user's Kuro account. This spends credits, or runs on the user's own key (get_credits), and waits for the image, so a quick one comes back ready in this call.
Search list_recipes and read promising matches with get_recipe before choosing a model. Prefer a close-fitting recipe through generate_with_recipe; use this direct tool when none fits, with parameters from the chosen model's guide.
Only if it comes back still queued or generating, call get_generation once: it waits for the result. Presets from list_presets add Style, Lighting and Framing through the presets map; a guided recipe runs through generate_with_recipe instead. Name the account's Subjects in subjects rather than attaching pictures of them. list_models carries each model's full envelope.
To change something about an image that already exists, call edit_image instead. Re-sending an edited prompt here is a fresh roll of the dice — a different composition, different light, a different picture — not an edit of the one on screen.
Models (credits per image at the default setting; reference images):
seedream-5-lite: ~3, 7 refs
nano-banana-2.1: ~3, 14 refs
nano-banana-2: ~6, 7 refs
gpt-image-2.5-flare: ~11, 7 refs
gpt-image-2.5-sunburst: ~11, 7 refs
gpt-image-2: ~11, 7 refs
nano-banana-2-lite: ~3, 7 refs
seedream-5-pro: ~4, 7 refs
flux-schnell: ~0.5, no refs
flux-2-flex: ~5, 7 refs
flux-2-pro: ~2.5, 7 refs
flux-2-max: ~6, 7 refs
recraft-v4.1-svg: ~3.5, no refs, SVG
recraft-v4.1-pro-svg: ~21, no refs, SVG
p-image: ~0.5, no refs
grok-imagine-image: ~2, 1 refs
grok-imagine-image-quality: ~6, 1 refs
krea-3: ~5, 8 refs
qwen-image-3-pro: ~3.5, 1 refs
soul-2: ~0.5, no refs
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "generate_image"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| prompt | No | ||
| presets | No | ||
| runs_on | No | Who pays: "credits", or one of the user's own keys by vendor (get_credits lists them). Leave out to follow their payer order; set it only when the user chose. | |
| setting | No | ||
| subjects | No | Names or ids of the account's Subjects (list_subjects). The server supplies each one's face and description — seated against the model's capacity — so do not also attach pictures of them. | |
| references | No | The pictures this generation can see — uploads and generations alike, in the shape list_media returns. This is the only field that carries image data into the model. The selected model’s reference capacity applies (list_models). | |
| recreate_of | No | ||
| aspect_ratio | No | Defaults to 9:16 (vertical). Confirm the shape with the user when the destination is unclear — a feed, a banner and a phone screen want different ones. | |
| refined_from | No | Lineage only — this records that the new image is the next version of that one, and carries NO pixels. Put the same generation in `references` or the model sees no picture. Prefer edit_image, which sets both from one id; reach for this only to hand-assemble a refine edit_image cannot express. | |
| idempotency_key | No | Optional. Pass the same value to retry one operation without spending twice; omit it for a new operation. Different arguments under a reused key are refused. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| generation | Yes | One image, clip, voice-over or piece of music. |