generate_with_recipe

Generate with guided recipe

Create one image or clip with a guided recipe — an arm or reprompt recipe. Supply creative_prompt and one value for every choice get_recipe declares; bind existing account media, or a Subject as { type: "subject", subject_id }, to the recipe's inputs by key — an input with takes_subject takes one, and naming her beats attaching a picture of her. Optionally pick another model of the recipe's medium instead of its default: its recommended_models are the ones its author tested, and any other model of the medium runs it too unless it cannot take an input the recipe requires (a reference photo, a start frame, the pinned voice) — that is refused as RECIPE_MODEL_UNFIT with the reason. A pinned setting the model cannot take (a ratio, resolution, length or format) moves to the nearest one it can, and a model that uses reference photos only in one clip shape is moved into that shape. On a reprompt recipe your answers are the brief a model reads to write the prompt, so say what you want rather than how to phrase it.

Scope

Behaviour

Writes
Creates or changes items in the caller's own account.
Adds or updates
Adds or updates; nothing the caller already has is deleted or overwritten.
Stays in the account
Stays inside the caller's private Kuro account: any media provider it calls acts on Kuro's account, and the result is visible to no one else.

Inputs

Example call

A tools/call request with the required arguments only, each a placeholder read off the schema. Replace them before sending.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "generate_with_recipe",
    "arguments": {
      "recipe_id": "00000000-0000-4000-8000-000000000000",
      "creative_prompt": "<creative_prompt>"
    }
  }
}

Input schema

As the server sends it in tools/list.

{
  "type": "object",
  "properties": {
    "recipe_id": {
      "type": "string",
      "format": "uuid"
    },
    "creative_prompt": {
      "type": "string",
      "maxLength": 4000
    },
    "inputs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slot_key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "sources": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "const": "upload"
                    },
                    "upload_id": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "required": [
                    "type",
                    "upload_id"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "const": "generation"
                    },
                    "generation_id": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "required": [
                    "type",
                    "generation_id"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "const": "subject"
                    },
                    "subject_id": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "required": [
                    "type",
                    "subject_id"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "minItems": 1,
            "maxItems": 6
          }
        },
        "required": [
          "slot_key",
          "sources"
        ],
        "additionalProperties": false
      },
      "maxItems": 6
    },
    "choices": {
      "type": "object",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 16
          }
        ]
      }
    },
    "model_id": {
      "type": "string",
      "enum": [
        "seedream-5-lite",
        "nano-banana-2.1",
        "nano-banana-2",
        "gpt-image-2.5-flare",
        "gpt-image-2.5-sunburst",
        "gpt-image-2",
        "nano-banana-2-lite",
        "seedream-5-pro",
        "flux-schnell",
        "flux-2-flex",
        "flux-2-pro",
        "flux-2-max",
        "recraft-v4.1-svg",
        "recraft-v4.1-pro-svg",
        "p-image",
        "grok-imagine-image",
        "grok-imagine-image-quality",
        "krea-3",
        "qwen-image-3-pro",
        "soul-2",
        "seedance-2.5",
        "seedance-2.0",
        "seedance-2.0-mini",
        "seedance-2.0-fast",
        "grok-imagine-video-1.5",
        "veo-3.1",
        "veo-3.1-fast",
        "veo-3.1-lite",
        "gemini-omni-1.1",
        "kling-v3-omni-video",
        "kling-v3-video",
        "happyhorse-1.0",
        "wan-3",
        "wan-3-prime",
        "gen-4.5",
        "p-video",
        "p-video-2",
        "flux-3",
        "minimax-h3-max",
        "p-video-avatar",
        "p-video-animate",
        "p-video-replace",
        "omni-human-1.5",
        "kling-avatar-v2",
        "kling-v3-motion-control",
        "kling-lip-sync",
        "sync-lipsync-2",
        "genjutsu-motion-transfer",
        "genjutsu-object-swap",
        "elevenlabs-tts",
        "eleven-v4",
        "gemini-3.1-flash-tts",
        "kokoro-82m",
        "minimax-speech-2.8-hd",
        "inworld-tts-2",
        "reel-music-1",
        "minimax-music-2.6",
        "eleven-music"
      ]
    },
    "runs_on": {
      "type": "string",
      "enum": [
        "credits",
        "replicate",
        "fal",
        "siray",
        "runware",
        "higgsfield",
        "sunra",
        "comfy"
      ],
      "description": "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."
    }
  },
  "required": [
    "recipe_id",
    "creative_prompt"
  ],
  "additionalProperties": false
}

Related tools

Every tool· This page as Markdown