---
title: "animate_scenes: Animate scenes"
description: "Film the scenes you name, or every scene whose still is ready and whose clip is not."
canonical_url: "https://meetkuro.com/agents/tools/animate_scenes/"
updated: 2026-11-03
locale: "en"
tool: "animate_scenes"
scopes: ["generation.write","storyboards.write"]
---

# animate_scenes

**Animate scenes**

Film the scenes you name, or every scene whose still is ready and whose clip is not. This spends credits and returns as soon as the work is dispatched; poll get_storyboard. A scene is animated from its own still, so generate the stills first and look at them — a clip of a ruined frame costs the same as a clip of a good one. A morph travels from this scene's still to another scene's, and NEVER describe the transformation in the motion prompt: the model is already interpolating between the two frames, and a prompt that also describes the change makes it happen twice. A morph has one destination and a model belongs to one take, so both are refused on more than one scene rather than half-applied after the credits are gone. Pass quote to price the batch without filming anything.

## Scope

- `generation.write` — Makes, edits, imports, shares and deletes media in the account.
- `storyboards.write` — Authors, edits, renders and deletes storyboards. Reading a board rides media.read, and the two board tools that spend need generation.write as well.

## Behaviour

- **Writes**: Creates or changes items in the caller's own account.
- **Can delete or overwrite**: Can delete, overwrite, cancel or withdraw something the caller already has, so a host should confirm it.
- **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.

## Credits

What the tool's description says about credits, verbatim:

- This spends credits and returns as soon as the work is dispatched; poll get_storyboard.
- A morph has one destination and a model belongs to one take, so both are refused on more than one scene rather than half-applied after the credits are gone.

## Inputs

| Name | Type | Required | Details |
| --- | --- | --- | --- |
| `storyboard_id` | string | yes | uuid |
| `scenes` | array of integer | no | at least 1 item; at most 30 items |
| `all_ready` | true | no | — |
| `reference_scenes` | array of integer | no | at most 4 items |
| `references` | array of object (type: "upload") or object (type: "generation") | no | at most 7 items |
| `reference_videos` | array of object (type: "upload") or object (type: "generation") | no | A clip whose camera and timing the model should follow — what match_scene_motion answers with. One scene only. — at most 1 item |
| `morph_into_scene` | integer | no | > 0 |
| `model` | string | no | one of "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" |
| `quote` | boolean | no | — |
| `idempotency_key` | string | no | at least 1 character; at most 128 characters |

## 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": "animate_scenes",
    "arguments": {
      "storyboard_id": "00000000-0000-4000-8000-000000000000"
    }
  }
}
```

## Input schema

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

```json
{
  "type": "object",
  "properties": {
    "storyboard_id": {
      "type": "string",
      "format": "uuid"
    },
    "scenes": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0
      },
      "minItems": 1,
      "maxItems": 30
    },
    "all_ready": {
      "type": "boolean",
      "const": true
    },
    "reference_scenes": {
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0
      },
      "maxItems": 4
    },
    "references": {
      "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
          }
        ]
      },
      "maxItems": 7
    },
    "reference_videos": {
      "type": "array",
      "items": {
        "$ref": "#/properties/references/items"
      },
      "maxItems": 1,
      "description": "A clip whose camera and timing the model should follow — what match_scene_motion answers with. One scene only."
    },
    "morph_into_scene": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "model": {
      "type": "string",
      "enum": [
        "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"
      ]
    },
    "quote": {
      "type": "boolean"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  },
  "required": [
    "storyboard_id"
  ],
  "additionalProperties": false
}
```

## Related tools

- [`get_storyboard`](https://meetkuro.com/agents/tools/get_storyboard.md): Read a film: its settings, its cast, every scene by number with its prompts and the state of its still and its clip, each derived video with how many clips it has and whether it can render, the computed still order, and the history depth.
- [`match_scene_motion`](https://meetkuro.com/agents/tools/match_scene_motion.md): Cut the stretch of source video a scene was read from, so a clip model can be shown the original's camera and timing.
- [`apply_storyboard_template`](https://meetkuro.com/agents/tools/apply_storyboard_template.md): Make a new storyboard from a template: every scene and connection, unshot.

---

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