higgsfield
${var} — the generation request. Required. Prefix picks the mode:
image: <prompt>(or a bare<prompt>) → text-to-imagevideo: <prompt>→ text-to-videoanimate: <image-url> | <motion prompt>→ image-to-video (motion control)Optional trailing hints are honoured when the server supports them:
--ar 16:9/--ar 9:16(aspect ratio),--seconds N(video duration),--n K(output count, capped below),--model <name>. If empty, logHIGGS_NO_PROMPTand exit cleanly — no notify. This skill spends credits, so it never fires on a blank/default run.
Generate visual media through the Higgsfield MCP server (mcp.higgsfield.ai/mcp): text-to-image, text-to-video, and image-to-video with motion control, across Higgsfield's library of 100+ generative models. Every generation consumes real credits from the operator's Higgsfield account — spend is irreversible, so the run is prompt-gated and bounded.
Detection & auth
The server is wired by the dashboard MCP panel's one-click Connect (OAuth, Authorization Code + PKCE with offline_access; tokens stored as MCP_HIGGSFIELD_TOKEN + MCP_HIGGSFIELD_OAUTH, refreshed each run by scripts/mcp-oauth-refresh.sh). Its tools surface as mcp__higgsfield__* — discover them from the server; the tool descriptions are the source of truth, don't assume a fixed list or invent model names.
- No
mcp__higgsfield__*tool callable → the server isn't connected (or its secrets are missing, in which case the workflow logged a::warning::and skipped MCP). LogHIGGS_NOT_CONNECTED, notify once pointing the operator at the dashboard → MCP → Connect Higgsfield, and exit. Don't try to reach the API with curl — there is no static key. - Tools exist but return 401/invalid-token → the OAuth refresh failed (rotating refresh tokens need
GH_SECRETS_PAT— seedocs/mcp-oauth.md). LogHIGGS_AUTH_STALE, notify the operator to re-connect the server once in the dashboard, and exit. Don't retry the same call more than twice. - Payment-required / insufficient-credits errors → log
HIGGS_NO_CREDITS, notify the operator to top up their Higgsfield account, and exit with any partial output already returned (clearly marked partial).