Install
$ agentstack add skill-qwwiwi-agentos-skills-public-higgsfield-generate Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Higgsfield Generate
Submit jobs to any Higgsfield model. Wraps the higgsfield CLI. Covers generic image/video gen and Marketing Studio (branded ads, avatars, products, hooks, settings).
Step 0 — Bootstrap
Before any other command, make sure the CLI is installed and authenticated:
- If
higgsfieldis not on$PATH, install it:
``bash 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, opens a browser) and wait for them to confirm before continuing.
Skip both checks if higgsfield account status already prints account info.
UX Rules
- Be concise. No raw IDs, no JSON dumps in chat. Print result URL when ready.
- 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. Just submit unless the user asks.
- Pass
--waittogenerate createso the command blocks until done and prints the result URL itself. Avoid the two-stepcreate→waitpattern.
Workflow — generic generation
- Pick a model. Practical defaults from production use:
Image:
- Brand product visual (Pinterest pin, lifestyle, hero banner, ad pack, virtual try-on) → use
higgsfield-product-photoshootinstead. NOT this skill. - 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 - Fast and cheap iteration → Z Image
- Character or cartoon-style work → Nano Banana 2; step up to Nano Banana Pro on hard cases
- 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) → Seedance 2.0. SOTA.
- Single-plane scene without strong dynamics, cheaper than Seedance 2.0 → Kling 3.0
- Cheap clean shot without cuts → 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
For the actual --model ID to pass to higgsfield generate create, run higgsfield model list --json | jq to map display names to IDs. See references/model-catalog.md for 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 --jsononce and pass only what's needed. 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 --prompt "..." [media flags] [param flags] --wait. Blocks until terminal status and prints the result URL on stdout. Tunables:--wait-timeout 20m(default 10m),--wait-interval 5s(default 3s). - Deliver. Send the URL plus a one-line summary (model, duration if video).
To inspect or rerun later, higgsfield generate list --json and higgsfield generate get --json work for retrospection. higgsfield generate wait is still available if you ever need to rejoin a job started without --wait.
Media flags
| Flag | Use for | Models that accept it | |---|---|---| | --image | reference image | most image models, seedance_2_0, veo3, marketing_studio_video | | --start-image | first frame for image-to-video transitions | kling3_0, kling2_6, veo3_1, seedance_2_0, marketing_studio_video | | --end-image | last frame for transitions | kling3_0, seedance_2_0, marketing_studio_video | | --video | reference video | seedance_2_0 | | --audio | 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 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 pose" --image ./ref.png --wait
higgsfield generate create seedance_2_0 --prompt "camera dollies in" --start-image ./first.png --duration 8 --wait
higgsfield generate create text2image_soul_v2 --prompt "..." --soul-id --quality 2k --wait
For machine-readable output (chained pipelines, agent context), add --json. With --wait --json you get the final job object array. Without --wait, you get the job IDs.
Stdin prompt: echo "..." | higgsfield generate create z_image --wait.
Soul image quality: for text2image_soul_v2 and soul_cinematic, pass --quality 1.5k or --quality 2k. These are UI-facing tiers; the backend maps them to 720p/1080p and model-specific dimensions from the selected --aspect_ratio. soul_location has no quality selector; it uses fixed dimensions per aspect ratio.
Marketing Studio
Branded image/video gen: avatars + products + optional setup hooks/settings + ad-style modes. Use models marketing_studio_video and marketing_studio_image.
Concepts
- Avatar — presenter face. Curated
preset(browsehiggsfield marketing-studio avatars list) orcustom(uploaded photos viahiggsfield marketing-studio avatars create). For UGC modes, an avatar is optional if the brief clearly mentions a person; the backend can create a Soul Character automatically. Pass an avatar when the user wants a specific presenter. - Product — brand item with title + reference images. Imported from URL (
higgsfield marketing-studio products fetch --url ...) or created from uploaded images (higgsfield marketing-studio products create). - Webproduct — App Store / web page version. Auto-routes when fetching App Store URLs.
- Hook — reusable opening angle / ad hook. Browse with
higgsfield marketing-studio hooks list. Hook text is prepended to the user's prompt; it does not replace--prompt. - Setting — reusable environment / scene context. Browse with
higgsfield marketing-studio settings list. - Ad reference — reusable inspiration video that can be bound to an avatar and/or product. Created from an uploaded video (
--video-input) or a previous generation job (--job). Browse withhiggsfield marketing-studio ad-references list. Seereferences/marketing-ad-references.md.
Discovery commands
Use these exact list commands when the user asks what already exists:
higgsfield marketing-studio avatars list --json
higgsfield marketing-studio products list --json
higgsfield marketing-studio hooks list --json
higgsfield marketing-studio settings list --json
higgsfield marketing-studio ad-references list --json
--hook_id and --setting_id are supported by marketing_studio_video only; do not pass them to marketing_studio_image.
UX rules (additional)
- One question per phase. Don't ask product+avatar+mode upfront.
- Two ad approaches are mutually exclusive. Either the user gives an ad reference video (reference-driven) or picks hook/setting blocks (composed-from-blocks) — never both. If the user has an ad reference selected, do not offer hook/setting; if hook/setting are picked, do not offer to attach an ad reference.
- Ad reference source. The only valid inputs are a local video file (uploaded via
higgsfield upload create ... --video) or a prior video job. If the user provides anything else, ask for a local file.
Workflow — quick ad video
- Get product.
- Existing product →
higgsfield marketing-studio products list --json - URL →
higgsfield marketing-studio products fetch --url --wait(polls until import done) - Local images →
higgsfield upload create ...thenhiggsfield marketing-studio products create --title "..." --image ...
Capture product id. When using --hook_id, strongly prefer passing --product_ids; hooks are designed to pivot into a product and work poorly without product context.
- Pick avatar if needed.
- Default:
higgsfield marketing-studio avatars listand pick a preset matching the brand voice. - Custom:
higgsfield marketing-studio avatars create --name "..." --image.
For UGC modes, you may omit --avatars when no specific presenter is required and the brief mentions a person; the backend can synthesize a Soul Character.
- Optionally pick setup items.
- Hook:
higgsfield marketing-studio hooks list --json - Setting:
higgsfield marketing-studio settings list --json
Pass selected IDs as --hook_id and --setting_id for marketing_studio_video only. Do not copy the hook's prompt into --prompt unless the user explicitly wants to reinforce the same wording.
- Pick mode if needed. Default is
ugc;--modeis not required just because--hook_idis present. Other current slugs:ugc_how_to,ugc_unboxing,product_showcase,product_review,tv_spot,wild_card,ugc_virtual_try_on,virtual_try_on. Hook/setting are valid only forugc,ugc_how_to,ugc_unboxing,product_review,ugc_virtual_try_on— do not pass--hook_id/--setting_idwith the other modes. Seereferences/marketing-modes.md. - Generate (one-shot).
```bash PRODUCTIDSJSON=$(mktemp) AVATARSJSON=$(mktemp) printf '[""]' > "$PRODUCTIDSJSON" printf '[{"id":"","type":"preset"}]' > "$AVATARSJSON"
higgsfield generate create marketingstudiovideo \ --prompt "..." \ --avatars @"$AVATARSJSON" \ --productids @"$PRODUCTIDSJSON" \ --mode ugc \ --duration 15 \ --resolution 720p \ --aspectratio 9:16 \ --wait `` Add --hookid and/or --settingid when a setup hook/setting was selected. productids and avatars are JSON arrays; pass them via @/path/to/file.json. Do not pass a bare UUID to --productids. Resolution is 480p or 720p. Aspect ratio is one of auto/21:9/16:9/4:3/1:1/3:4/9:16. --generate-audio true is supported here (unlike seedance2_0). --wait blocks until done; bump --wait-timeout 30m` for longer ad runs.
- Deliver. URL + one-line summary (mode, duration).
Click-to-Ad shortcut (URL-driven)
When the user gives a product URL and wants a marketing video in one go:
# 1. Trigger fetch (returns the product id and starts background scrape)
higgsfield marketing-studio products fetch --url https://shop.example.com/sneakers --wait
# 2. Generate the marketing video against the same URL — backend reuses the entity
higgsfield generate create marketing_studio_video \
--url https://shop.example.com/sneakers \
--mode ugc \
--duration 15 \
--aspect_ratio 9:16 \
--wait
Backend dedupes by URL, so repeated runs reuse the existing entity instead of re-fetching.
Workflow — marketing image
Same as above but use marketing_studio_image model:
higgsfield generate create marketing_studio_image \
--prompt "..." \
--aspect_ratio 1:1 \
--resolution 2k \
--wait
Errors
Missing required params: prompt→ user gave no prompt; ask for it.Invalid values: aspect_ratio=99:99 (allowed: ...)→ bad enum; pick from allowed.Unknown params: foo→ schema doesn't accept that flag; checkhiggsfield model get. If this happens forhook_idorsetting_id, the selected model/jobsettype does not support Marketing Studio setup items.Session expired→higgsfield auth login.
See references/troubleshooting.md for more.
Reference docs
Load on demand:
references/model-catalog.md— picking the right model for the taskreferences/prompt-engineering.md— writing prompts that workreferences/media-inputs.md— image/video reference flowsreferences/troubleshooting.md— common errors and fixesreferences/marketing-avatars.md— preset vs custom avatarsreferences/marketing-products.md— URL fetch vs manual product createreferences/marketing-setup-items.md— hooks/settings discovery and usagereferences/marketing-ad-references.md— ad reference videos (create/list/get)references/marketing-modes.md— every Marketing Studio mode
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: qwwiwi
- Source: qwwiwi/agentos-skills-public
- License: MIT
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.