Skip to main content
ClaudeWave
Skill214 repo starsupdated 7d ago

higgsfield-motion-design

End-to-end motion-design / animated-ad creation flow on Higgsfield via the MCP connector. Use when the user wants to create motion design, animate a logo, make a video from an image, build an animated ad or brand promo, turn a product into motion, or says 'make a motion', 'motion design', 'animate this', 'make a video from my logo', 'animated brand', 'motion graphics', 'brand motion', 'kinetic graphics', 'promo video', or 'ad video'. Drives a storyboard-first pipeline: brief → storyboard sheet (GPT Image 2) → video (Seedance 2.0) — an AI-generated pixel video clip. Distinct from higgsfield-motion (the named camera/motion preset library) and from higgsfield-vibe-motion (deterministic Remotion code with crisp text); use vibe-motion instead when the text/logo must stay perfectly crisp, editable, and deployable as code.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/OSideMedia/higgsfield-ai-prompt-skill /tmp/higgsfield-motion-design && cp -r /tmp/higgsfield-motion-design/skills/higgsfield-motion-design ~/.claude/skills/higgsfield-motion-design
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Higgsfield Motion Design

A full motion-design creation flow run through the Higgsfield MCP connector. Follow the steps in order, be concise and direct, and **reply in the user's language**. This skill is the guided *ad/brand-motion* pipeline — for the named camera/motion preset library (Explosion, Werewolf, Air Bending, etc.) use `higgsfield-motion` instead.

> **Not a spec sheet.** Model parameter enums (resolutions, modes, durations) come from the specs layer / `models_explore` — verify there (HARD RULE #3), don't hardcode them here.

## QUICK FACTS
- Two flows: **classicMD** (smooth, elegant, cinematic) vs **highMD** (fast cuts, extreme dynamics, CGI energy) — pick before anything else [→](#step-0-determine-the-flow-type)
- Ask **all** brief questions in ONE message — never split intake into rounds [→](#step-1-brief-intake-one-message)
- Storyboard = **one** image: a single grid sheet with all N panels via GPT Image 2 — never N separate images [→](#step-3-generate-the-storyboard)
- Final video = **Seedance 2.0** (`seedance_2_0`); confirm the model id with `models_explore` if unsure [→](#step-4-generate-the-video)
- highMD rule: no realistic humans — silhouettes, chrome figures, or 3D abstract shapes only [→](#notes-rules)
- highMD rule: the logo lock is a static hold proportional to clip length (~1s / ~2s / ~2–3s for 5 / 10 / 15s) [→](#step-4-generate-the-video)

---

## STEP 0 — Determine the flow type

Identify which workflow applies before anything else:

- **classicMD** — standard ads, brand promos, service presentations, logo reveals, general atmospheric content. Smooth transitions, elegant typography, cinematic feel.
- **highMD** — sports promos, tech launches, music teasers, AI-capability demos, fashion drops. Extreme camera speed, aggressive cuts, peak dynamics; realistic people are replaced by silhouettes, chrome elements, or 3D abstract figures.

If the request makes the flow obvious, proceed silently. If ambiguous, ask once:
> "Which style fits your project better — **Classic Motion** (smooth, elegant, cinematic) or **Hyper / Kinetic** (fast cuts, extreme dynamics, CGI energy)?"

---

## STEP 1 — Brief intake (one message)

Ask all of these in a **single** message (never split into rounds). Save every answer before proceeding:

1. **Existing assets?** — Yes (upload logo / product photo / reference) · No (help me create the visual)
2. **Duration** — 5s (teaser / logo sting) · 10s (standard post / stories) · 15s (promo / product video)
3. **Frame format** — 16:9 (horizontal) · 9:16 (vertical Reels/TikTok/Stories) · 1:1 (square feed)
4. **Mood / style** *(free input)* — e.g. energetic, minimalist, luxury, technological, atmospheric, aggressive, cinematic
5. **Brand / product name and tagline** *(if any)*
6. **Storyboard frames** — 6 (standard) · 8 (detailed) · 9 (maximum coverage)

---

## STEP 2 — Asset handling

**If the user HAS assets:** when the client is an Apps UI-capable surface, call `media_upload_widget` immediately so they can attach the local file (remote MCP cannot read chat attachments). For a web media URL, call `media_import_url` first and pass the returned `media_id`. Then proceed to Step 3.

**If the user has NO assets:** generate a base visual with **GPT Image 2** (`generate_image`, model `gpt_image_2`) — construct the prompt from brand name, mood, style, palette, aspect ratio. Display the result with `job_display`, ask "Does this work or want changes?", regenerate if needed, then proceed once approved.

---

## STEP 3 — Generate the storyboard

The core creative step. Generate **one** storyboard sheet — a single image with all N panels in a grid (N = the count from Step 1: 6, 8, or 9). Do **not** generate N separate images.

Call `generate_image` **once** with **GPT Image 2**, passing the approved asset / base visual as a reference. Each panel must: stay visually consistent with the approved asset · represent a distinct moment (opening → build → climax → resolution → logo lock) · show camera position, subject state, motion blur/freeze where relevant · carry a 2–4 word burned-in caption (scene label, not subtitle).

- **classicMD panels:** smooth compositions, elegant typography zones, cinematic lighting.
- **highMD panels:** peak-action freeze frames — frozen splashes, shattered elements, material stretch, aggressive angles, neon contrast.

Prompt skeleton:
```
Storyboard sheet, [N] sequential panels in a grid, each labeled "Frame 1"…"Frame N".
Panel 1: [scene]. Panel 2: [scene]. … Panel N: [logo lock / brand name].
Each panel: [camera angle], [motion state], [mood/lighting]. Style: [cinematic / kinetic].
Consistent color palette throughout. Clean storyboard design, thin borders between panels.
```

Display with `job_display`, then present a short storyboard summary (Frame 1…N one-liners + Mood + Motion + Ending) and ask: **Approve ✅** or **Changes needed** (regenerate the sheet, repeat approval).

---

## STEP 4 — Generate the video

Once the storyboard is approved, generate the final video with **Seedance 2.0** (`generate_video`, model `seedance_2_0` — confirm the id via `models_explore` if unsure). Build the prompt from: the approved scene sequence, the flow type, duration + aspect ratio (Step 1), mood/style, and the brand name/slogan for the logo lock.

- **classicMD:** `smooth motion design, [scene flow], elegant transitions, [mood] atmosphere, cinematic camera movement, [duration]s, brand reveal at end: [brand], [aspect ratio]`
- **highMD:** `high-intensity kinetic motion, [scene flow], extreme camera speed, aggressive match-cuts, peak-action freeze frames, [mood] CGI aesthetic, neon contrast, [duration]s, hard-stop logo lock: [brand], [aspect ratio]`

For highMD, the final seconds must be a **static hold** on the brand/logo — build it into the prompt explicitly, scaled to clip length (~1s for 5s, ~2s for 10s, ~2–3s for 15s).

Pass as the start frame: the original uploaded asset if the user had one, otherwise the first approved storyboard frame's