Higgsfield Generate
Submit jobs to any Higgsfield model. Wraps the higgsfield CLI. Covers generic image/video gen, Marketing Studio (branded ads, avatars, products, hooks, settings), and, secondarily, Virality Predictor video scoring.
Step 0 — Bootstrap
Before any other command:
- If
higgsfieldis not on$PATH, install it:curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh - If
higgsfield account statusfails withSession expired/Not authenticated, ask the user to runhiggsfield auth login(interactive) and wait for confirmation.
UX Rules
- Be concise. No raw IDs, no JSON dumps in chat. Print the media URL for generated assets, or the text summary for Virality Predictor.
- No internal jargon. Don't narrate "calling higgsfield cost", "polling job".
- Detect the user's language from the first message and reply in it. Technical args (
--aspect_ratio 16:9) stay English. - Don't batch-ask. Pick a sane default model and ask one thing at a time only if genuinely missing.
- Don't pre-estimate cost or optimize for cheaper models unless the user asks. Prefer the quality default first.
- Pass
--waittogenerate createso the command blocks until done and prints the result URL itself. Avoid the two-stepcreate→waitpattern.
Discovery guardrail
When looking for a Higgsfield feature/model, do not rely only on semantic search or CLI --help. First run an unfiltered model list, then inspect likely job_set_type names. If the user says a model exists but search returns no results, trust that signal and verify with the full model list before answering.
Virality Predictor is exposed as:
- Customer-facing name: Virality Predictor
- Technical
job_set_type:brain_activity - Category/output: text report. This is video-in/text-out analysis, not a text/chat generation model.
- Input: uploaded video
- Purpose: finished-video hook, attention, retention, and virality analysis
If the user says "analyze this video", "score this ad", "evaluate the hook", or similar, route to brain_activity even though it appears under text/analysis models. Classify by task intent and required input, not by output category alone.
Workflow — generic generation
-
Pick a model. Start with the core defaults unless the brief clearly needs a specialist:
- GPT Image 2 → default image model for high-fidelity general generation, graphic design, UI, banners, typography, and on-image text.
- Seedance 2.0 → default video model for serious motion, cinematic clips, multi-shot work, image-to-video, and 4–15s production-quality output. 12s is valid.
- Nano Banana 2/Pro → default for character, cartoon, stylized, and reference-driven image work; use Pro for harder briefs.
- Marketing Studio → default for ads, UGC, product demos, unboxing, TV spots, presenter videos, and brand/product workflows.
Image:
- Brand product visual (Pinterest pin, lifestyle, hero banner, ad pack, virtual try-on) → use
higgsfield-product-photoshootinstead. NOT this skill. - Generated product concept / packaging / can / bottle with brand name or label text → GPT Image 2.
- Branded ad image with avatar + product (Marketing Studio shape) → Marketing Studio Image (see Marketing Studio below)
- Aesthetic UGC / fashion editorial / lifestyle character → Soul 2.0
- Cinematic still frame → Soul Cinema
- Highly characterful creative persona (text-only, distinctive) → Soul Cast
- Locations / environments / no-people scenes → Soul Location (best in class)
- Vector illustrations OR face edit + complex scene swap → Seedream 4.5
- Soul Character (reference id from
higgsfield-soul-id) → Soul 2.0 for stills, Soul Cinema for cinematic - Character or cartoon-style work → Nano Banana 2; step up to Nano Banana Pro on hard cases
- Fast and cheap iteration → Z Image
- Default for everything else → GPT Image 2. Graphic design, UI, banners, typography, and high-fidelity general generation.
Video:
- All advertising / commercial / branded ad video → Marketing Studio (see Marketing Studio below)
- Default all-purpose serious video (multi-shot, consistent identity, motion-heavy, image-to-video, 4–15s requests) → Seedance 2.0. SOTA. Do not downgrade to Seedance 1.5 just because its duration enum is easier to read; validate Seedance 2.0 first.
- Single-plane scene without strong dynamics, cheaper than Seedance 2.0 → Kling 3.0
- Cheap clean shot without cuts, only when the user asks for cheaper/budget output → Seedance 1.5 Pro
- Cinema-grade highest fidelity → Cinema Studio Video 3.0
- Cheap with strong physics, no audio needed → Minimax Hailuo
- Fast batch / volume → Veo 3.1 Lite
Video analysis:
- Rate a finished video's hook, virality potential, attention, retention, or distraction risk → Virality Predictor (
brain_activity). This is a video analysis model that returns a text score/report, not a generated media asset.
For the actual
--modelID to pass tohiggsfield generate create, runhiggsfield model list --json | jqto map display names to IDs. Seereferences/model-catalog.mdfor the full table. -
Pass media inputs straight to flags. Media flags accept a local file path or a UUID. CLI auto-uploads paths and auto-detects job vs upload for UUIDs. No need to pre-upload. Each model declares accepted roles (
image,start_image,end_image,video,audio) — seereferences/media-inputs.md. -
Validate quickly. If unsure of params, run
higgsfield model get <jst> --jsononce and pass only what's needed. Validate the preferred model before falling back to an older one. Use schema defaults otherwise. The server returnsadjustmentsfor non-fatal coercions (e.g.aspect_ratio=99:99→ closest match) and a structured error for invalid declared-param values. -
Submit and wait in one shot.
higgsfield generate create <jst> [--prompt "..."] [media flags] [param flags] --wait. Blocks until terminal status and prints the result on stdout. Tunables:--wait-timeout 20m(default 10m),--wait-interval 5s(default 3s). Virality Predictor does not need a prompt; pass--video. -
Deliver. For generated media, send the URL plus a one-line summary (model, duration if video). For Virality Predictor, deliver the scores, business interpretation, and the Open report link. Do not surface
.glb,.bin, or region-table internals in normal chat output.
To inspect or rerun later, higgsfield generate list --json and higgsfield generate get <id> --json work for retrospection. higgsfield generate wait <id> is still available if you ever need to rejoin a job started without --wait.
Media flags
| Flag | Purpose | Models that accept it |
|---|---|---|
--image <path-or-id> | reference image | most image models, seedance_2_0, veo3, marketing_studio_video |
--start-image <path-or-id> | first frame for image-to-video transitions | kling3_0, kling2_6, veo3_1, seedance_2_0, marketing_studio_video |
--end-image <path-or-id> | last frame for transitions | kling3_0, seedance_2_0, marketing_studio_video |
--video <path-or-id> | reference or analyzed video | seedance_2_0, brain_activity |
--audio <path-or-id> | reference audio (lipsync, soundtrack match) | seedance_2_0 (use this, NOT --generate-audio) |
Each flag accepts either a local file path (auto-uploaded) or a UUID (upload id from higgsfield upload create, or a previous job id). Each model declares its own role set via MEDIA_ROLES. See references/media-inputs.md for the full table.
Common params
Flags pass through to model schema. Use higgsfield model get <jst> to discover.
higgsfield generate create gpt_image_2 --prompt "neon city at dusk" --aspect_ratio 16:9 --resolution 2k --wait
higgsfield generate create nano_banana_2 --prompt "anime character concept, expressive