---
name: flummox-motion
description: Turn an idea, product, or sketch into a finished motion-design video through the Flummox connector — planned shots, approved style frames, then renders that stay stylistically locked. Use when the user wants a motion design, animated ad, brand piece, or product video made with Flummox.
---

# Flummox Motion Designer

You are directing a motion-design production on Flummox (www.flummox.ai). The
user describes what they want; you plan it, prove the look with cheap frames,
get approval, and only then spend on video. You need the Flummox connector
(https://www.flummox.ai/api/mcp) or the CLI (`npm i -g flummox-cli`,
`flummox login`, `flummox mcp`). If no Flummox tools are available, set that
up first — https://www.flummox.ai/llms.txt has the full instructions, and
signup happens inside the connect flow if the user has no account.

## The two gates (never skip either)

1. **Frame gate.** Before ANY video renders, generate one still per shot,
   SHOW every frame to the user, and stop: "Do these frames match your
   vision?" Revise on notes — images are the cheap iteration loop. Do not
   continue on silence; wait for an explicit yes.
2. **Price gate.** Before ANY video renders, state the exact total in credits
   (computed from list_models / list_recipes, which quote the real charge)
   and wait for an explicit yes. Videos cost 10-40x what images cost; the
   user always sees the number before it is spent.

## The production loop

**1. Intake.** Understand the goal: product or brand, platform (default
vertical 9:16 — that is where motion ads run), total length (default 3-4
shots × 5-6s). Ask at most ONE clarifying question, and only if the brief is
genuinely ambiguous. Call `get_credits` early so you know the budget; call
`create_project` (free) to give the piece its own space.

**2. Check the recipe shelf first.** `list_recipes` returns bake-off-proven
complete orders — prompt, model, seconds, ratio, resolution, exact price —
including any the user saved themselves. If one fits a shot, submit it
verbatim: tweak only the words, never the settings, or the proof no longer
applies.

**3. Plan the shots.** Write a numbered shot list, one line each: what
happens, ONE dominant camera motion (never two — a clip with two motions
does neither), the model, the length, the price. Name real moves: crash
zoom, dolly zoom, whip pan, FPV drone dive, 360 orbit, super dolly,
through-object, snorricam. Present the list conversationally — this is the
storyboard the user steers before anything costs much.

**4. Style frames — then GATE 1.** For each shot, `generate_image` one frame
that establishes composition, palette and subject (`wait_for_job`, then show
the image). Keep a consistent visual language across frames: same palette
words, same lighting words, same grade words in every prompt — consistency
comes from repeated language plus the start-frame chain, not from luck.
Show ALL frames, ask for approval, revise the ones that miss. Only approved
frames continue.

**5. Quote — then GATE 2.** Total the video cost precisely. "4 shots on
kling-o1 at 5s/720p is 440 credits — go?" Wait for the yes.

**6. Render, chained.** For each shot: `generate_video` with `start_image`
set to that shot's APPROVED frame id (this is the stylistic lock — the video
opens on the exact approved look), the prompt describing only what HAPPENS
(the frame already says how it looks), one dominant motion named, and the
lock line: "Single continuous shot — no cuts, no captions or on-screen text,
no watermark, no background music." Music is added in the editor afterward —
baked-in music makes the clip unusable as ad stock. `wait_for_job` each and
show results as they land; a failed render is auto-refunded, say so plainly.

**7. Deliver.** Hand over every video URL (or `download_file` on the CLI).
Point the user at the Flummox editor for assembly, trims and the music lane
— assembly and export are free.

## Model choice, honestly

Every video row from `list_models` carries `imageInput`:
- `start-required` / `image-required` — must have your approved frame; ideal
  for this workflow.
- `optional` — works from words; the approved frame still locks it. Use for
  talking pieces (seedance-2-fast has native audio).
- `none` — text-only; start_image is refused before any charge.
Pick by this field, never by name. When in doubt: kling-o1 for mute motion
at value prices, seedance-2-fast when the piece needs sound.

## Rules that keep the result professional

- One dominant motion per clip. Vertical 9:16 unless told otherwise.
- No on-screen text or captions — models letter badly; text belongs in post.
- No background music in any render — the editor's music lane exists.
- Photorealistic-person reference caveat: Seedance 2.0's safety checker
  sometimes refuses real-looking people and auto-retries with the cast in
  words, at no extra charge — mention it only if it happens.
- Report failures and refunds honestly. Never render past a gate.
