plan shots
plan_shotsFirst review and rewrite the beat list (see brief_review): Atlas parses briefs with rules, so fix non-shots, missing subjects, placeholder lines and generic coverage before writing prompts. If the user names a model or mode, pass it in model/mode (it is kept for every shot unless the docs rule it out). Returns a GUIDANCE PACKAGE, not final prompts: you (the agent) write each full video prompt yourself from it. Per shot: model + mode decision with reasons, the per-model/per-mode prompt structure and tips, 2-3 credited proven example prompts, capabilities/limits/prices with sources, techniques and director rules (practitioner hints at low weight), required assets with image-gen guidance, an 11-section quality checklist, and a starter draft (starting point only, never paste it as-is). If the user names a model or mode, pass it in model/mode (or keep it verbatim in description): Atlas keeps it for every shot unless the vendor docs rule it out, and explains why in user_named. Write each final prompt as flowing, sectioned prose sentences (subject/action, camera/lens/movement, location/light/color, style, audio), never field labels like speaker_id: or Subject:, and without stock filler phrases. Also returns intake (questions to ask the user + stated assumptions) and package_markdown (readable). Plan a multi-shot AI video from a plain description (deterministic, built only from Atlas data; no AI generation). Output is staged: decide (model/mode/clip length/aspect/cost with reasons and capability checks), direct (shot list with per-model prompts), assets (every reference/frame with status needs-generation|user-supplied|approved), image_prompts, and steps, which include a STOP: get the user to approve assets before generating any video. Global directives (same X in every shot, vertical, no text, style) apply to all shots; questions and request wording are never planned as shots; an explicit shot count is honored; clips longer than an endpoint's documented max are split. The description is split into beats (sentences, clauses, and cues like "then", "cut to", "close-up", "wide"). For each beat it returns a shot type; a recommended model endpoint with its current vendor-stated $/s and source; the generation mode to use (t2v, i2v, reference-to-video, start/end frame, v2v, lip sync; only modes the vendor docs confirm) with a one-line reason; image prompts for any input frames, plus a shared character/product reference sheet when shots must match; an adapted prompt built from the best-matching sourced example (credited and linked), an estimated cost (5 s per shot by default), and a how-to workflow when one applies (lip sync, consistent character…). It also returns a total. budget_usd (total) and/or max_per_shot steer it to cheaper supported endpoints; each shot also offers a cheaper alternative with its cost, and the plan says if the budget can't be met. Use this for "plan / storyboard / make me a video of…" requests; use find_shot for a single shot. Before presenting, adapt the wording to the user's voice, context and brand (names, tone, product details), but keep the prices, models, modes, clip lengths and reference tags exactly as returned.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Generation mode the user named. Kept for every shot unless the model cannot do it. | |
| model | No | Model the user named (e.g. "Seedance 2.5"). Atlas keeps it for every shot unless the vendor docs rule it out, and then says why. Always pass it when the user names one. | |
| style | No | Optional look applied to every shot, e.g. "35mm film, warm grade" or "anime". | |
| retries | No | Optional retry allowance as a cost multiplier (e.g. 1.5 = budget 50% extra generations for rejected takes). | |
| budget_usd | No | Optional total budget in USD. | |
| force_plan | No | Return a shot plan even when the request reads as a pricing-only question | |
| description | Yes | What the video should show, in plain words. Several beats are fine. | |
| clip_seconds | No | Seconds per shot (default 5). | |
| max_per_shot | No | Optional maximum USD per shot. |