---
title: "create_recipe: Create recipe"
description: "Author a private recipe from nothing."
canonical_url: "https://meetkuro.com/agents/tools/create_recipe/"
updated: 2026-11-03
locale: "en"
tool: "create_recipe"
scopes: ["recipes.write"]
---

# create_recipe

**Create recipe**

Author a private recipe from nothing. `action` picks the document: `arm` configures ONE generation and needs `model_id` plus `config` (an arrangement — the creative field, the prompt template, slots and choices); `run` starts a multi-step run and needs `definition` (a workflow — its inputs and steps); `reprompt` configures ONE generation whose prompt a model writes at press time, and needs `model_id`, `config` and `writer` (the rules it writes by, and whether it looks at the pictures). The row is private and stays yours; publish_recipe puts it on the public wall, submit_recipe offers it to a curator.
To save what a finished generation already ran, call save_recipe_from_generation instead; to copy a catalog recipe onto your shelf, remix_recipe. Read get_recipe on a catalog row to see the shape of a working arrangement before writing one. A catalog row never shows its steps, so for a run recipe copy the grammar from this definition, which runs as written: {"schema_version":1,"inputs":[{"type":"text","key":"brief","label":"Brief","required":true,"max_length":2000,"default":""},{"type":"number","key":"count","label":"How many?","min":1,"max":30,"default":3}],"steps":[{"type":"prompt","id":"plan","model":"grok-4.6","system":"You write image prompts: one vivid sentence each, concrete subject, light and lens.","template":"Write {{inputs.count}} prompts for: {{inputs.brief}}","vision":[],"output":{"kind":"list","count":"count"}},{"type":"image","id":"render","model":"seedream-5-lite","prompt":"{{item}}","references":[],"subjects":[],"params":{},"for_each":"steps.plan.items"}]}
A run recipe's `model_kind` is the room its tile hangs in and must agree with what its last step makes. Validation errors name the field.

## Scope

- `recipes.write` — Writes the account's own recipes; every save is private.

## 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

| Name | Type | Required | Details |
| --- | --- | --- | --- |
| `action` | string | yes | one of "arm", "run", "reprompt" |
| `model_kind` | string | yes | one of "image", "video", "tts", "music" |
| `name` | string | yes | at least 1 character; at most 60 characters |
| `description` | string | yes | at least 1 character; at most 1000 characters |
| `tags` | array of string | no | at most 12 items |
| `cover_shape` | string | no | one of "square", "landscape", "portrait" |
| `highlights` | array of string | no | at most 5 items |
| `model_id` | string | no | one of "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-fast", "seedance-2.0-mini", "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", "sync-lipsync-2", "kling-lip-sync", "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", "minimax-music-2.6", "eleven-music" |
| `allowed_models` | array of string | no | at least 1 item; at most 24 items |
| `recommended_model` | string or null | no | — |
| `config` | object (schema_version: 1) | no | fields: schema_version, creative_field, prompt_template, slots, choices, preset_policies, shortcuts |
| `suggested_params` | object | no | — |
| `writer` | object (schema_version: 1) | no | fields: schema_version, system, vision, max_length |
| `definition` | object | no | A workflow: `inputs` (what the presser is asked) and `steps` in run order. A step reads earlier values by path: `inputs.<key>`, `steps.<id>` (a step's result, or `steps.<id>.<field>` for one field of it), `steps.<id>.items` (a list or records step's items). A step with `for_each` set to a list path runs once per item and reads `item` (the whole item) or `item.<field>` (one field of a record); a parallel step may read the same position with `steps.<id>.items[index].<field>`. `{{ path }}` interpolates a path into a prompt or template. Every path must be declared before the step that reads it; validation names the step and the field. |

