Install
$ agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-marketing-studio ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
About
Higgsfield Marketing Studio
QUICK FACTS
Generated-checked block (build_index.py verifies anchors). Read the linked sections for full context — these lines are routing aids, not the rules themselves.
- Hard duration cap: 4–15s per clip; out-of-range values get clamped; longer narrative = multi-clip sequence edited externally [→](#7-generation-parameters)
- 9 presets: UGC, Tutorial, Unboxing (
ugc_unboxing), Hyper Motion, Product Review, TV Spot, Wild Card, UGC Virtual Try On, Pro Virtual Try On [→](#3-the-9-presets) - Pro Virtual Try On slug is
virtual_try_on, NOTpro_virtual_try_on[→](#slug-naming-is-canonical-routing-mode-lives-on-a-different-mcp-call) - Preset routing happens via
show_marketing_studio.mode—generate_videohas NOmodeparameter at all [→](#slug-naming-is-canonical-routing-mode-lives-on-a-different-mcp-call) - Hook + setting picklists on FIVE presets only: UGC, Tutorial, Unboxing, Product Review, UGC Virtual Try On (NOT Pro Virtual Try On) [→](#4-hook-setting-picklists)
- 9 hooks (4 stunt / 5 subtle) as of 2026-05-18 — picklists drift; enumerate live for current UUIDs [→](#hooks-9-entries-as-of-2026-05-18-visual-scene-templates-not-verbal-copy)
- 14 settings (8 realistic / 6 unrealistic) as of 2026-05-18, passed by UUID as
setting_id[→](#settings-14-entries-as-of-2026-05-18-environment-templates) avatarsarray MUST contain exactly one entry; emptyavatars: []substitutes a random face per render — always pass one [→](#avatar-field-constraints-consolidated)- Two-person scenes: primary in
avatars, secondary as a reference image inmedias[→](#avatar-field-constraints-consolidated) avatarsandmediasare top-level siblings ofparams— NOT nested underparams; wrong nesting rejects [→](#avatars-is-a-separate-top-level-media-slot-not-a-nested-parameter)promptis optional;aspect_ratioenum: auto/21:9/16:9/4:3/1:1/3:4/9:16;resolution: 480p/720p/1080p (default 720p) [→](#7-generation-parameters)- No
get_cost: truepreflight for MS — verify spend post-hoc viatransactions(limit=200)[→](#what-is-not-in-the-schema) - Three MS models exist:
marketing_studio_video(this skill),marketing_studio_image,ms_image— callms_image"DTC Ads" with users [→](#three-marketing-studio-models-exist-this-sub-skill-covers-the-video-one) - Three avatar types: preset (~40 in library), uploaded, text-generated [→](#three-avatar-types)
- TV Spot has a default packshot beat — negate explicitly ("ABSOLUTELY NO PACKSHOT") when unwanted [→](#3-the-9-presets)
- Flowing AND sectioned prompt styles both render — "no section labels" is craft opinion, not an engine constraint; default flowing under 50 words [→](#8-output-prompt-style-flowing-or-sectioned-not-a-hard-rule)
- Cannot do: >15s clips, non-human lip-sync, multi-character dialogue, multi-setting single output, free-form hook/setting IDs, >1 avatar [→](#9-what-marketing-studio-cannot-do)
- Escape hatches when MS can't render it: Wan 2.7, Veo 3.1, Cinema Studio Video 3.0, Seedance 2.0, Kling 3.0 [→](#escape-hatch-models-for-what-ms-cant-render)
- Budget anchor: ~$0.06/credit ≈ ~$9 per video (the more credible of two non-canonical rate samples) [→](#use-the-higher-anchor-for-budget-planning)
Marketing Studio is Higgsfield's opinionated short-form ad-video product. Generations are bounded by a 4–15 second per-clip cap [Phase 0: Probe 0.3-b], routed through one of nine named presets that dictate camera language, register, and the available picklist of hooks and settings. It's distinct from Higgsfield's general video models (Soul, Seedance, Cinema Studio) — those let you write whatever you want; Marketing Studio enforces ad-format conventions per preset and ships with a built-in library of preset hooks, settings, and avatars.
This sub-skill covers Marketing Studio video. The two image-side Marketing Studio surfaces (marketing_studio_image and ms_image / "DTC Ads") are named in §2 but covered in the companion cross-surface-workflow.md.
1. What Marketing Studio is
Marketing Studio is a routing layer on top of generate_video for short-form ad creative. You provide a product image (required) plus optional avatar, location, and additional-asset references. You pick one of nine presets. You optionally write a prompt. Marketing Studio handles the rest — camera language, pacing, hook execution, setting context — per the preset's built-in conventions.
The opinionated thing about Marketing Studio is that the preset choice is load-bearing. Pick Hyper Motion and you get kinetic product hero shots with an auto pack-shot at the end [SRT-2:00:13:33]. Pick TV Spot and you get composed cinematic narrative — sometimes from a five-word prompt when the asset references carry the weight [SRT-3:00:18:30; PDF items 12, 13]. Pick Wild Card and you get permission to break ad-grammar conventions [director:L113–L117; PDF items 10, 11]. The presets aren't decoration; they choose the production rules.
When Marketing Studio isn't the right tool:
- If your video needs to run longer than 15 seconds — Cinema Studio (
higgsfield-cinema) covers narrative length, or use one of the escape-hatch models in §9 - If you need character-consistent multi-shot video with lip-sync — Wan 2.7 or Veo 3.1 are designed for sync (per §9 escape hatches)
- If you want free-form video without ad framing — Seedance (
higgsfield-seedance), Soul (higgsfield-soul), or Cinema Studio give you the open canvas Marketing Studio's preset routing closes off
2. Two access surfaces — and three MS models
You reach Marketing Studio two ways:
| Surface | How you reach it | What it exposes | |---|---|---| | Web UI at higgsfield.ai | Browser, direct | Per-generation controls for preset / aspect ratio / quality / duration / hook / setting / avatar / additional asset [SRT-3:00:09:00–00:10:00]. In-app custom avatar generation by text prompt [SRT-3:00:13:00]. In-app product registration by URL scan [SRT-2:00:08:50] | | MCP via mcp.higgsfield.ai/mcp | Custom connector in Claude / Cowork / agent | show_marketing_studio for entity management (presets, hooks, settings, avatars, products, brand kits) + generate_video with model: "marketing_studio_video" for the actual render |
Both surfaces share the same preset / hook / setting / avatar taxonomy. The web UI is what's demonstrated in SRT-2 and SRT-3; the MCP is what higgsfield-content-factory orchestrates programmatically.
Three Marketing Studio models exist — this sub-skill covers the video one
[Phase 0: Probe 0.3-a] surfaced that "Marketing Studio" is three models, not one — source-corpus reconciliation #11:
| Model ID | Display name | Output | Scope in v3.7.13 | |---|---|---|---| | marketing_studio_video | Marketing Studio | video | This sub-skill — 9 ad presets, 4–15s, hook + setting + avatar handling | | marketing_studio_image | Marketing Studio Image | image | Basic product image ads — resolution param only (1k/2k/4k), 11 aspect ratios. Out of scope | | ms_image | DTC Ads | image | Full DTC ad image generation — brand-kit-aware, ad-format styles, batch up to 20, max 14 reference media. Out of scope; named briefly in cross-surface-workflow.md §3 |
> Naming note [from show_marketing_studio MCP tool description]: when discussing ms_image with the user, refer to it as "DTC Ads" — that's the user-facing brand name. The model ID ms_image is internal nomenclature.
This sub-skill scopes to marketing_studio_video. References to "Marketing Studio" below mean the video model unless the surrounding text says otherwise.
3. The 9 presets
The nine presets are the routing layer. Pick one, and Marketing Studio applies its built-in production rules.
| # | Display name | Slug | Hook + setting picklist? | What it's for | Per-preset notes | |---|---|---|---|---|---| | 1 | UGC | ugc | Yes | Realistic single-take social videos with a person + product [Phase 0: Probe 0.1] | Phone-native selfie framing, handheld, eye-level, single continuous take; casual conversational register [director:L52, L77–L81]. ASMR variant: same preset + generate_audio: true + intimate setting + no hook [content-factory L237–L243] | | 2 | Tutorial | tutorial | Yes | Step-by-step how-to / recipe [Phase 0: Probe 0.1] | Stable camera (tripod, overhead rig, locked handheld); cuts allowed between steps; imperative-voice dialogue ("apply," "hold," "press") [director:L83–L87] | | 3 | Unboxing | ugc_unboxing | Yes | High-quality unboxing reveal from packaging | Top-down or 3/4 angle; hands in frame; tactile close-ups on reveal moments [director:L89–L93]. Accepts custom packaging image in the additional-asset slot [SRT-2:00:23:50–00:25:00] | | 4 | Hyper Motion | hyper_motion | No | Kinetic product hero shots — splash, pour, spin, drop | Works WITHOUT an avatar [SRT-2:00:13:00]. Default arc renders "element-by-element assembly" with auto pack-shot at the end [SRT-2:00:13:33]. Accepts logos as the hero subject, not just products [SRT-2:00:14:55–00:15:35; PDF item 8]. Whip pans, orbits, speed ramps [director:L95–L99] | | 5 | Product Review | product_review | Yes | Authentic talking-head review with product in hand | Medium shot of presenter + B-roll inserts of product detail [director:L101–L105]. Measured, observational register; third-person | | 6 | TV Spot | tv_spot | No | Cinematic narrative spots in polished commercial register | Composed dolly / crane / cinematic framing; structured arc (establishing → product → lifestyle → hero/logo) [director:L107–L111]. Can work with five-word prompts when assets carry the load [SRT-3:00:18:30]. Has a default packshot beat that must be explicitly negated when unwanted [PDF item 13: "ABSOLUTELY NO PACKSHOT. NEVER SHOW ISOLATED PRODUCTS."] | | 7 | Wild Card | wild_card | No | Surreal one-shot creative concepts | Permission to break conventional ad grammar; impossible geometry, surreal juxtaposition, unexpected scale [director:L113–L117]. Adil's "favorite preset" [SRT-2:00:18:30] | | 8 | UGC Virtual Try On | ugc_virtual_try_on | Yes | Try-before-buy, casual register | Selfie or mirror framing; casual environment; natural movement (turn, walk, gesture) [director:L119–L122]. Phone-native aesthetic, not overly produced | | 9 | Pro Virtual Try On | virtual_try_on | No [Phase 0: pre-probe finding — see §4] | Editorial / lookbook-style virtual try-on | Studio-quality. Clean backdrop (cyc wall, studio seamless), controlled lighting, composed poses [director:L124–L128]. Orbit / push-in / static editorial framing |
Slug naming is canonical; routing mode lives on a different MCP call
The slug for Pro Virtual Try On is virtual_try_on, not pro_virtual_try_on — non-obvious mapping, verified at [Phase 0: Probe 0.1]. The other eight slugs match their display names predictably.
Preset routing happens via show_marketing_studio.mode, NOT via generate_video.mode. The generate_video schema for marketing_studio_video has no mode parameter at all [Phase 0: Probe 0.3-b]. content-factory L681–L692 documented a "slug mismatch table" claiming generate_video.mode accepts ugc_how_to for Tutorial and product_showcase for Hyper Motion — neither slug exists in the live API [Phase 0: supplementary probe]; the entire premise of that table is wrong. Source-corpus reconciliation #7. The actual routing happens in the show_marketing_studio flow:
1. show_marketing_studio(action='fetch', url='', mode='hyper_motion')
# OR action='create' with uploaded medias[] + mode='hyper_motion'
# This registers the product AND sets the next-step preset.
2. generate_video(params={
model: 'marketing_studio_video',
prompt: '',
duration: 8,
aspect_ratio: '9:16',
resolution: '720p',
generate_audio: false
}, medias=[...], avatars=[...])
The preset chosen in step 1 routes the generation in step 2. No mode parameter on the generate_video call.
4. Hook + setting picklists
Hooks and settings are open-ended picklists you select by UUID. They're available for five of the nine presets, not six.
> Key rule [from generate_video MCP tool description — Phase 0 pre-probe finding]: hook + setting picklists are supported only for UGC, Tutorial, Unboxing, Product Review, and UGC Virtual Try On. Pro Virtual Try On is NOT in the family — contradicts content-factory L193–L194 which included it. Source-corpus reconciliation #10.
> Picklist contents drift over time. The Phase 0 snapshot at the v3.7.13 Phase 0 probes notes (internal build notes) is correct as of 2026-05-18; for canonical current data, run the live enumeration calls below.
Hooks (9 entries as of 2026-05-18) — visual scene templates, not verbal copy
show_marketing_studio(action='list', type='hook', size=100)
[Phase 0: Probe 0.2a] returned 9 hooks, classified by type field as either stunt (4) or subtle (5):
- Stunt: Product Hit, Random Object Mic, Blizzard, Product Dodge
- Subtle: Spicy, Interview, Product Crash, Camera Bump, Epic Fail
Each hook ships with a descriptive prompt field that explains the visual concept. Example — "Interview": "Interviewer asks a second stranger a question based entirely on the first stranger's random answer; confusion builds until the second person naturally notices the product (Erewhon-style aspirational item) and pivots into a casual review." You don't have to use that exact prompt — but the hook's preset structure is what gets baked into the generation.
Pass the hook's UUID as params.hook_id. To skip the hook entirely (still on a hook-eligible preset), omit hook_id.
Settings (14 entries as of 2026-05-18) — environment templates
show_marketing_studio(action='list', type='setting', size=100)
[Phase 0: Probe 0.2b] returned 14 settings, classified by type field:
- Realistic (8): Bedroom, Bathroom, Kitchen, Office, In Car, Street, Gym, Nature
- Unrealistic (6): Airplane Wing, Roofing, Volcano Rim, Tiny Reviewer, Car Roof, Train Surf
Each setting ships with a descriptive prompt field describing the scene. Pass the setting's UUID as params.setting_id.
Live-enumeration discipline
The picklist names listed above are a 2026-05-18 snapshot. New hooks and settings get added; existing ones can be revised. For production work — especially when documenting a campaign or building a multi-shot plan — call the live enumeration first and pull the current UUIDs. Hardcoding UUIDs from a stale snapshot is the failure mode this discipline prevents.
When the user describes a scene that matches a known hook or setting name, you can name the hook / setting in your routing without an upfront live enumeration — Marketing Studio's web UI lets users pick by name from the dropdown [SRT-3:00:09:00, 00:09:40]. The UUIDs only matter when you're hitting the MCP directly.
5. Avatar handling
Marketing Studio takes one avatar per generation. There are three avatar types, and one hard API limit you can't work around without a workaround.
Three avatar types
| Type | How you create it | When to use | |---|---|---| | preset | Pick from the built-in library via show_marketing_studio(action='list', type='avatar'). Returns ~40 preset avatars as of 2026-05-18 [Phase 0: Probe 0.2c] | When you need a generic face fast and don't want to manage your own | | uploaded | Click upload in the web UI, drop an image, give the avatar a name, click "Create avatar" [SRT-2:00:08:55] | When you have a specific person you want to feature (creator, brand ambassador) | | text-generated | In the web UI, click "Create avatar" and type a description prompt — Marketing Studio generates the avatar on the fly. Example prompts: "elegant 60-year-old woman" [SRT-3:00:13:00]; "Asian woman with pink hair, mid-20s, dressed in soft beige and lilac modern fashion" [SRT-3:00:18:00] | When you want a specific look you don't have a r
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: OSideMedia
- Source: OSideMedia/higgsfield-ai-prompt-skill
- License: MIT
- Homepage: https://higgsfield.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.