---
name: pika-short-film
description: Use when the user wants one longer video built from several clips or scenes — a short film, story, trailer, montage or multi-scene ad.
---

# Short film from several clips

Use `short_film`; other tools fit only a one-off insert shot. Each call renders consecutive beats of the whole shot list as one continuous clip locked to the cast's stills. Make the stills with `create_image` (or `edit_image` from the user's photos) and pass their output urls as `cast[].image_url`. `style` must be a `styles` id from `list_presets`; put the user's own look in `style_reference_url` or the beats.

Timing: `length_sec` is 8, 15, 30, 60, 90 or 120; `beats` holds at most 8. Each beat runs clamp(round(length_sec / beats), 4, 15) s. A call renders `beat_count` beats from `first_beat` (0-based), at most 30 s of beats for `model` `seedance25` (default) and 15 s for `seedance` and `minimax-h3`.

1. **Plan and price it in one message.** Agree the shot list (camera, action, voiceover per beat), cast, `style` and length, then split the beats into calls that cover every beat once, in order, each within the clip limit. Quote every call (stills, each clip, the score; a clip quoted before its stills exist may omit `cast`, except on autopilot, where a call within the limit runs instead of quoting) and show one total. Follow the quotes' `next`; after a yes, run each call with its quoted `max_credits` while your running total stays within the agreed total.
2. **Create the project.** `create_project` with a name from the premise. Keep its `project_id` for the rest of the task; runs with it take the project's aspect unless you pass one. It starts at 1080x1920, so for `16:9` or `1:1` set its `width` and `height` with `update_timeline` first.
3. **Make each clip.** Every call passes the same `beats`, `cast`, `style`, `length_sec` and `project_id`, with its own `first_beat`, `beat_count` and `request_id`. To check a still or clip (the same character across shots), `get_job` with `preview: true`.
4. **Place the clips.** When the clips are finished, `get_project` for the current `revision`, then one `add_clips` with the clips in beat order (`duration` = `beat_count` × beat seconds); add the `create_audio` score as an `a2` clip with `at: 0, duration: "to_end"`. Refer to clips by the numbers `get_project` gives; the user may be editing in the Pika editor too, so always pass the latest `revision`, and pass a one-line `note` saying what you changed and why.
5. **Export when the user is happy.** `export_project` with a fresh `request_id` (it exports the current timeline). The export panel shows progress; `get_project` shows its status and the `download_url` to share.
6. Offer `pika_soundtrack` to score the finished cut. `show_projects` shows the user their projects.