## Example call

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_recipe",
    "arguments": {
      "action": "arm",
      "model_kind": "image",
      "name": "<name>",
      "description": "<description>"
    }
  }
}
```

## Input schema

As the server sends it in `tools/list`:

```json
{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "arm",
        "run",
        "reprompt"
      ]
    },
    "model_kind": {
      "type": "string",
      "enum": [
        "image",
        "video",
        "tts",
        "music"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 40
      },
      "maxItems": 12
    },
    "cover_shape": {
      "type": "string",
      "enum": [
        "square",
        "landscape",
        "portrait"
      ]
    },
    "highlights": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 120
      },
      "maxItems": 5
    },
    "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-fast",
        "seedance-2.0-mini",
        "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",
        "sync-lipsync-2",
        "kling-lip-sync",
        "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",
        "minimax-music-2.6",
        "eleven-music"
      ]
    },
    "allowed_models": {
      "type": "array",
      "items": {
        "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-fast",
          "seedance-2.0-mini",
          "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",
          "sync-lipsync-2",
          "kling-lip-sync",
          "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",
          "minimax-music-2.6",
          "eleven-music"
        ]
      },
      "minItems": 1,
      "maxItems": 24
    },
    "recommended_model": {
      "anyOf": [
        {
          "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-fast",
            "seedance-2.0-mini",
            "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",
            "sync-lipsync-2",
            "kling-lip-sync",
            "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",
            "minimax-music-2.6",
            "eleven-music"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "config": {
      "type": "object",
      "properties": {
        "schema_version": {
          "type": "number",
          "const": 1
        },
        "creative_field": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 60,
                  "default": "What should happen?"
                },
                "placeholder": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                "helper_text": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 240
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "max_length": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 4000,
                  "default": 2000
                },
                "empty_prompt": {
                  "type": "string",
                  "maxLength": 4000,
                  "default": ""
                }
              },
              "required": [
                "placeholder"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "prompt_template": {
          "type": "string",
          "minLength": 1,
          "maxLength": 12000
        },
        "slots": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40,
                "pattern": "^[a-z][a-z0-9_]*$"
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 60
              },
              "helper_text": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 240
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "media_kind": {
                "type": "string",
                "enum": [
                  "image",
                  "video",
                  "audio"
                ]
              },
              "binding": {
                "type": "string",
                "enum": [
                  "references",
                  "first_frame",
                  "last_frame",
                  "reference_images",
                  "reference_videos",
                  "reference_audios"
                ]
              },
              "required": {
                "type": "boolean",
                "default": false
              },
              "max_items": {
                "type": "integer",
                "minimum": 1,
                "maximum": 6,
                "default": 1
              },
              "filled_prompt": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              },
              "empty_prompt": {
                "type": "string",
                "maxLength": 1000,
                "default": ""
              },
              "subject": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "kinds": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "character",
                            "location",
                            "product",
                            "prop",
                            "wardrobe"
                          ]
                        },
                        "minItems": 1,
                        "maxItems": 5
                      },
                      "parts": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "identity",
                            "sheet",
                            "voice"
                          ]
                        },
                        "minItems": 1,
                        "maxItems": 3
                      },
                      "max_views": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 6,
                        "default": 1
                      }
                    },
                    "required": [
                      "kinds",
                      "parts"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "key",
              "label",
              "media_kind",
              "binding",
              "filled_prompt"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "default": []
        },
        "choices": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40,
                "pattern": "^[a-z][a-z0-9_]*$"
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40
              },
              "helper_text": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 240
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "options": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 40,
                      "pattern": "^[a-z][a-z0-9_]*$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 32
                    },
                    "prompt": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    }
                  },
                  "required": [
                    "value",
                    "label",
                    "prompt"
                  ],
                  "additionalProperties": false
                },
                "minItems": 2,
                "maxItems": 16
              },
              "max_picks": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16,
                "default": 1
              },
              "shown_when": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "choice": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 40,
                        "pattern": "^[a-z][a-z0-9_]*$"
                      },
                      "values": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 40,
                          "pattern": "^[a-z][a-z0-9_]*$"
                        },
                        "minItems": 1,
                        "maxItems": 16
                      }
                    },
                    "required": [
                      "choice",
                      "values"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              }
            },
            "required": [
              "key",
              "label",
              "options"
            ],
            "additionalProperties": false
          },
          "maxItems": 12,
          "default": []
        },
        "preset_policies": {
          "type": "object",
          "properties": {
            "style": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "const": "editable"
                    },
                    "required": {
                      "type": "boolean",
                      "default": false
                    },
                    "default": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "families": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "photorealistic",
                          "cinematic",
                          "3d_animation",
                          "cartoon",
                          "anime",
                          "pan_tilt",
                          "zoom_lens",
                          "dolly_track",
                          "slide_orbit",
                          "handheld_body",
                          "drone_crane",
                          "specials"
                        ]
                      },
                      "minItems": 1
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 60
                    },
                    "helper_text": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 240
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "mode"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "const": "fixed"
                    },
                    "preset": {
                      "$ref": "#/properties/config/properties/preset_policies/properties/style/anyOf/0/properties/default"
                    },
                    "reason": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 240
                    }
                  },
                  "required": [
                    "mode",
                    "preset",
                    "reason"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "const": "unused"
                    }
                  },
                  "required": [
                    "mode"
                  ],
                  "additionalProperties": false
                }
              ],
              "default": {
                "mode": "unused"
              }
            },
            "motion": {
              "$ref": "#/properties/config/properties/preset_policies/properties/style",
              "default": {
                "mode": "unused"
              }
            },
            "lighting": {
              "$ref": "#/properties/config/properties/preset_policies/properties/style",
              "default": {
                "mode": "unused"
              }
            },
            "framing": {
              "$ref": "#/properties/config/properties/preset_policies/properties/style",
              "default": {
                "mode": "unused"
              }
            }
          },
          "additionalProperties": false,
          "default": {}
        },
        "shortcuts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40,
                "pattern": "^[a-z][a-z0-9_]*$"
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 24
              },
              "icon": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "sparkles",
                      "music",
                      "plane",
                      "utensils",
                      "dumbbell",
                      "mic",
                      "camera",
                      "film",
                      "shirt",
                      "sun",
                      "moon",
                      "wand",
                      "user"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "target": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "guided"
                      },
                      "library_key": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80,
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                      },
                      "slot_key": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 40,
                        "pattern": "^[a-z][a-z0-9_]*$"
                      },
                      "creative_prompt": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2000
                      }
                    },
                    "required": [
                      "kind",
                      "library_key",
                      "slot_key",
                      "creative_prompt"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "composer"
                      },
                      "model_kind": {
                        "type": "string",
                        "enum": [
                          "image",
                          "video"
                        ]
                      },
                      "binding": {
                        "$ref": "#/properties/config/properties/slots/items/properties/binding"
                      },
                      "creative_prompt": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2000
                      }
                    },
                    "required": [
                      "kind",
                      "model_kind",
                      "binding",
                      "creative_prompt"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "voice"
                      }
                    },
                    "required": [
                      "kind"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "subject"
                      },
                      "part": {
                        "type": "string",
                        "enum": [
                          "identity",
                          "sheet"
                        ]
                      },
                      "subject_kinds": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "character",
                            "location",
                            "product",
                            "prop",
                            "wardrobe"
                          ]
                        },
                        "minItems": 1,
                        "maxItems": 5
                      }
                    },
                    "required": [
                      "kind",
                      "part",
                      "subject_kinds"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            },
            "required": [
              "key",
              "label",
              "target"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "default": []
        }
      },
      "required": [
        "schema_version",
        "prompt_template"
      ],
      "additionalProperties": false
    },
    "suggested_params": {
      "type": "object",
      "additionalProperties": {}
    },
    "writer": {
      "type": "object",
      "properties": {
        "schema_version": {
          "type": "number",
          "const": 1
        },
        "system": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
        },
        "vision": {
          "type": "boolean",
          "default": true
        },
        "max_length": {
          "type": "integer",
          "minimum": 200,
          "maximum": 4000,
          "default": 2000
        }
      },
      "required": [
        "schema_version",
        "system"
      ],
      "additionalProperties": false
    },
    "definition": {
      "type": "object",
      "additionalProperties": {},
      "description": "A workflow: `inputs` (what the presser is asked) and `steps` in run order. A step reads earlier values by path: `inputs.<key>`, `steps.<id>` (a step's result, or `steps.<id>.<field>` for one field of it), `steps.<id>.items` (a list or records step's items). A step with `for_each` set to a list path runs once per item and reads `item` (the whole item) or `item.<field>` (one field of a record); a parallel step may read the same position with `steps.<id>.items[index].<field>`. `{{ path }}` interpolates a path into a prompt or template. Every path must be declared before the step that reads it; validation names the step and the field."
    }
  },
  "required": [
    "action",
    "model_kind",
    "name",
    "description"
  ],
  "additionalProperties": false
}
```

## Related tools

- [`publish_recipe`](https://meetkuro.com/agents/tools/publish_recipe.md): Put a recipe you own on the public wall under your byline, or take it down with `published: false`.
- [`submit_recipe`](https://meetkuro.com/agents/tools/submit_recipe.md): Offer a recipe you own to the official catalog, or withdraw the offer with `submitted: false`.
- [`save_recipe_from_generation`](https://meetkuro.com/agents/tools/save_recipe_from_generation.md): Turn a finished image or clip into a private recipe that makes more of it.
- [`remix_recipe`](https://meetkuro.com/agents/tools/remix_recipe.md): Copy a catalog recipe you can read onto your own shelf, as it is today — a curator re-authoring the original later cannot change your copy.
- [`get_recipe`](https://meetkuro.com/agents/tools/get_recipe.md): Get one recipe by id — a look or a guided recipe, with its recommended models, creative guidance, and media slots.

---

## About Kuro

Kuro is an AI picture studio: prompt-driven images, clips, voice-overs and music, and storyboard-backed films with consistent characters across every scene.

Agents connect over MCP and can generate directly:

```
claude mcp add kuro https://api.meetkuro.com/mcp --transport http
```

The app is at https://app.meetkuro.com and requires an account.

Each guide, model page, comparison and free tool page on this site (not a tool's variants, and not the index pages) has a Markdown twin at its own URL plus `.md`, and so do /benchmarks/, the English /agents/ page (as /agents.md) and the MCP tool reference. Every tool: https://meetkuro.com/agents/tools/
