the price14 / 14
Plan a video
A shot list with durations, chosen models and a per-shot total — a plan to approve, not a clip to watch.
apipod-plan-videoSKILL.md on GitHub
When to use it, and when not to
when to use it
- The user asks to storyboard, scope or budget a video before committing.
- An expensive multi-shot job needs sign-off first.
- The price has to be known before the concept is finalised.
not for
- apipod-short-film — The plan is approved and the shots should now be produced.
- apipod-generate-video — One clip, already defined, no shot list needed.
procedure
5 skillsWhat the skill does, in order.
- 01
Settle scope, not concept
Ask only what cannot be inferred: total length, aspect ratio, whether it needs audio, and where it will run. If the user gave a script or a reference, use it as-is instead of inventing a new concept.
- 02
Build three to five shots
One row per shot: beat, camera, seconds, model, estimated USD. A single shot is not a plan; ten is a budget nobody approved.
- 03
State what carries continuity
Every shot says what survives the cut — the product, the person, the location. Without that column the plan cannot be executed consistently.
- 04
Use durations the model really has
Read get_model_params for the duration enum. Do not round to a number you assume exists — the plan then prices something that cannot be made.
- 05
Price every row, then say nothing was generated
estimate_cost per shot, real numbers in the table, then the total. Call out the shot that dominates the cost, compare against get_balance, and end with a one-line summary plus an explicit "nothing has been generated".
try it
Send it from here
example request
Plan a 15-second launch teaser for our app: shot list, model per shot, real costs — no generation yet.
The buttons open a new chat with this prompt prefilled. If APIPod is not connected yet, the prompt tells your assistant to stop and help you connect first. In Claude Code or a terminal, copy the prompt instead.
Not set up yet? Wiring guides for Claude, ChatGPT, Codex and more →
call trace
list_models (category: "video")
→ candidate models
get_model_params (duration enums)
→ no rounding to assumed values
estimate_cost (per shot)
→ storyboard + total
get_balance ()
→ fits / falls short, in one line
Illustrative: the tools this skill runs, in order, for the request on the left. Prices appear the way estimate_cost returns them live — this page itself quotes nothing.
what it will not do
The rules it holds itself to.
01
Never call generate_video in this skill, not even for "just the first shot". A plan the user has not approved is not authorization to spend.
02
Every number in the table comes from estimate_cost. If a setting cannot be quoted, the row says so instead of showing a guess.
03
If the user wants it cheaper, change length or resolution and re-quote — never silently downgrade the model.