The Higgsfield MCP connector routes your AI agent's tool calls to Higgsfield's own MCP server through Scalekit. Each user signs in to Higgsfield once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 192 tools.
- Tools
- 192
- What they doRead · write · destructive
- 50 · 134 · 850 read134 write8 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
What you can do
- Generate media: create images, videos, speech audio, and 3D models from prompts, one at a time or in batches
- Edit images and videos: upscale, remove backgrounds, outpaint, reframe, dub, change voices, and transfer motion to characters
- Make short-form clips: turn YouTube videos into clips or restyle a source video into shorts with style presets
- Analyze videos: break a video down scene by scene and predict its virality, hook strength, and retention risk
- Build and deploy websites: create full-stack sites, deploy them live, manage secrets, and publish to the community feed
- Publish to TikTok: connect accounts, pick licensed trending music, and post videos with the required confirmations
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Higgsfield MCP connection
In AgentKit > Connections, create a Higgsfield MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Higgsfield MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'higgsfieldmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Higgsfield MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'higgsfieldmcp_animation_actions',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "higgsfieldmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Higgsfield MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="higgsfieldmcp_animation_actions",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolhiggsfieldmcp_animation_actionsRead-only catalog of the 3D rig animation library (678 actions: locomotion, gestures, dancing, combat, daily actions).Read-onlyAnimation Actions
Read-only catalog of the 3D rig animation library (678 actions: locomotion, gestures, dancing, combat, daily actions). Search by name or browse by group/category to find the animation_action_id for 3D generation with enable_animation=true. Each result has a preview_url GIF — when several candidates fit (e.g. many Idle or Walk variants), show the user the previews as markdown images and let them pick instead of choosing blindly. Does not create jobs.
Inputs
afterstring- Pagination cursor (next_page_token from a previous result).
categorystring- Filter by category, e.g. Walking, Running, Jumping, Idle, Dancing, Punching (see `categories` in the result).
groupstring- Filter by top-level group: WalkAndRun, BodyMovements, DailyActions, Dancing, Fighting.
limitinteger- Max results, default 20.
querystring- Search term matched against action name and category, e.g. 'walk', 'backflip', 'sword attack'. Omit to browse.
higgsfieldmcp_apps_describeGet an app's action contract: with `action`, the full input/output schema + execution mode for that one action; without it, a summary of every action.Read-onlyDescribe App Action
Get an app's action contract: with `action`, the full input/output schema + execution mode for that one action; without it, a summary of every action. Also returns `manifest_revision`, which apps_invoke requires. Read-only.
Inputs
app_idstringrequired- App UUID from apps_search.
actionstring- Action name. Omit to list all actions in summary.
higgsfieldmcp_apps_searchSearch Higgsfield Marketplace apps callable through MCP.Read-onlySearch Apps
Search Higgsfield Marketplace apps callable through MCP. Returns each app's id, name, and the actions it exposes. Flow: apps_search to find an app → apps_describe(app_id, action) to get an action's argument schema + manifest_revision → apps_invoke to run it. Read-only; does not call any app.
Inputs
cursorstring- Opaque pagination cursor from a previous next_cursor.
limitinteger- Max results (default 20).
querystring- Case-insensitive substring over app name/description. Omit to list all.
higgsfieldmcp_balanceGet the user's available credits and current subscription plan.Read-onlyCheck Balance
Get the user's available credits and current subscription plan. For transaction history, call `transactions` instead.
Inputs
This tool takes no inputs.
higgsfieldmcp_get_account_overviewRetrieve the authenticated user's available free-trial offer and account URL for display in the app.Read-onlyGet Account Overview
Retrieve the authenticated user's available free-trial offer and account URL for display in the app. Fetching the offer may create a checkout session, but does not start a trial or charge a payment method. Invoked only by the app.
Inputs
infostringrequired- Account information requested by the app.
higgsfieldmcp_get_explainer_presetsShow the explainer video style presets (CMS-managed catalog).Read-onlyExplainer Presets
Show the explainer video style presets (CMS-managed catalog). Returns preset ids, names, and preview media. When the user picks one, resolve it with resolve_explainer_preset to get the style reference media_id for generations.
Inputs
This tool takes no inputs.
higgsfieldmcp_get_folderRead exactly one existing folder_id inside project_id.Read-onlyGet Folder
Read exactly one existing folder_id inside project_id. Does not list children or create a folder.
Inputs
folder_idstringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_get_katana_configCreate a run session for a specific published Katana preset.Read-onlyGet Katana Config
Create a run session for a specific published Katana preset. This tool writes session state. Call for every Katana preset run, whether paid or free, after reading all get_preset_instructions parts and collecting required inputs. Reading instructions, browsing presets or asking about free balance alone does not start a run. Set free_generation to false for a paid tracking session, or true only when the user explicitly requests a free run; true spends the backend Katana free run when starting. Bare /katana must first resolve to a specific preset. Reuse the same idempotency_key on retries; never create a session just to reread instructions. Forward the returned preset_session_id in every generation, cost estimate and batch item in this run. Add use_free_gens: true only when the user explicitly requests free generations; a session alone does not select free billing.
Inputs
free_generationbooleanrequired- False tracks a paid run without spending a Katana free run. True spends a Katana free run at session start; use only after an explicit request for free generations. Keep this choice unchanged on retries.
idempotency_keystringrequired- A unique key per intended run; reuse unchanged after uncertain responses or retries.
presetstringrequired- Exact published /katana/slug selected through get_preset_instructions; not a general command or continuation path.
higgsfieldmcp_get_katana_preset_submissionCheck whether the authenticated user has submitted an uploaded video as a Katana community preset in their selected workspace.Read-onlyGet Katana Preset Submission
Check whether the authenticated user has submitted an uploaded video as a Katana community preset in their selected workspace. Returns the saved receipt, prompt and reference IDs, or submitted=false when no submission exists. Submission does not imply delivery, approval or public availability. Invoked only by the app.
Inputs
video_idstringrequired- No description.
higgsfieldmcp_get_playable_game_publicationRead a game's publication in the Higgsfield Supercomputer community: deploy status (pending, live or failed), live URL, deploy error and community listing.Read-onlyGet Playable Game Publication
Read a game's publication in the Higgsfield Supercomputer community: deploy status (pending, live or failed), live URL, deploy error and community listing. Pass playable_id, or the app_id publish_playable_game returned for a file_id game. status not_published means the game has no app yet.
Inputs
app_idstring- The app_id publish_playable_game returned for a file_id game.
playable_idstring- A game made in Higgsfield Playable Ads.
higgsfieldmcp_get_preferencesRead the user's saved MCP project preference before the first generation in a conversation without a destination.Read-onlyGet Preferences
Read the user's saved MCP project preference before the first generation in a conversation without a destination. auto_create_project defaults to false: omit folder_id and generate without creating a project. When true, create one project on first generation and reuse its destination for this conversation. An explicit existing project or request to work without a project takes priority. A one-off request to create a project is allowed regardless of this flag and does not change it. Never infer another chat's destination. If reading fails, do not auto-create a project.
Inputs
This tool takes no inputs.
higgsfieldmcp_get_preset_instructionsResolve a named Higgsfield preset or command and read its instructions without executing it.Read-onlyGet Preset Instructions
Resolve a named Higgsfield preset or command and read its instructions without executing it. For every Katana preset run, read all instruction parts and collect required inputs, then call get_katana_config to register the session, whether the run is paid or free. Set free_generation: false for a paid run, or true only when the user explicitly requests a free run. Forward its preset_session_id in every generation, cost estimate and batch item. Add use_free_gens: true only when the user explicitly asks for free generations. Reading instructions, browsing or asking about free balance alone must not create a session. Entries include image/video recipes, explicit-only production commands /ugc-video, /faceless-video and /ad-multiplier (OpenAI), generation workflows such as /genjutsu, and setup instructions such as /use-after-effects and /use-blender. For an explicit slash invocation, resolve the exact token before selecting tools or requesting media. Katana presets resolve by /slug or explicit /katana/slug to the shared Katana workflow with their published reference video and optional CMS creative context, and bare /katana returns general Katana instructions (inspect attachments, edit source media to the user's brief, remix a reference edit, or open the Katana catalog when nothing is supplied); for a /katana/ message with a MEDIA block, pass its entries as media to receive their file URLs. Do the same for a /content-factory message with a MEDIA block. Omit preset to list recipes, commands and published Katana titles/descriptions without opening a widget. To choose a Katana preset by style or theme, match this metadata and then load its exact /katana/slug; do not use get_presets for internal Katana discovery. Use get_presets for Viral and Marketing Studio browsing (/effects, /product, /motion); a resolved gallery entry supplies its input schema and exact detail lookup. Recipes such as /hero-shot and /reel-cover supply their generation workflow. Setup commands and their references supply instructions for the required runtime; loading them does not install software, connect an editor, or submit jobs. Unqualified unknown tokens return mode instructions with instructions_markdown in structuredContent: infer the task and use ordinary generation tools instead of searching the gallery or stopping at an offer. An unavailable /katana/slug must stop without substituting another preset.
Inputs
mediaarray- Katana and /content-factory only: the `<image|video> media_id=<uuid>` entries of the user's MEDIA block, so the result lists their file URLs.
presetstring- Preset id or slash command, e.g. /hero-shot, /genjutsu, /katana/aura-showpiece, /use-after-effects, /use-blender or a reference path returned by this tool. Omit to list recipes and commands.
higgsfieldmcp_get_presetsSearch and browse reusable image and video generation presets from Higgsfield's Viral, Marketing Studio, Genjutsu, Katana, Soul and personal Recraft style galleries, or retrieve a preset's inputs and preview without starting a generation.Read-onlyGet Presets
Search and browse reusable image and video generation presets from Higgsfield's Viral, Marketing Studio, Genjutsu, Katana, Soul and personal Recraft style galleries, or retrieve a preset's inputs and preview without starting a generation. For sources other than Katana, Soul and Recraft: A bare preset slash command or a request to open, preview, or browse a preset only opens its widget. For supplied attachments, use input_schema from get_preset_instructions to map and upload the relevant files before opening any widget. Call get_presets exactly once with source, preset_id and initial_inputs in the exact schema fields. Do not call get_presets just to inspect the schema. Leave omitted settings to schema defaults; never reopen the detail merely to repeat default selections. Never assume one photo satisfies all requirements or guess ambiguous slot assignments. Leave missing fields in the prefilled widget for the user. Stop after opening the detail and let the user interact with it. Do not call execute_preset unless the user explicitly asks to generate, or submits with Recreate in the widget. Check execution.readiness for the supplied inputs before execution; collect missing or invalid fields instead of submitting. execution.available indicates capability, not permission; optional inputs and built-in media do not authorize generation. Readiness checks input structure, not media ownership or upload confirmation; use only confirmed media IDs. If the widget reports submitted job IDs, display and wait for those jobs without executing again. For sources other than Katana and Recraft, pass query to search preset names, descriptions and types before pagination. All query words must match; omit source to search Viral and Marketing Studio. Pass preset_id to open a published preset detail preview directly. Omit source to browse Viral and Marketing Studio; limit applies to the complete page. source='genjutsu' lists Genjutsu motion presets, with category='genjutsu', 'genjutsu-trending' or 'genjutsu-new'; a bare /genjutsu opens this gallery. To choose motion for an existing AI Influencer, pass initial_inputs:{character_sheet:[{id:"<confirmed sheet job UUID>",type:"image_job"}]} â character_sheet must be a one-item array, not a single object; legacy source='marketing_studio' still accepts these categories and genjutsu: IDs. category='genjutsu-styles' lists Genjutsu Styles: named looks (e.g. Knitted Yarn World, Rounded Toy CGI) that redraw the user's own video while keeping its motion. When the user names a look, search it with query; preset_id 'genjutsu-style:<id>' opens its form, and initial_inputs {video:[<confirmed video UUID>], references?, resolution} adds readiness and price. source='soul' browses curated Soul 2.0 image styles. Search with query or open a style with preset_id and source='soul'. Each item's id is the style_id for generate_image or generate_image_batch with model='soul_2'; do not call execute_preset for Soul styles. A style can be combined with soul_id, but not with medias/image references. Preview images are catalog samples, not generation inputs. Browsing or selecting a style does not authorize generation. source='recraft' browses the caller's own completed Recraft styles saved in Higgsfield, not general presets or styles in a separate Recraft account. Search names by substring with query or open a style with its UUID as preset_id. Each item's id is the style_id for generate_image or generate_image_batch with model='recraft_v4_styles', not recraft_v4_1. Do not call execute_preset for these styles. Preview images are samples, not generation inputs. Browsing or selecting a style does not authorize generation. An empty catalog means no matching ready personal styles are available; do not substitute a general style. source='viral' lists Viral Hub chain presets for /effects requests; source='marketing_studio' lists Marketing Studio templates: for /product use category='product-shot', for /motion use category='motion'. source='katana' is a user-facing catalog, not headless search: query and initial_inputs are unsupported. preset_id:'<slug>' opens one Katana preset's input form directly; use it only as the loaded /katana/slug instructions direct, when the user asked to run that preset and its inputs are missing. To find or choose a Katana preset for a task, call get_preset_instructions with preset omitted, match the returned titles/descriptions, then load its exact /katana/slug. Do not open this gallery merely to choose a preset for supplied media. Explicit catalog browsing opens the Katana catalog without default filters; category supports personalized_edits, style_transfer and motion_transfer, katana_source supports community or higgsfield. Katana uses opaque string cursors and backend-default page sizes (explicit limit maximum 20). Recreate selections resolve exact /katana/slug instructions with get_preset_instructions. Katana browsing does not execute a preset. source='what_if' opens the What If style gallery of /content-factory, where the user picks a style and types the prompt; call it only for a bare /content-factory or when the user asks to browse What If styles, never when a topic is given. It takes no other filters and does not start a generation. Use category slugs returned by this tool and pass next_cursor only when the user asks for another page.
Inputs
categorystring- Category slug. Optional for Katana, which defaults to the Community source; defaults to 'all' for other galleries. Other categories require source.
cursorstring- Pass next_cursor with the same filters. Katana uses an opaque string cursor; other galleries use numeric offsets. Omit when changing filters.
initial_inputsobject- Prefill a selected preset using execution.input_schema. Use confirmed media UUIDs in the correct slots, never local paths. Partial inputs are allowed; inspect execution.readiness. Requires preset_id, except category=genjutsu, genjutsu-trending or genjutsu-new accepts character_sheet to prefill the motion gallery. For Genjutsu use character_sheet:[{id:<confirmed UUID>,type:image_job}] for an existing character sheet, or type:media_input for an uploaded image. The field is always a one-item array, never a single object. Does not submit.
katana_sourcestring- Katana catalog filter. Only valid with source=katana.one of
higgsfieldcommunity limitinteger- Number of presets across the complete page, 1â50. Defaults to 12; Katana defaults to 4 and allows 1â20.
preset_idstring- For source=recraft, the UUID of your saved style; search names with query. Otherwise, published preset ID (or its catalog slug / exact name) to open directly in the detail preview. Source is optional if the ID is unique. Use category='all' and omit cursor (or pass 0) for a detail lookup.
querystring- Not supported for source=katana; use get_preset_instructions with preset omitted for Katana discovery. For source=recraft, search personal style names by case-insensitive substring (maximum 80 characters). Other sources search original CMS names, descriptions and preset types; words may match different fields. Empty means browse. Cannot be combined with preset_id.
sourcestring- Gallery source. Omit for the combined feed.one of
viralmarketing_studiogenjutsusoulrecraftkatanawhat_if
higgsfieldmcp_get_projectRead metadata and current capabilities for one existing project root by ID.Read-onlyGet Project
Read metadata and current capabilities for one existing project root by ID. Returns only shared project metadata and access capabilities; it does not expose Supercomputer instructions, knowledge sources, connectors, or skills. Requires the project_id and an explicit workspace_id request context. Does not change workspace selection or chat destination.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_get_project_asset_promptRead only the prompt details for one accessible placement_id in this project.Read-onlyGet Project Asset Prompt
Read only the prompt details for one accessible placement_id in this project. Does not list other assets or read source download metadata.
Inputs
placement_idstringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_get_project_asset_sourceRead only source details for one accessible placement_id in this project.Read-onlyGet Project Asset Source
Read only source details for one accessible placement_id in this project. For confirmed files includes download URL and file metadata. Does not generate or upload media or return prompt details.
Inputs
placement_idstringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_get_project_publicationRead current Cinema publication settings, effective prompts/canvas/discovery visibility, snapshot and moderation state without changing anything.Read-onlyGet Project Publication
Read current Cinema publication settings, effective prompts/canvas/discovery visibility, snapshot and moderation state without changing anything. Show the user current settings, content exposure and flagged items before seeking host approval for a separate mutation. Backend visibility defaults are true; discovery disabled leaves a public link public. After an uncertain write this observes current state only, not a per-operation receipt. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_get_workflow_bundle_fileRead a safe text file or directory from a workflow's resource folder.Read-onlyWorkflow Bundle File
Read a safe text file or directory from a workflow's resource folder. Use this after get_workflow_instructions when the SKILL.md requires a template, reference, or script file.
Inputs
pathstringrequired- Whitelisted path INSIDE that workflow folder, e.g. 'references/prompts.md' or 'scripts/assemble_blocks.sh'.
workflowstringrequired- Workflow name whose folder holds the file, e.g. 'faceless-video'.
include_contentsboolean- For directory paths, include the content of every allowed file under that directory. Defaults to false.default
false
higgsfieldmcp_get_workflow_instructionsAd Multiplier: when the user says 'multiply my video', 'multiply my ad', asks for multiple edited variations of one supplied 4-30 second video, or wants that same ad regenerated with different people/products, load workflow 'ad-multiplier' before Marketing Studio, model browsing, or direct video generation.Read-onlyWorkflow Instructions
Ad Multiplier: when the user says 'multiply my video', 'multiply my ad', asks for multiple edited variations of one supplied 4-30 second video, or wants that same ad regenerated with different people/products, load workflow 'ad-multiplier' before Marketing Studio, model browsing, or direct video generation. Brand Asset Creation: for branded-asset work including logo recoloring/export, a branded PowerPoint/presentation deck, or analyzing an official brandbook to produce an asset, even when all inputs are supplied or no generation is needed, load 'brand-asset-creation' before sandbox_exec. Faceless video generation, AI-narrated video, narrated animated explainer video, narrated / personal / philosophical story video, YouTube/Instagram thumbnail or video cover, product photoshoot, packshot, studio or lifestyle product photography, product hero banner, product carousel, static product ad pack, virtual model product try-on, conceptual product still, or product-photo restyle, UGC-style ad for a website / SaaS / store / product page from its URL ('SaaS UGC'), any other UGC / creator-style short video for a product — a talking-head creator review (the default UGC ask), a product-only ad with no creator on camera, an unboxing / first-reaction / haul, a try-on / fit check / OOTD, a step-by-step tutorial with on-screen steps, a character sheet, character reference, model sheet, turnaround, expression sheet, or consistent multi-view character prompt, any branding work — a logo, visual identity, brand kit, brandbook, branded mockups, merchandise, packaging, signage, social graphics, posters, or banners ('brand-asset-creation'), including recoloring or exporting an existing official SVG/PNG logo even when no new design or image generation is requested, or building / editing a website, web app, landing page, or browser game with the website tools ('website-builder-flow'): before building ANY of these, use this tool to discover and load the bundled workflow (each a SKILL.md that orchestrates the generate_* tools). Call with NO argument to list available workflows and their triggers. Call with a workflow name to load that workflow's full SKILL.md plus the list of files readable via get_workflow_bundle_file.
Inputs
workflowstring- Workflow name (a folder under the workflows resource root, e.g. 'faceless-video'). Omit to list all available workflows.
higgsfieldmcp_job_displayShow one specific previous generation in the single-result UI widget by job ID.Read-onlyDisplay Result
Show one specific previous generation in the single-result UI widget by job ID. Use when the user wants to inspect or re-display that individual result, including workflows that require separate approval of named candidates or individual previews before finalization. Do not call job_display once per job merely to reproduce an ordinary completed batch; use one show_generation_by_ids call for ordinary batch results instead.
Inputs
idstringrequired- Job ID to display; use item_id from list_project_assets
folder_idstring- Folder context from list_project_assets; include it when inspecting a job from a shared folder.
higgsfieldmcp_job_statusCheck the status and results of an async job.Read-onlyCheck Job Status
Check the status and results of an async job. Returns instantly. For non-terminal jobs the response includes poll_after_seconds — wait that many seconds before calling again. Typical total times: image ~10-20s, video ~60-180s.
Inputs
jobIdstringrequired- Job ID from a previous operation; use item_id from list_project_assets
folder_idstring- Folder context from list_project_assets; include it when inspecting a job from a shared folder.
raw_databoolean- If true, return the raw FNF job payload instead of the normalized generation shape.
sourcestring- Set by the generation widget when it polls automatically.
syncboolean- If true, server polls internally for up to ~25s and returns on terminal state. Defaults to false.
higgsfieldmcp_jobs_waitLong-poll 1-12 generation jobs together without opening a widget.Read-onlyWait For Generation Jobs
Long-poll 1-12 generation jobs together without opening a widget. Waits up to timeout_seconds (default 15, max 15) for every job to reach a terminal state, then returns compact indexed statuses and result URLs. Use job IDs returned by generate_image_batch, generate_video_batch, or generate_audio_batch. For larger sets, choose groups of at most 12 and wait for each group. Permanent lookup failures are returned once without blocking the other jobs; transient lookup failures are retried within the timeout. When all_terminal is false, wait poll_after_seconds before calling again. After every wait group in the user's generation set is terminal, collect their indexed jobs and display them with one show_generation_by_ids call when within that tool's limit. Never use show_generations or call job_display once per batch job.
Inputs
jobsarrayrequired- Full-profile generation jobs to wait for together.
timeout_secondsinteger- Long-poll budget. Use 0 for an immediate snapshot.default
15
higgsfieldmcp_list_foldersList direct child folders of parent_folder_id, defaulting to the project root.Read-onlyList Folders
List direct child folders of parent_folder_id, defaulting to the project root. Optional search filters only these child names. Use get_folder for one ID or search_folders for project-wide name search. Returns actual project workspace even for empty pages. Continue cursor with the same workspace, project, parent and search; an empty page with has_more=true is not completion.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Authenticated workspace context from workspace discovery. Keep unchanged when paging; accessible shared projects may belong to other workspaces.
cursorstring- Opaque cursor from the previous response. Retain the original workspace and filters.
parent_folder_idstring- List direct children of this folder; omit for direct children of the project root.
searchstring- Case-insensitive name search among direct children of the selected parent.
sizeinteger- Page size, default 20; maximum 50.
higgsfieldmcp_list_project_assetsList metadata for generations and uploaded media/files placed in this project.Read-onlyList Project Assets
List metadata for generations and uploaded media/files placed in this project. Omit folder_id for all accessible ordinary folders; supply it for exactly one folder without descendants. placement_id is the placement; item_id is its job or upload. No prompts, URLs or previews are returned. For jobs use item_id with job_status/job_display and the item's folder_id as context. Continue cursor with the same workspace, project and filters; empty items with has_more=true is not completion.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Authenticated workspace context from workspace discovery. Keep unchanged when paging; accessible shared projects may belong to other workspaces.
cursorstring- Opaque cursor from the previous response. Retain the original workspace and filters.
folder_idstring- One exact folder, without descendants. Omit to list assets across all accessible ordinary folders in the project.
model_idsarray- No description.
only_likedboolean- No description.
order_bystring- No description.one of
created_atadded_atliked_at orderingstring- No description.one of
ascdesc output_kindsarray- No description.
sizeinteger- Page size, default 20; maximum 50.
source_typesarray- No description.
statusesarray- No description.
higgsfieldmcp_list_projectsList or find existing accessible Higgsfield media projects before choosing a generation destination.Read-onlyList Projects
List or find existing accessible Higgsfield media projects before choosing a generation destination. Returns project_id, default_folder_id and each project's actual workspace_id. Includes accessible shared projects across workspaces; workspace_id sets authenticated request context, not a filter. Does not list websites, 3D scenes or local directories and never creates a project. Read one page at a time; pass cursor with the same workspace and search to continue. An empty page with has_more=true is not the end.
Inputs
workspace_idstringrequired- Authenticated workspace context from workspace discovery. Keep unchanged when paging; accessible shared projects may belong to other workspaces.
cursorstring- Opaque cursor from the previous response. Retain the original workspace and filters.
searchstring- Case-insensitive project name search.
sizeinteger- Page size, default 20; maximum 50.
higgsfieldmcp_list_voicesList available voices for speech and voice tools.Read-onlyList Voices
List available voices for speech and voice tools. Returns built-in preset voices plus the user's own custom voices. Each voice has a voice_id and a voice_type ('preset' or 'element'); pass that exact pair to the audio models (via generate_audio — seed_audio or text2speech_v2) and to the voice_change tool to select the speaking voice. Use the preview_url to hear a sample. Paginate with the returned next_cursor.
Inputs
cursorstring- Pagination cursor (next_cursor from a previous list_voices result).
sizeinteger- Max voices to return, default 20.default
20
higgsfieldmcp_list_website_categoriesList the content categories a website can be filed under — each with a slug, label, description, and display position.Read-onlyList Website Categories
List the content categories a website can be filed under — each with a slug, label, description, and display position. create_website REQUIRES a `category`; call this first to get the valid slugs, then pass the closest one ('other' when nothing fits).
Inputs
This tool takes no inputs.
higgsfieldmcp_list_websitesList the websites you own — each with its id, name, slug, and live URL.Read-onlyList Websites
List the websites you own — each with its id, name, slug, and live URL. Use this to find the id of a website you created earlier so you can edit, deploy, or check its status.
Inputs
This tool takes no inputs.
higgsfieldmcp_list_workspacesList every workspace the user can access (their private workspace plus any shared/team workspaces).Read-onlyList Workspaces
List every workspace the user can access (their private workspace plus any shared/team workspaces). The `is_selected` field marks which workspace MCP operations currently target. Use when the user asks which workspaces they have, or wants to switch workspace.
Inputs
This tool takes no inputs.
higgsfieldmcp_models_exploreFind generation models.Read-onlyExplore Models
Find generation models. Use recommend with goal + input context; use get for model constraints. Items carry supports_unlim when the model accepts free-trial unlimited generations; the top-level unlim block says whether the caller can spend them right now, and the trailing 'Unlim configs' text lists the configurations their allowance actually covers.
Inputs
actionstringrequired- The action to performone of
listsearchgetrecommend afterstring- Pagination cursor (next_page_token from a previous list/search result; not used by recommend)
inputstring- Input filter: image = accepts reference media; text = text-only.one of
textimage limitinteger- Max results, default 20 for list/search, 5 for recommend
model_idstring- Model ID (required for get)
querystring- Model/use-case query; include input context like text-only, reference image, image-to-video, or product URL.
typestring- Filter by output type (omit to include all)one of
imagevideoaudio3d unlimboolean- When true, return only models that accept free-trial unlimited generations (supports_unlim). Use it to answer "which models can I use my unlimited generations on" in one call â each returned item still carries its aspect_ratios, parameters, and durations. Omit to include all models; false is the same as omitting it.
higgsfieldmcp_personal_clipper_jobsShow recent clipping jobs.Read-onlyPersonal Clipper Jobs
Show recent clipping jobs.
Inputs
cursorstring- Pagination cursor.
limitinteger- Maximum number of jobs to return.
higgsfieldmcp_personal_clipper_statusCheck clip creation progress.Read-onlyPersonal Clipper Status
Check clip creation progress.
Inputs
row_idstringrequired- FNF Clipify job ID from the create or jobs response.
higgsfieldmcp_presets_showShow available Higgsfield presets for image-to-video generation.Read-onlyShow Presets
Show available Higgsfield presets for image-to-video generation. Returns preset ids, names, previews, and descriptions.
Inputs
This tool takes no inputs.
higgsfieldmcp_search_foldersFind folder names across the whole project using a nonempty search.Read-onlySearch Folders
Find folder names across the whole project using a nonempty search. Use list_folders for direct children. Continue cursor with the same workspace, project and search; inspect has_more even when items is empty.
Inputs
project_idstringrequired- No description.
searchstringrequired- No description.
workspace_idstringrequired- Authenticated workspace context from workspace discovery. Keep unchanged when paging; accessible shared projects may belong to other workspaces.
cursorstring- Opaque cursor from the previous response. Retain the original workspace and filters.
sizeinteger- Page size, default 20; maximum 50.
higgsfieldmcp_shorts_studio_list_presetsBrowse Shorts Studio style presets — the visual STYLE a short is restyled toward.Read-onlyShorts Studio Presets
Browse Shorts Studio style presets — the visual STYLE a short is restyled toward. Use this when the user wants to make a short and needs to choose a look: they can pick one of these or create their own style with shorts_studio_create_preset. Returns the user's own presets first, then the CMS library; each item carries a `preset_source` to pass straight into shorts_studio_create. Paginated: if next_cursor is not null, pass it as cursor to get the next page.
Inputs
cursorstring- Pass next_cursor from a previous response to get the next page.
higgsfieldmcp_shorts_studio_list_sessionsList the caller's past Shorts Studio sessions (newest first) to find a session_id to poll with shorts_studio_status.Read-onlyShorts Studio Sessions
List the caller's past Shorts Studio sessions (newest first) to find a session_id to poll with shorts_studio_status.
Inputs
cursornumber- created_at cursor from a prior response.
sizeinteger- Page size (default 20).default
20
higgsfieldmcp_shorts_studio_statusPoll one Shorts Studio session.Read-onlyShorts Studio Status
Poll one Shorts Studio session. Returns {id, status, job_ids}. status='completed' means every clip job is terminal (not necessarily successful). Poll each job_id via job_status for its clip video url and per-clip status.
Inputs
session_idstringrequired- Session id from shorts_studio_create or shorts_studio_list_sessions.
higgsfieldmcp_show_generation_by_idsRender exactly 1-60 requested generation jobs in the full-profile gallery widget, ordered by index and paginated locally in groups of 12.Read-onlyShow Generations By IDs
Render exactly 1-60 requested generation jobs in the full-profile gallery widget, ordered by index and paginated locally in groups of 12. Use once every jobs_wait group is terminal for generate_image_batch, generate_video_batch, or generate_audio_batch. Pass the complete indexed set collected from the batch tools. This tool fetches only those job IDs in bounded groups: it never loads generation history, uses cursors, requests additional pages, or adds other jobs. Do not use show_generations or job_display to present a completed batch.
Inputs
jobsarrayrequired- Exact full-profile generation jobs to display. Results are ordered by index and paginated locally.
higgsfieldmcp_show_generationsBrowse completed non-Marketing Studio generation history and render one paginated page in the gallery widget.Read-onlyShow Generations
Browse completed non-Marketing Studio generation history and render one paginated page in the gallery widget. Returns generations with {id, type, status, model, params, results}. Use only when the user explicitly asks to browse regular generation history. Do not use this history tool after generate_*_batch or jobs_wait; show an exact completed batch with one show_generation_by_ids call instead. Use show_marketing_studio_generations for Marketing Studio video/image/ad history. Pass a prior generation's id as value in the medias array of a new generation to reuse it. Use job_display only to inspect one specific previous result. Paginated: if next_cursor is not null, pass it as cursor to get the next page.
Inputs
cursorstring- Pass next_cursor from previous response to get next page
only_completedboolean- Defaults to true. Set false to include jobs in every state, including jobs still generating.
sizestring- Number of results per page
typestring- Filter by media typeone of
imagevideoaudio3d
higgsfieldmcp_show_marketing_studio_generationsBrowse past completed Marketing Studio generations only.Read-onlyShow Marketing Studio Generations
Browse past completed Marketing Studio generations only. Returns Marketing Studio video and ad/image generations with {id, type, status, model, params, results}. Use show_generations for non-Marketing Studio image/video history.
Inputs
cursornumber- Pass next_cursor from previous response to get the next page
sizeinteger- Number of results per pagedefault
24
higgsfieldmcp_show_mediasList your uploaded media files by type.Read-onlyShow Uploaded Media
List your uploaded media files by type. Returns media IDs, URLs, and creation timestamps. Call once with the single type the user asked for (default image); do not enumerate the other types unless the user explicitly asks for them. Pass media IDs as value in the medias array of generation tools. Paginated: if next_cursor is not null, pass it as cursor to get the next page.
Inputs
cursornumber- Pass next_cursor from previous response to get next page
sizeinteger- Number of results per pagedefault
24 typestring- Media type to list. Defaults to image.one of
imagevideoaudiodefaultimage
higgsfieldmcp_tiktok_accountsList the user's connected TikTok accounts.Read-onlyList Connected TikTok Accounts
List the user's connected TikTok accounts. Returns each account's connector_id (needed by other tiktok_* tools) and status. `active` accounts are ready; `error` accounts need tiktok_reconnect; no accounts ⇒ offer tiktok_connect. Read-only.
Inputs
This tool takes no inputs.
higgsfieldmcp_tiktok_music_trendingList trending commercially licensed tracks from TikTok's Commercial Music Library for the connected account.Read-onlyTrending TikTok Music
List trending commercially licensed tracks from TikTok's Commercial Music Library for the connected account. Show the user a few tracks with their listen links and let them pick; then pass the chosen track's id as music_sound_id to tiktok_publish. Music works for DIRECT_POST only (TikTok drafts don't keep it). There is no keyword search — offer genre/country/date_range filters instead. Read-only.
Inputs
connector_idstringrequired- Active TikTok account from tiktok_accounts.
country_codestring- Region whose trending chart to use, e.g. US. Default US.
date_rangestring- Popularity window. Default 7DAY.one of
1DAY7DAY30DAY90DAY genrestring- TikTok CML genre enum, e.g. ALL, POP, HIP_HOP/RAP, LO-FI, EDM, COUNTRY, K-POP, CHILL_BEATS, EPIC. Default ALL.
limitinteger- Tracks per page. Default 10.
offsetinteger- Page start. Default 0.
higgsfieldmcp_tiktok_music_tuneOpen the tuning editor for one Commercial Music Library track the user already picked (via tiktok_music_trending): trim start/end and set track/original volumes.Read-onlyTune a TikTok Track
Open the tuning editor for one Commercial Music Library track the user already picked (via tiktok_music_trending): trim start/end and set track/original volumes. Pass the same genre/country_code/date_range filters that were used when the track was found, or the lookup may miss. The user copies the final configuration from the editor and pastes it into the chat; pass those values to tiktok_publish. Read-only.
Inputs
connector_idstringrequired- Active TikTok account from tiktok_accounts.
music_sound_idstringrequired- The picked track's id (from tiktok_music_trending / the user's paste).
country_codestring- Same country filter the track was found with, if any.
date_rangestring- Same date range filter the track was found with, if any.one of
1DAY7DAY30DAY90DAY genrestring- Same filter the track was found with, if any.
higgsfieldmcp_tiktok_publish_statusStep 3 of publishing.Read-onlyCheck TikTok Publish Status
Step 3 of publishing. Fetch processing status for a publish_id returned by tiktok_publish. TikTok may take a few minutes to process before the post is live. Read-only.
Inputs
connector_idstringrequired- No description.
publish_idstringrequired- From tiktok_publish.
higgsfieldmcp_transactionsList the user's credit transactions (spend/refund/grant/deduct), newest first.Read-onlyCredit Transactions
List the user's credit transactions (spend/refund/grant/deduct), newest first. Paginated: if next_cursor is not null, pass it as cursor to get the next page.
Inputs
cursorinteger- Pass next_cursor from the previous response to fetch the next page
sizeinteger- Number of transactions per page (1-100)default
10
higgsfieldmcp_video_analysis_jobsList the user's video analyses in the current workspace, newest first.Read-onlyVideo Analysis Jobs
List the user's video analyses in the current workspace, newest first. Paginate by passing the previous response's cursor.
Inputs
cursorstring- Pagination cursor — unix timestamp of created_at from the previous page (advances backwards in time). Omit for the first page.
sizeinteger- Page size.
higgsfieldmcp_video_analysis_statusGet the status and result of a video analysis.Read-onlyVideo Analysis Status
Get the status and result of a video analysis. Poll this after video_analysis_create until status='completed' (scenes populated) or 'failed' (fail_reason populated). Analyses typically finish in 3-5 minutes — poll accordingly every 30-60 seconds.
Inputs
video_analyze_idstringrequired- UUID returned by video_analysis_create or video_analysis_jobs.
higgsfieldmcp_website_dbInspect the website's database (D1 / SQLite), READ-ONLY.Read-onlyWebsite Database
Inspect the website's database (D1 / SQLite), READ-ONLY. The website has ONE database — the live site's real data. Pick an operation: 'tables' (list tables); 'schema' (a table's columns — needs table); 'rows' (a page of rows — needs table; optional filters, order_by + order_dir, limit (default 50) + offset); 'query' (one read-only SELECT/WITH — needs sql). Writes and DDL are rejected.
Inputs
operationstringrequired- What to read: tables | schema | rows | query.one of
tablesschemarowsquery website_idstringrequired- The website's id (returned by create_website).
filtersarray- 'rows' filters, each 'col:op[:value]' (eq ne gt gte lt lte like is_null).
limitinteger- Max rows to return for 'rows' operation. Default 50.
offsetinteger- Row offset to skip for 'rows' operation.
order_bystring- Column to sort 'rows' results by.
order_dirstring- Sort direction for 'rows' results.one of
ascdesc sqlstring- A single read-only SELECT/WITH statement (operation 'query').
tablestring- Table name. Required for 'schema' and 'rows'.
higgsfieldmcp_website_statusGet the website's deploy status — the live URL and the status of the last deploy.Read-onlyWebsite Status
Get the website's deploy status — the live URL and the status of the last deploy. Use to check a deploy that returned 'pending', or to fetch the live URL.
Inputs
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_ads_studio_add_productAdd a product to Ads Studio - under a brand, or with no brand at all - from its page link and/or a pasted description.WriteAds Studio Add Product
Add a product to Ads Studio - under a brand, or with no brand at all - from its page link and/or a pasted description. Answers as soon as the row is queued - Ads Studio reads the page in the background. Do not poll and do not list products to check. Read ads_studio_get_product when the user asks about it. Use this when the research missed a product or the user names a new one. To refresh an existing product from its page, pass its id in overwrite instead of adding a second row.
Inputs
brand_idstring- The brand this product belongs to, from ads_studio_list_brands. Leave it out for a product of no brand: it is still listed by ads_studio_list_products without brand_id and can be generated.
imagesarray- Product photo URLs the user supplied or uploaded. Ads Studio fetches each one, so a link it cannot reach is refused.
overwritearray- Existing product ids to refresh from the page instead of creating a new row.
textstring- The user's own description, when there is no page or it adds facts the page lacks.
urlstring- The product's own page. Give this whenever the user has it: it is what makes the ads specific.
higgsfieldmcp_ads_studio_cancel_runCancel a queued or running Ads Studio generation.WriteAds Studio Cancel Run
Cancel a queued or running Ads Studio generation. Pictures already rendered stay; a run too far along to stop answers that it can no longer be canceled. Only cancel when the user asks.
Inputs
run_idstringrequired- Run id from ads_studio_generate or ads_studio_list_runs.
higgsfieldmcp_ads_studio_cardWhat the Ads Studio card shows: brands, one brand, products or one product.WriteAds Studio Card
What the Ads Studio card shows: brands, one brand, products or one product. Used by the card.
Inputs
kindstringrequired- No description.one of
brandsbrandproductsproduct brand_idstring- No description.
cursorstring- No description.
include_productsboolean- No description.
include_unpickedboolean- No description.
product_idstring- No description.
product_idsarray- No description.
higgsfieldmcp_ads_studio_create_brandResearch a brand from its website and build its Ads Studio brand profile: products, palette, logo, tone and audience, read from the live site.WriteAds Studio Create Brand
Research a brand from its website and build its Ads Studio brand profile: products, palette, logo, tone and audience, read from the live site. Pass the website when you have it - with a URL the research starts at once and takes a few minutes; with only a name Ads Studio answers with the site it thinks was meant and starts nothing, so confirm that with the user and call again with the URL. This reads the brand's own public website. It does not design logos or brand assets (that is the brand-asset-creation workflow) and it is not the Marketing Studio brand-kit record (marketing_create_brand_kit). Before the first Ads Studio call in a conversation, load the 'ads-studio' workflow with get_workflow_instructions.
Inputs
inputstringrequired- The brand's website URL, or its name if the user has not given a URL.
higgsfieldmcp_ads_studio_generateGenerate ad creatives in Ads Studio: for a brand, for products of any brand or of none, or from a prompt and the user's pictures alone, with or without the brand kit.WriteAds Studio Generate
Generate ad creatives in Ads Studio: for a brand, for products of any brand or of none, or from a prompt and the user's pictures alone, with or without the brand kit. Ads Studio writes the concepts and renders the pictures. This spends Higgsfield credits, so quote with ads_studio_quote and get explicit approval of the exact allocation and credit cost first. An approval from the Ads Studio app allocation is NOT approval. When allocation is supplied, this tool quotes the whole allocation and requests native MCP form confirmation when supported. Otherwise it returns approval_required and credits: show the exact counts and cost, ask for explicit chat approval and stop. Only after approval, repeat the unchanged allocation with expected_credits. Never split the allocation or bypass a supported native form. Answers as soon as the runs are accepted, with a run id each - report those and stop; read ads_studio_get_run when the user asks, never in a loop. Generation takes a few minutes.
Inputs
idempotency_keystringrequired- A key you choose once for this generation and repeat unchanged if you have to retry. Never invent a new one for a retry: that buys the same batch a second time.
allocationarray- Exact per-product counts from the Ads Studio app. Submit the whole allocation in one call, with brand_id, aspect_ratio and one stable idempotency_key. The first call quotes and requests approval without spending. Do not combine with product_ids, total, prompt, images, objective, include_brand or brand_kit. Chat-approved retries require expected_credits equal to the approved total cost.
aspect_ratiostring- The frame for the whole batch: 1:1 square feed, 9:16 stories and reels, 16:9 landscape, 3:4 portrait feed. 4:5 is not available - offer 3:4 as the nearest portrait frame.one of
1:19:1616:93:4default1:1 brand_idstring- The brand whose kit (logo, palette, tone) shapes the ads, from ads_studio_list_brands. Leave it out to make ads with no brand kit at all. The kit only reaches this brand's own products: a product of another brand, or of none, is advertised without it, so never promise the user this brand's look on someone else's product.
brand_kitboolean- false to make the ads without the brand kit even though brand_id is set: a plain product or prompt ad. Default true when brand_id is set; always off without one.
expected_creditsnumber- Exact credit cost explicitly approved by the user in chat. The server requotes before spending and refuses a changed price. For an app allocation on a host without native form support, preserve the exact allocation and key. Omit for native confirmation.
imagesarray- Pictures the user supplied for this generation: inspiration or photos of their product.
include_brandboolean- Also generate a run about the brand itself, not a single product. Needs brand_id and the kit on.
objectivestring- What the ads are for. Set it only when the user made the goal clear (more sales -> sales; sign-ups, demos, quotes -> leads; visits, clicks -> traffic; a launch or being known -> awareness; comments, shares -> engagement). Left out, the product's own profile decides.one of
salesleadsengagementtrafficawareness product_idsarray- Products to advertise, from ads_studio_list_products - of this brand, another brand or none; each gets its own run. Name at least one product, or set include_brand, or give a prompt - with none of them there is nothing to advertise.
promptstring- What the user asked for in their own words: the angle, the offer, the audience. A prompt alone, with no product and no brand, is an ad about what it describes.
totalinteger- How many concepts in total across all subjects: the number the user named, or 1 for a singular request. Ads Studio splits it between the subjects, so it must be at least one per subject.
higgsfieldmcp_ads_studio_get_brandRead one Ads Studio brand: how far its research got through the five stages (gather, synthesis, enrichment, products, assets) and what is already usable.WriteAds Studio Get Brand
Read one Ads Studio brand: how far its research got through the five stages (gather, synthesis, enrichment, products, assets) and what is already usable. Use this to answer "is the research done?" - status done means the brand and its products are ready. Call it when the user asks, not on a timer, and never in a loop: research can take several minutes. Follow next_step: a finished research is offered for ads, never generated on its own.
Inputs
brand_idstringrequired- Ads Studio brand id, from ads_studio_list_brands or ads_studio_create_brand.
higgsfieldmcp_ads_studio_get_productRead one Ads Studio product and open it as a card: whether Ads Studio has finished reading its page (status queued, in_progress, completed or failed, with fail_reason when it failed) and what it knows - name, price, page, description, selling points.WriteAds Studio Get Product
Read one Ads Studio product and open it as a card: whether Ads Studio has finished reading its page (status queued, in_progress, completed or failed, with fail_reason when it failed) and what it knows - name, price, page, description, selling points. Use this to answer "is the product ready?" after ads_studio_add_product, when the user asks - not on a timer and never in a loop.
Inputs
product_idstringrequired- Product id from ads_studio_add_product or ads_studio_list_products.
higgsfieldmcp_ads_studio_get_runRead one Ads Studio generation run: its status and every concept in it, with the ad copy.WriteAds Studio Get Run
Read one Ads Studio generation run: its status and every concept in it, with the ad copy. Opens the generation card, which shows the pictures - there is no image link in the result and none to ask for. Call it when the user asks about a run - never on your own initiative and never in a loop. A run can read done while its pictures are still rendering, so check still_rendering before telling the user the ads are ready. A queued run carries its place in line; a canceled run stays canceled and is not a failure. Name a creative by its concept_id. These pictures are not ordinary generations: do not pass Ads Studio ids to show_generation_by_ids or jobs_wait.
Inputs
run_idstringrequired- Run id from ads_studio_generate or ads_studio_list_runs.
higgsfieldmcp_ads_studio_list_brandsList the brands in this account's Higgsfield Ads Studio, with each one's research status and how many products it has, and open them as a card the user can browse.WriteAds Studio List Brands
List the brands in this account's Higgsfield Ads Studio, with each one's research status and how many products it has, and open them as a card the user can browse. Call this when the user talks about advertising an existing brand, so later tools get a real brand_id; when the list is already in this conversation, reuse its ids instead of listing again. This is Ads Studio, the ad-creative workspace: it is not the Marketing Studio brand-kit record (marketing_list_brand_kits) and it does not create or design brand assets. Before the first Ads Studio call in a conversation, load the 'ads-studio' workflow with get_workflow_instructions: it carries the frames, objectives and the research-then-offer flow.
Inputs
This tool takes no inputs.
higgsfieldmcp_ads_studio_list_productsList Ads Studio products and open them as a card the user can browse: name, price, page, how many pictures it has, whether the brand page shows it (picked_for_ads) and whether its ad copy is ready.WriteAds Studio List Products
List Ads Studio products and open them as a card the user can browse: name, price, page, how many pictures it has, whether the brand page shows it (picked_for_ads) and whether its ad copy is ready. With brand_id: that brand's products. Without it: every product the user has - of any brand or of none - a page at a time. Use product_id in ads_studio_quote and ads_studio_generate: a generation advertises exactly the products named there, whatever picked_for_ads says. texts_ready=false means the copy is still being written and ads made from it come out weaker.
Inputs
brand_idstring- Ads Studio brand id, from ads_studio_list_brands or ads_studio_create_brand.
cursorstring- Without brand_id: next_cursor from the previous page, unchanged.
include_unpickedboolean- With brand_id: include products hidden from the brand page (default true).
higgsfieldmcp_ads_studio_list_runsList recent Ads Studio generation runs, newest first, optionally for one brand.WriteAds Studio List Runs
List recent Ads Studio generation runs, newest first, optionally for one brand. Use it to find a run whose id was lost, or to check what is already in flight before starting another batch.
Inputs
brand_idstring- Ads Studio brand id, from ads_studio_list_brands or ads_studio_create_brand.
limitinteger- How many runs to return; default 20.
higgsfieldmcp_ads_studio_quoteGet the cost without starting a generation, reserving credits or spending credits.WriteAds Studio Quote
Get the cost without starting a generation, reserving credits or spending credits. A user request to create ads, including an exact allocation submitted from the Ads Studio app, authorizes this read-only quote: do not ask for separate permission to quote. Takes the same arguments as ads_studio_generate so the quote matches the run. After quoting a requested generation, show the exact allocation and total credits; use ask_user_input (or ask_user_input_v3) only when that exact host tool is available, otherwise ask one concise chat question. Never invent a host tool or generate before explicit approval of this allocation and cost. A price-only request needs only the quote, not a spending-approval question.
Inputs
aspect_ratiostring- The frame for the whole batch: 1:1 square feed, 9:16 stories and reels, 16:9 landscape, 3:4 portrait feed. 4:5 is not available - offer 3:4 as the nearest portrait frame.one of
1:19:1616:93:4default1:1 brand_idstring- The brand whose kit (logo, palette, tone) shapes the ads, from ads_studio_list_brands. Leave it out to make ads with no brand kit at all. The kit only reaches this brand's own products: a product of another brand, or of none, is advertised without it, so never promise the user this brand's look on someone else's product.
brand_kitboolean- false to make the ads without the brand kit even though brand_id is set: a plain product or prompt ad. Default true when brand_id is set; always off without one.
imagesarray- Pictures the user supplied for this generation: inspiration or photos of their product.
include_brandboolean- Also generate a run about the brand itself, not a single product. Needs brand_id and the kit on.
objectivestring- What the ads are for. Set it only when the user made the goal clear (more sales -> sales; sign-ups, demos, quotes -> leads; visits, clicks -> traffic; a launch or being known -> awareness; comments, shares -> engagement). Left out, the product's own profile decides.one of
salesleadsengagementtrafficawareness product_idsarray- Products to advertise, from ads_studio_list_products - of this brand, another brand or none; each gets its own run. Name at least one product, or set include_brand, or give a prompt - with none of them there is nothing to advertise.
promptstring- What the user asked for in their own words: the angle, the offer, the audience. A prompt alone, with no product and no brand, is an ad about what it describes.
totalinteger- How many concepts in total across all subjects: the number the user named, or 1 for a singular request. Ads Studio splits it between the subjects, so it must be at least one per subject.
higgsfieldmcp_ads_studio_run_progressProgress of one Ads Studio generation run.WriteAds Studio Run Progress
Progress of one Ads Studio generation run. Used by the generation card.
Inputs
run_idstringrequired- No description.
higgsfieldmcp_ads_studio_update_productChange one Ads Studio product, or hide it from the brand page.WriteAds Studio Update Product
Change one Ads Studio product, or hide it from the brand page. picked_for_ads=false hides it and true shows it again; neither deletes anything, and a generation still advertises exactly the products it names. Every other field is a merge patch: what you leave out is left alone. Use the user's own words for the copy fields; do not invent selling points they did not say.
Inputs
brand_idstringrequired- The brand that owns this product.
product_idstringrequired- Product id from ads_studio_list_products.
audiencestring- Who it is for, when the user says.
custom_namestring- User-edited display title; empty clears the override.
descriptionstring- No description.
imagesarray- Replace product pictures with up to four existing or confirmed uploaded image URLs.
namestring- No description.
page_urlstring- The product's own page.
picked_for_adsboolean- False hides the product from the brand page, true shows it. Nothing is deleted or created.
pricestring- As the user says it, e.g. "$90" or "from 4 900 RUB".
selling_pointsarray- Replaces the whole list.
higgsfieldmcp_ai_influencer_character_sheet_presetsApp-only: load a page of AI Influencer character sheet presets with preview media and recreate parameters.WriteAi Influencer Character Sheet Presets
App-only: load a page of AI Influencer character sheet presets with preview media and recreate parameters.
Inputs
cursorinteger- Cursor from the previous page; omit for the first page.
preset_idstring- No description.
sizeinteger- Page size; defaults to 20.
higgsfieldmcp_ai_influencer_generateGenerate and save one to four AI Influencer character sheets in the selected Higgsfield workspace from exact params returned by ai_influencer_prepare.WriteAi Influencer Generate
Generate and save one to four AI Influencer character sheets in the selected Higgsfield workspace from exact params returned by ai_influencer_prepare. Does not train a Soul or generate video. Rechecks price before submission and rejects paid prices above max_credits. Paid generation spends existing credits; it does not purchase credits or subscriptions. use_free_gens=true requires explicit user intent and backend eligibility, with max_credits=0 for free-only requests; never falls back to paid generation. Returns job_id for the first accepted job and job_ids for a batch before completion; wait for every returned job. Free generations always submit one sheet. Repeating this call can create another job and spend credits again; never automatically retry an uncertain submission. An auto-updating generation widget shows every accepted sheet and its progress. Wait with jobs_wait (timeout_seconds <= 15); do not call show_generation_by_ids or job_display again unless the user requests a separate display. After completion, offer Genjutsu animation and wait for agreement before opening motion presets.
Inputs
max_creditsnumberrequired- No description.
paramsobjectrequired- No description.
use_free_gensboolean- No description.
higgsfieldmcp_ai_influencer_get_optionsList available AI Influencer character traits for human and animal tiers.WriteAi Influencer Get Options
List available AI Influencer character traits for human and animal tiers. Optionally filter by tier; returns option IDs and tier constraints for ai_influencer_prepare. Does not randomize, quote, create or save a character.
Inputs
tierstring- No description.one of
normalfreaktotalinsectsfrogscatsdogscapybarasbirds
higgsfieldmcp_ai_influencer_get_settingsRead reusable settings from an existing AI Influencer sheet using its job_id.WriteAi Influencer Get Settings
Read reusable settings from an existing AI Influencer sheet using its job_id. Returns human or animal traits, identity and Style references, body color and saved appearance variants when present. Does not replay the original batch count, quote, save or generate an image. Pass returned params to ai_influencer_prepare with randomize=false to preserve the design.
Inputs
job_idstringrequired- No description.
higgsfieldmcp_ai_influencer_list_presetsBrowse AI Influencer character-sheet presets with previews and reusable settings.WriteAi Influencer List Presets
Browse AI Influencer character-sheet presets with previews and reusable settings. Does not generate a sheet. Pass selected preset settings to ai_influencer_prepare with randomize=false.
Inputs
cursorinteger- Cursor from the previous page; omit for the first page.
preset_idstring- No description.
sizeinteger- Page size; defaults to 20.
higgsfieldmcp_ai_influencer_preparePrepare an AI Influencer character design and quote the total credit cost for batch_size (one to four sheets, default one) without creating a job or spending credits.WriteAi Influencer Prepare
Prepare an AI Influencer character design and quote the total credit cost for batch_size (one to four sheets, default one) without creating a job or spending credits. Accepts human or animal tiers, traits, brief, seed, at most one confirmed identity image in medias and up to three Style references in item_medias. Preserves animal-v3 look and animal trait choices from saved settings; FNF validates variant IDs against the current catalog. Default randomize=true fills unspecified traits using builder shuffle rules; reference identity traits stay unset unless explicitly selected. randomize=false preserves explicit settings and defaults tier to freak (Bold). Returns exact params, credits and free_gens_remaining when known. For generation, pass these params unchanged to ai_influencer_generate; preview-only requests stop here. Repeating preparation may produce a different random design.
Inputs
animal_variantstring- No description.
batch_sizeinteger- No description.
body_colorstring- No description.
briefstring- No description.
item_mediasarray- No description.
mediasarray- No description.
randomizeboolean- No description.
seedinteger- No description.
selectionobject- No description.
tierstring- No description.one of
normalfreaktotalinsectsfrogscatsdogscapybarasbirds trait_variantsobject- No description.
higgsfieldmcp_apps_invokeRun one described action on a Marketplace app AS the current user.WriteInvoke App Action
Run one described action on a Marketplace app AS the current user. First call apps_describe(app_id, action) to get the exact `arguments` schema and the `manifest_revision`, then pass them here. Long-running actions return { id, status: "queued" }. If a widget is visible, it polls the status action automatically — do not re-invoke get_* as a follow-up poll. In text-only clients, poll by invoking the app's status action (e.g. get_render) until status is completed/failed. The action's own annotations (from apps_describe) indicate cost/side-effects; confirm with the user before an expensive or destructive action.
Inputs
actionstringrequired- Action name from apps_describe.
app_idstringrequired- App UUID from apps_search.
manifest_revisionstringrequired- From apps_describe. If it changed since, the call is rejected with manifest_changed — re-describe.
argumentsobject- Action arguments matching its input_schema. Do not put binary/media bytes here — pass a media_id.
higgsfieldmcp_assets_picker_listList existing uploaded, generated, or liked image/video assets for an app picker.WriteAssets Picker List
List existing uploaded, generated, or liked image/video assets for an app picker. Invoked only by the app; never uploads, generates, or modifies assets. Generations and liked assets support combined image/video kinds and an accessible project or exact folder scope. Sort generations by creation time, project assets by time added, and liked assets by time liked. Uploads also support last-used. Available sorts depend on source and scope.
Inputs
kindstringrequired- No description.one of
imagevideoall sourcestringrequired- No description.one of
uploadsgenerationslikedinfluencerinfluencer-liked cursorstring- Continuation cursor returned by this picker for the same source, kind, project, folder and sort.
folder_idstring- One exact folder inside project_id; omit for all accessible ordinary folders.
project_idstring- Accessible project scope for generations and liked assets; requires workspace_id.
sizeinteger- No description.default
30 sortstring- Newest/oldest creation time; uploads also support last-used. Project generations support recently-added, and liked assets support recently-liked. Global liked assets only support recently-liked (newest is a legacy alias).one of
newestoldestlast-usedrecently-addedrecently-likeddefaultnewest workspace_idstring- Authenticated request workspace from discovery; keep unchanged when paging shared projects.
higgsfieldmcp_attach_project_assetAttach an existing accessible typed source ID to folder_id.WriteAttach Project Asset
Attach an existing accessible typed source ID to folder_id. Upload and confirm a new file using media_upload/media_confirm with source_type=file_input first. Reattaching the same source to the same folder reuses its placement. Inspect assets after an uncertain receipt; never blindly repeat mutations.
Inputs
folder_idstringrequired- No description.
project_idstringrequired- No description.
sourceobjectrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_build_ai_influencerCreate one to four AI Influencer character sheets in chat using the builder backend, without training a Soul.WriteBuild Ai Influencer
Create one to four AI Influencer character sheets in chat using the builder backend, without training a Soul. Not for text-only concepts or opening the builder UI. options lists traits; presets browses character presets; recreate loads a sheet job's settings without generating. quote accepts tier, selection, brief, seed, batch_size (one to four), up to one confirmed identity reference in medias and up to three Style references in item_medias. Animal v3 look and trait choices from saved settings are preserved. Default randomize=true fills unspecified traits using the UI shuffle rules; randomize=false keeps only explicit choices and defaults tier to freak (Bold). With a reference, identity groups stay unset unless explicitly chosen. To reuse preset/recreate params, spread them into quote with randomize=false. Quote returns exact params, credits and free_gens_remaining when known. Report design and price, respect preview-only requests and budgets. Only submit starts a generation job and saves its character sheet in the selected Higgsfield workspace. Paid submit spends existing Higgsfield credits; it does not buy credits or start a subscription. It returns job_id for the first accepted job and job_ids for a batch before generation completes; track every returned job. Free generations always submit one sheet. Repeating submit can create another job and spend credits again. submit sends quoted params unchanged with max_credits; a fresh quote checks the cap before submission. use_free_gens=true requires explicit user intent and backend eligibility; it spends no credits and must never fall back to paid generation. Use max_credits=0 for free-only requests. Never retry uncertain submissions automatically. Wait with jobs_wait, then show_generation_by_ids. After displaying a completed sheet, offer to animate it with Genjutsu unless the user declined animation suggestions. Wait for agreement unless animation was already requested; with multiple sheets, first ask which character. Then open get_presets source genjutsu category genjutsu with initial_inputs.character_sheet containing that exact completed image_job. Let the user choose motion and review settings and price before generating video; never submit video automatically. Does not generate video.
Inputs
This tool takes no inputs.
higgsfieldmcp_cancel_project_publication_reviewCancel the CURRENT open publication review after explicit user approval.WriteCancel Project Publication Review
Cancel the CURRENT open publication review after explicit user approval. No review-ID binding exists. Cancellation does not roll back metadata already saved by preview/update/publish, and does not unpublish an existing publication. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_confirm_billing_purchaseINTERNAL â invoked ONLY by the plans widget on an explicit user Confirm click.WriteConfirm Billing Purchase
INTERNAL â invoked ONLY by the plans widget on an explicit user Confirm click. Do NOT call this tool yourself; it charges the user's real saved payment method off-session. To help a user upgrade, top up, or set auto top-up, call `show_plans_and_credits` instead â it returns checkout links and, in UI clients, opens the widget where the user confirms the charge. Covers auto_topup and topup via the `action` field (upgrade_plan is temporarily disabled â plan upgrades use the hosted checkout link). The backend either charges the saved card (`result: "charged"`) or returns a `checkout_url` to redirect (`result: "redirect"`). Buying a brand-new subscription is not handled here â that uses the hosted checkout link.
Inputs
actionstringrequired- Billing action the user confirmed: upgrade_plan (needs plan_id+billing_period), topup (needs topup_id), auto_topup (enabled + top_up_amount_cents, or enabled:false to disable).one of
upgrade_planauto_topuptopup billing_periodstring- Target billing cadence (upgrade_plan).one of
monthlyannual enabledboolean- Enable (true, default) or disable (false) auto top-up (auto_topup).
plan_idstring- Target plan tier (upgrade_plan).one of
plusultra top_up_amount_centsinteger- Auto top-up amount in cents (dollar amount) â one of auto_refill.options (auto_topup, when enabling).
topup_idstring- McpCreditTopupCard.id of the selected pack (topup).
higgsfieldmcp_confirm_project_publication_reviewSeparately approve publishing with flagged media HIDDEN for the CURRENT awaiting-confirm review.WriteConfirm Project Publication Review
Separately approve publishing with flagged media HIDDEN for the CURRENT awaiting-confirm review. First show the complete current flagged list and visibility and obtain a NEW explicit user decision to proceed with those items hidden. Never automatically invoke after publish/update/preview. No exact review-ID or frozen snapshot binding exists; incomplete lists require Higgsfield web. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_confirm_trial_cancelINTERNAL â invoked ONLY by the cancel-trial confirmation widget on an explicit user click of 'Cancel auto-renewal'.WriteConfirm Trial Cancel
INTERNAL â invoked ONLY by the cancel-trial confirmation widget on an explicit user click of 'Cancel auto-renewal'. Do NOT call this tool yourself; to cancel the trial's auto-renewal use `cancel_trial_auto_renewal` instead. Stops the trial's auto-renewal (cancel_at_period_end) â trial access and remaining credits stay until the trial ends.
Inputs
This tool takes no inputs.
higgsfieldmcp_copy_project_assetCopy source_placement_id into target_folder_id, optionally in target_project_id.WriteCopy Project Asset
Copy source_placement_id into target_folder_id, optionally in target_project_id. Omit target_project_id for this project. Creates another placement, not a new uploaded source. Creation is not idempotent: do not repeat an uncertain copy automatically.
Inputs
project_idstringrequired- No description.
source_placement_idstringrequired- No description.
target_folder_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
target_project_idstring- No description.
higgsfieldmcp_create_folderCreate one subfolder in an existing Higgsfield media project.WriteCreate Folder
Create one subfolder in an existing Higgsfield media project. Use project_id returned by create_project in this conversation or explicitly supplied by the user. Omit parent_folder_id to create directly under the root. Keep using the project's default_folder_id for generation unless the user wants outputs in this subfolder; then pass its folder_id. This does not create a project or a local filesystem folder. Creation is not idempotent: do not automatically retry after a timeout or uncertain result.
Inputs
namestringrequired- No description.
project_idstringrequired- No description.
parent_folder_idstring- Parent inside the same project; omit for the project root.
higgsfieldmcp_create_projectCreate a private Higgsfield media project for this conversation.WriteCreate Project
Create a private Higgsfield media project for this conversation. Create only on an explicit user request or when get_preferences returns auto_create_project=true and this conversation has no destination. The default is no automatic project. An explicit existing destination or request to work without a project wins. Creating a project does not change the saved preference. Call once, then retain project_id, workspace_id and default_folder_id in this conversation and pass folder_id on subsequent generate_* calls. Reuse the existing project on later turns; never create one per generation or reuse another conversation's project. This does not create a chat, website or 3D scene. No starter/brief subfolder is created. Resolve workspace_id before the first call using list_workspaces (full) or workspace_list (OpenAI); use the selected workspace or ask the user when ambiguous. Repeat an uncertain request only with the original workspace_id, name, surface and idempotency_key, even if the selected workspace changes; backend replay lasts 15 minutes, not the lifetime of the chat.
Inputs
idempotency_keystringrequired- Unique operation key chosen once for this creation. Preserve on retries; never derive from the project name or generate a new key on retry.
namestringrequired- Project name for this conversation.
workspace_idstringrequired- Target workspace UUID from workspace discovery. Choose once before creation and retain unchanged on retries; never substitute the newly selected workspace.
surfacestring- Use cinematic_studio for a Cinema project; omit for an MCP project with surface mcp. This is product classification, not creation origin.one of
cinematic_studio
higgsfieldmcp_create_voiceOpen the Create Voice Apps UI.WriteCreate Voice
Open the Create Voice Apps UI. Call this immediately when the user asks to create a voice, call the Create Voice tool, or needs a local browser record/upload surface and no confirmed audio_media_id is already present. Do not ask the user to upload an audio file or provide the name in chat first; the widget collects the required name plus record/upload audio. If the user already has or attached an audio file in chat, still call this tool with initial_tab='upload' — remote tools cannot read Claude chat attachments, so the user re-selects the file in the widget's Upload tab (it uploads directly to Higgsfield). Do not try to pass a chat attachment or ask for a URL. The widget records/uploads, confirms the audio, and creates the voice itself end-to-end — and if the user is out of credits or on a free plan it shows the plans/credits UI inline. After the widget reports success you do NOT need to call create_voice_from_confirmed_audio again. Only call create_voice_from_confirmed_audio yourself when a confirmed audio_media_id is already present in the prompt and no UI step is needed.
Inputs
initial_tabstring- Initial tab for the create voice UI. Defaults to record. Use 'upload' when the user already has or attached an audio file.one of
recorduploaddefaultrecord namestring- Initial name to prefill in the UI.
higgsfieldmcp_create_voice_from_confirmed_audioBackend-only creation of a cloned voice from an already confirmed audio upload.WriteCreate Voice From Confirmed Audio
Backend-only creation of a cloned voice from an already confirmed audio upload. Do not call this tool until audio_media_id and name are already known. For direct creation, first upload speech audio with media_upload, PUT the bytes, then call media_confirm with type='audio'. Pass that confirmed media_id here as audio_media_id plus a required name. If the user needs to record or upload local audio in an Apps UI-capable client, call create_voice instead; that widget records/uploads, confirms, and creates the voice itself, so you do not call this tool for the UI flow. The audio should be clear speech, roughly 10 seconds to 3 minutes, and no larger than the upload limit. The backend charges the voice-clone credit cost on successful creation. Cloning is asynchronous: on success the tool returns the new voice_id plus a status, and a fresh clone is usually still 'processing' and not yet usable. Use the returned voice_id with voice_type='element' for generate_audio or voice_change only once it is ready (status='completed' and is_audio_eligible=true). If status is 'processing' or is_audio_eligible is not true, the clone is still training — re-check it with list_voices before generating instead of submitting right away; status 'voice_clone_failed'/'failed' means cloning did not succeed. If recovery_tool is returned, call it immediately; do not explain/ask first.
Inputs
audio_media_idstringrequired- Confirmed audio media_id from media_confirm(type='audio').
namestringrequired- Required display name for the created voice.
descriptionstring- Optional voice description for backend metadata.
higgsfieldmcp_create_websiteStart a new full-stack website.WriteCreate Website
Start a new full-stack website. Creates the website and a git repo: a React 19 + TanStack Start app, server-rendered, in ONE Cloudflare Worker, with D1 / R2 / KV / Durable Objects / Containers available (all DISABLED by default). Returns a website_id — pass it to every later website tool. The 'type' param is REQUIRED and is the USER'S choice, not yours: unless the user has already made it unambiguous, ASK the user whether they want a plain website (no Higgsfield integration) or a Higgsfield-integrated app (Sign in with Higgsfield + AI image/video generation via the Higgsfield SDK) BEFORE calling this tool. Apps are scaffolded from a v2 starter template and REQUIRE the 'template' param — pick the closest of studio / preset / app-detail per the template param's guide ('custom' is ONLY for when the user explicitly says "use custom template" — never pick it yourself). The chosen layout ships as real code already wired as the home page; you ADAPT IT IN PLACE, never rebuild it. Websites take an OPTIONAL template: pass 'scroll-scrub' for an animated website (its scrub engine ships pre-built) and omit it for a non-animated one. App and website templates are not interchangeable — a cross-kind name is rejected. Workflow: (0) call get_workflow_instructions with { workflow: "website-builder-flow" } FIRST to load the stack, design contract, and hard rules (REQUIRED before building or editing); (1) create_website; (2) call website_repo_access to get the repo's git URL + scoped token, clone/edit/commit/push with the terminal (for apps, read app/src/layouts/AGENTS.md + app/src/components/AGENTS.md right after cloning); (3) deploy_website to ship it live — and deploy again after ANY later change (publish_website only lists what is already live; it does not deploy).
Inputs
categorystringrequired- REQUIRED — the content category the website is filed under, a slug from the marketplace taxonomy (e.g. 'cinematic', 'ads-marketing', 'ugc-social', 'other'). Call list_website_categories to get the exact valid slugs, then pass the closest one ('other' when nothing fits). The server rejects an unknown slug.
typestringrequired- REQUIRED — what the user chose to build. 'website': a standalone site with NO Higgsfield integration (no Sign in with Higgsfield, no requests to Higgsfield). 'app': a product tightly integrated with Higgsfield — its users sign in with Higgsfield and generate images/videos through the Higgsfield SDK. 'game': a browser game with realtime multiplayer rooms — requires a game genre as category and takes NO template. This is the user's decision: if their request doesn't make it obvious, ask them which one they want before creating.one of
websiteappgame subdomainstring- The website's subdomain — it becomes the slug, so the live URL is <subdomain>.<host>. ALWAYS set this: pick a short, memorable subdomain from the site's name or purpose (lowercase letters, digits, and single hyphens only; DNS-safe). Only omit it — which falls back to a random subdomain — if the user explicitly asks for a random one. A few reserved labels (e.g. 'api', 'www') and already-taken subdomains are rejected; if that happens, try a close variant.
templatestring- The starter template the repo is scaffolded from. Its code arrives already wired as the home page — you adapt it in place, not rebuild it. The valid names depend on `type`, and a mismatch is rejected. type='website' — OPTIONAL: 'scroll-scrub' = the animated website (the visitor's scroll plays a generated film); its scrub engine ships pre-built, so you generate the film and fill in scenes instead of writing a controller. Pass it for EVERY animated website (the default per the website-builder flow). OMIT `template` only for a non-animated site. Never pass an app template for a website. type='app' — REQUIRED, pick the closest to the product: 'studio' = full creative workspace (projects sidebar + floating prompt dock + edge-to-edge generations feed) for multi-project generation tools; 'preset' = pick-a-style-then-generate (persistent left creation rail beside a browsable preset grid with History tab); 'app-detail' = a single tool's landing page (two-column generator hero + how-it-works steps) — the 'simple app'. Any other request shape (before/after slider, step-by-step wizard, upload-configure-iterate) still maps to the closest of these three; the shared components in app/src/components/ cover those patterns. 'custom' (bare shell, no shipped layout) is ONLY for when the user explicitly says "use custom template" — never pick it yourself. one of
app-detailpresetstudiocustomscroll-scrub
higgsfieldmcp_deploy_websiteBuild and deploy the website via CI, then return its live URL.WriteDeploy Website
Build and deploy the website via CI, then return its live URL. Every deploy ships the live site at the website's public URL (there is no separate preview stage). IMPORTANT: commit and git push ALL your changes BEFORE calling this — the build runs from the pushed repo. Deploy again after ANY later change: publish_website does NOT deploy (it only lists the already-live build on the community feed), so this tool is the only way changes ship. A failed build returns the log; a still-running build returns status 'pending' — call website_status to check.
Inputs
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_dubbingDub a video into another language: translate the spoken audio, synthesize it in the target language, and lip-sync the result back onto the video.WriteDubbing
Dub a video into another language: translate the spoken audio, synthesize it in the target language, and lip-sync the result back onto the video. Use this when the user asks to dub, translate the speech of, or localize a clip into another language. Pass video_id for the source video (a confirmed uploaded media_id or a completed video generation job_id) and target_language as one of the supported language codes. Supported languages (code=language): eng=English, cmn=Chinese, fra=French, hin=Hindi, ita=Italian, jpn=Japanese, kor=Korean, por=Portuguese, rus=Russian, tur=Turkish, spa=Spanish, deu=German, ara=Arabic, pol=Polish, ind=Indonesian, fil=Filipino, swe=Swedish, fin=Finnish. This tool does not use prompt or count; output dimensions are taken from the source video automatically.
Inputs
paramsobjectrequired- Dubbing parameters.
higgsfieldmcp_execute_presetRequest execution of one published preset from the Viral, Marketing Studio or Genjutsu gallery, including a Genjutsu Style (genjutsu-style: preset_id) that restyles the user's own video.WriteExecute Preset
Request execution of one published preset from the Viral, Marketing Studio or Genjutsu gallery, including a Genjutsu Style (genjutsu-style: preset_id) that restyles the user's own video. A bare preset slash command or a request to open, preview, or browse a preset only opens its widget. For supplied attachments, use input_schema from get_preset_instructions to map and upload the relevant files before opening any widget. Call get_presets exactly once with source, preset_id and initial_inputs in the exact schema fields. Do not call get_presets just to inspect the schema. Leave omitted settings to schema defaults; never reopen the detail merely to repeat default selections. Never assume one photo satisfies all requirements or guess ambiguous slot assignments. Leave missing fields in the prefilled widget for the user. Stop after opening the detail and let the user interact with it. Do not call execute_preset unless the user explicitly asks to generate, or submits with Recreate in the widget. Check execution.readiness for the supplied inputs before execution; collect missing or invalid fields instead of submitting. execution.available indicates capability, not permission; optional inputs and built-in media do not authorize generation. Readiness checks input structure, not media ownership or upload confirmation; use only confirmed media IDs. If the widget reports submitted job IDs, display and wait for those jobs without executing again. Check execution.available in the preset detail before calling. Unavailable execution returns an error without submitting a job. Use get_presets to obtain the published preset_id and source; do not invent either value. A successful submission returns final job_ids; a preset may produce multiple outputs. Use job_display for one job, jobs_wait and show_generation_by_ids for multiple jobs. Preset-specific inputs are a free-form object; their requirements are defined by the selected preset, not by this tool schema.
Inputs
inputsobjectrequired- Free-form inputs for the selected preset; use its execution.input_schema when available.
preset_idstringrequired- Published preset ID returned by get_presets; its catalog slug or exact name is also accepted.
sourcestringrequired- Published gallery source. Genjutsu also accepts legacy marketing_studio.one of
viralmarketing_studiogenjutsu
higgsfieldmcp_generate_3dGenerate a 3D GLB mesh.WriteGenerate 3D
Generate a 3D GLB mesh. Use `models_explore(type:'3d')` to pick a model and see its `medias[].roles` and `parameters`. Apps UI local file: call `media_upload_widget`; remote tools cannot read Claude chat attachments. Web media URL: call `media_import_url`, pass returned `media_id`; `medias[].value` must be media_id/job_id, not URL. Defaults: `image_to_3d` for general image-to-3D with optional texturing, PBR, and rigging; `multi_image_to_3d` when 2-4 views of the same subject are available (better geometric accuracy); `sam_3_3d` for single-object reconstruction; `3d_rigging` to rig an existing 3D model (takes `model_url`, not images — pass a prior 3D job_id or an https GLB URL). For animated rigs, search clip ids with the `animation_actions` tool and pass `animation_action_id` with `enable_animation:true`. The mesh reproduces only what is in the source image — to add or change props, clothing, or held objects, edit the image first with `generate_image`, then convert the edited result. Pass model-specific params as top-level fields. Apply `adjustments` returned by the server. If `recovery_tool` is returned, call it immediately. `get_cost:true` preflights credits without submitting.
Inputs
paramsstringrequired- No description.
higgsfieldmcp_generate_audioGenerate one speech/voice request (text-to-speech) and render it in the generation widget.WriteGenerate Audio
Generate one speech/voice request (text-to-speech) and render it in the generation widget. This tool accepts one prompt; for 2-12 independent lines or prompts, use the headless generate_audio_batch tool instead. DEFAULT model: seed_audio (Seed Audio 1.0 by ByteDance) — use it unless the user explicitly asks for a different engine. seed_audio takes a preset or reference-element voice (voice_type 'preset'|'element' + voice_id) plus optional tuning params (format, sample_rate, speech_rate, loudness_rate, pitch_rate), and can clone a voice from an audio_references media item or take an image_references cue. To use a specific named engine instead, set model:'text2speech_v2' and pass variant (one of elevenlabs|minimax|seed_speech|vibe_voice|cozy_voice) together with voice_type + voice_id. Get voice ids from list_voices; use models_explore(type:'audio') to inspect each model's params. This tool only generates speech: it cannot generate music or sound effects for general use, and there is no standalone music/SFX model here — decline general music or sound-effect requests rather than substituting a speech model. The models sonilo_music (music), mirelo_text_to_audio (sound effects) and inworld_text_to_speech (voice) exist ONLY for the game-generation pipeline and must not be used for standalone audio. get_cost:true preflights credits without submitting. use_unlim defaults false — pass true only when the user explicitly asks to use their unlimited/free-trial generations, never to save them credits on your own initiative.
Inputs
paramsstringrequired- No description.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_generate_audio_batchSubmit 1-12 independent audio generations in parallel without opening a widget.WriteGenerate Audio Batch
Submit 1-12 independent audio generations in parallel without opening a widget. Each requests[] item accepts the same params as generate_audio, creates exactly one job, and keeps its caller-provided index in the response. Use for multiple distinct prompts or inputs; use generate_audio for one user-facing generation. Poll returned job IDs with jobs_wait in agent-chosen groups of at most 12. For larger sets, collect indexed jobs across submission batches. After every job in the user's set is terminal, pass the collected jobs to exactly one show_generation_by_ids call for up to 60 jobs; never use show_generations or call job_display once per job.
Inputs
requestsarrayrequired- Ordered audio generation requests. Response jobs keep the provided indices.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_generate_imageGenerate one image request and render its result(s) in the generation widget.WriteGenerate Image
Generate one image request and render its result(s) in the generation widget. Use count 2-4 only for variants of the same prompt, inputs, and settings; for 2-12 independent image requests with different prompts or inputs, use the headless generate_image_batch tool instead. Apps UI local file media: call `media_upload_widget`; do not ask for Claude chat attachments because remote tools cannot read them. Web media URL: call `media_import_url`, then pass returned `media_id`; `medias[].value` must be media_id/job_id, not URL. Defaults: `marketing_studio_image` for commercial/product/ads; `soul_cast` for text-only character/avatar; `soul_2`+`soul_id` for trained reusable Soul; `soul_2`/`nano_banana_pro` for one-off character refs; `soul_2` for portraits/fashion/UGC/editorial; `nano_banana_pro` for 4K/text/diagrams. Ambiguous create-character/avatar: offer reusable Soul training (5-20 photos, ~10 min) vs one-off; do not train generic silently. Use `show_characters(action='train')` only if explicitly requested or user provides 5-20 photos. Use `models_explore` for aspect_ratios, params, medias roles. Top-level model params; apply `adjustments`. If `recovery_tool` returned, call it immediately; do not explain/ask first. `get_cost:true` preflights credits. `use_unlim` defaults false — pass true only when the user explicitly asks to use their unlimited/free-trial generations, never to save them credits on your own initiative.
Inputs
paramsstringrequired- No description.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_generate_image_batchSubmit 1-12 independent image generations in parallel without opening a widget.WriteGenerate Image Batch
Submit 1-12 independent image generations in parallel without opening a widget. Each requests[] item accepts the same params as generate_image, creates exactly one job, and keeps its caller-provided index in the response. Use for multiple distinct prompts or inputs; use generate_image for one user-facing generation. Poll returned job IDs with jobs_wait in agent-chosen groups of at most 12. For larger sets, collect indexed jobs across submission batches. After every job in the user's set is terminal, pass the collected jobs to exactly one show_generation_by_ids call for up to 60 jobs; never use show_generations or call job_display once per job.
Inputs
requestsarrayrequired- Ordered image generation requests. Response jobs keep the provided indices.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_generate_videoGenerate one video request and render its result(s) in the generation widget.WriteGenerate Video
Generate one video request and render its result(s) in the generation widget. Do NOT use this tool first for 'multiply my video', 'multiply my ad', or multiple edited versions of one supplied source clip; load `get_workflow_instructions` with `workflow='ad-multiplier'` instead. Use count 2-4 only for variants of the same prompt, inputs, and settings; for 2-12 independent video requests with different prompts or inputs, use the headless generate_video_batch tool instead. Apps UI local file: call `media_upload_widget`; do not ask for Claude chat attachments; remote tools cannot read them. Web media URL: call `media_import_url`, pass returned `media_id`; `medias[].value` must be media_id/job_id, not URL. Defaults: `marketing_studio_video` for ads/product; `clipify`/Personal Clipper for turning YouTube URLs into short clips. Default generation models: `seedance_2_5` for general text-to-video and multimodal reference consistency; `kling3_0` for multi-shot, audio, or motion transfer; `minimax_h3` for 2K keyframes and image/video/audio references. URL Marketing Studio: call `show_marketing_studio(action='fetch')`, use returned `url`. Uploaded-image products: call `show_marketing_studio(type='product', medias[])`/`action='create'`, use `next_step`. Hooks/settings only for presets UGC, Tutorial, Unboxing, Product Review, UGC Virtual Try On; if ids missing, list hooks/settings first. Use declared roles: start_image/end_image/image. Pass generate_audio/sound only if the model declares it; Seedance audio references go via medias role audio. Use models_explore for durations/params. Apply adjustments. If recovery_tool returned, call it immediately; do not explain/ask first. get_cost:true preflights credits. use_unlim defaults false — pass true only when the user explicitly asks to use their unlimited/free-trial generations, never to save them credits on your own initiative.
Inputs
paramsstringrequired- No description.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_generate_video_batchSubmit 1-12 independent video generations in parallel without opening a widget.WriteGenerate Video Batch
Submit 1-12 independent video generations in parallel without opening a widget. Each requests[] item accepts the same params as generate_video, creates exactly one job, and keeps its caller-provided index in the response. Use for multiple distinct prompts or inputs; use generate_video for one user-facing generation. Poll returned job IDs with jobs_wait in agent-chosen groups of at most 12. For larger sets, collect indexed jobs across submission batches. After every job in the user's set is terminal, pass the collected jobs to exactly one show_generation_by_ids call for up to 60 jobs; never use show_generations or call job_display once per job.
Inputs
requestsarrayrequired- Ordered video generation requests. Response jobs keep the provided indices.
contextstring- Briefly describe the user's underlying goal and why this call helps, in one short sentence. Do not include names, contact details, credentials, URLs, or biometric details. Analytics only; not a generation prompt.
higgsfieldmcp_katana_compose_messageValidate a filled Katana preset form and return the chat message that starts the preset.WriteKatana Compose Message
Validate a filled Katana preset form and return the chat message that starts the preset.
Inputs
inputsobjectrequired- No description.
slugstringrequired- No description.
higgsfieldmcp_manage_reference_elementsElements widget â reusable characters / environments / props per workspace.WriteManage Reference Elements
Elements widget â reusable characters / environments / props per workspace. Actions: - `list` (default; paginated by `created_at` DESC, use `cursor` from prev `next_cursor`). - `get` (default when `element_id` is set). - `create`: pass `medias[]` as `{ id, url, type: 'media_input' | 'image_job' }`. Upload first via media_upload â PUT bytes â media_confirm. `category='auto'` lets the server classify (use explicit only on user ask). Omit `name` to auto-derive (per-workspace unique, collisions get a numeric suffix). Returns synchronously. REUSABLE CHARACTER â user wants a recurring character/face across generations: create an Element (this tool action=create) from one clear reference image. USAGE IN GENERATION (implementation detail): Embed `<<<element_id>>>` inside `params.prompt` of `generate_image` / `generate_video`. Backend auto-injects the image and rewrites to `@element_name`. Multiple placeholders per prompt OK. Example: `"Cinematic portrait of <<<UUID>>> on a rooftop"`, `"<<<A>>> handing coffee to <<<B>>> in a Paris cafe"`. SUPPORTED MODELS (`params.model` = machine name, friendly in parens): - Image: `nano_banana_pro` (Nano Banana Pro), `nano_banana_2` (Nano Banana 2), `gpt_image_2` (GPT Image 2), `seedream_v4_5` (Seedream 4.5), `seedream_v5_lite` (Seedream 5.0 lite), `cinematic_studio_2_5` (Cinema Studio Image 2.5). - Video: `cinematic_studio_video_v2` (Cinema Studio Video 2), `cinematic_studio_3_0` (Cinema Studio Video 3.0), `seedance_2_0` (Seedance 2.0), `kling3_0` (Kling 3.0 â REQUIRES a `start_image` in `params.medias`; element placeholder alone won't trigger reference usage). Map friendly names to model ids. Other models ignore the placeholder. USER-FACING STYLE: prefer friendly model names and element names for readability. GUARDS: - `@name` form does NOT work in tool calls â only `<<<UUID>>>` in `params.prompt`. - Do NOT put element ids in `params.medias` / `params.input_images` â placeholder handles injection. - `kling3_0` only honors reference elements when an explicit `start_image` is provided in `params.medias`. If the user wants Kling 3.0 with an element but hasn't supplied a start frame, ask for one (upload via media_upload â PUT bytes â media_confirm, or pick a prior generation) before calling `generate_video`. Without a start_image, pick another video model from the list. - Only `status: completed` elements are usable; skip `processing` / `ip_checking` / `failed` / `kling_failed` / `nsfw`.
Inputs
actionstring- Operation mode. Defaults to `get` if `element_id` is set, otherwise `list`.one of
listgetcreate categorystring- [action=create] `auto` lets the server classify from the first images. Use a specific category only if the user is explicit. Defaults to `auto`.one of
autocharacterenvironmentprop cursornumber- [action=list] Pass `next_cursor` from a previous response to get the next page.
descriptionstring- [action=create] Optional free-form description, stored as-is.
element_idstring- [action=get] Fetch a single reference element by id.
mediasarray- [action=create] Image references. Required. URLs must be https (private/loopback hosts rejected); normally Higgsfield upload URLs returned by media_upload â PUT bytes â media_confirm.
namestring- [action=create] Element name, max 32 chars. Spaces are normalised to '-'. If omitted, the server derives a name from the media.
sizeinteger- [action=list] Number of elements per page (1-100).default
27
higgsfieldmcp_marketing_list_avatarsRead-only list of user and preset Marketing Studio avatars.WriteMarketing List Avatars
Read-only list of user and preset Marketing Studio avatars. Does not create or modify avatars.
Inputs
preset_cursorinteger- No description.
searchstring- No description.
sizeinteger- No description.default
20 user_cursornumber- No description.
higgsfieldmcp_marketing_studio_v2_avatarsWidget-internal: list the user's Marketing Studio avatars (preset and custom) for the avatar picker.WriteMarketing Studio V2 Avatars
Widget-internal: list the user's Marketing Studio avatars (preset and custom) for the avatar picker.
Inputs
preset_cursorinteger- No description.
sizeinteger- No description.
user_cursorinteger- No description.
higgsfieldmcp_marketing_studio_v2_costsWidget-internal: the Marketing Studio v2 pricing document.WriteMarketing Studio V2 Costs
Widget-internal: the Marketing Studio v2 pricing document. credits = cost_units / cost_units_per_credit; video flows cost fixed_cost_units + cost_units_per_second à duration.
Inputs
This tool takes no inputs.
higgsfieldmcp_marketing_studio_v2_createWidget-internal: recreate a Marketing Studio v2 preset â validates inputs against the preset's recreate contract and submits one generation.WriteMarketing Studio V2 Create
Widget-internal: recreate a Marketing Studio v2 preset â validates inputs against the preset's recreate contract and submits one generation.
Inputs
preset_idstringrequired- No description.
preset_typestringrequired- No description.one of
ugcvideo_modeproduct_shots_peopleproduct_shots2d_motionhypermotionmixed_mediasaas_motionposteradsmarketplace aspect_ratiostring- No description.
avatarobject- Marketing Studio avatar (UGC and video_mode presets only).
avatar_media_idstring- media_input id used as character_photo (product_shots_people).
brand_urlstring- saas_motion only.
category_slugstring- Category the preset was picked from ('all' allowed).
durationinteger- Seconds; UGC and video_mode presets only.
format_namestring- No description.
format_slugstring- Catalog format slug the preset belongs to (from preset.format_slugs).
group_namestring- preset.metadata.group_name, passed through from the feed.
preset_namestring- No description.
product_media_idstring- Confirmed media_input id of the product image.
promptstring- No description.
required_inputsstring- preset.metadata.required_inputs, passed through from the feed.
higgsfieldmcp_marketing_studio_v2_presetsWidget-internal: load a page of the Marketing Studio v2 preset feed for a category.WriteMarketing Studio V2 Presets
Widget-internal: load a page of the Marketing Studio v2 preset feed for a category.
Inputs
categorystringrequired- Category slug; 'all' is valid.
cursorinteger- Cursor from the previous page; omit for the first page.
sizeinteger- No description.
higgsfieldmcp_marketing_studio_v2_statusWidget-internal: poll status and results of submitted Marketing Studio v2 jobs.WriteMarketing Studio V2 Status
Widget-internal: poll status and results of submitted Marketing Studio v2 jobs.
Inputs
job_idsarrayrequired- No description.
higgsfieldmcp_media_confirmConfirm file uploads after using media_upload's upload_url method.WriteConfirm Upload
Confirm file uploads after using media_upload's upload_url method. Call this only after every curl PUT returned HTTP 200. Supports confirming multiple uploads at once via media_ids.
- Idempotent
Inputs
typestringrequired- Media type being confirmed. Use 'file' for general files (documents, archives, code) uploaded with type file.one of
imagevideoaudiofile media_idstring- Single media ID to confirm
media_idsarray- 1â20 media IDs to confirm in parallel
source_typestring- No description.
workspace_idstring- No description.
higgsfieldmcp_media_import_urlImport an HTTPS image, video, or audio URL into Higgsfield storage and return a confirmed media_id.WriteImport Media URL
Import an HTTPS image, video, or audio URL into Higgsfield storage and return a confirmed media_id. Use this before generate_image/generate_video when the user provides a web media URL; generation medias should receive the returned media_id, not the original URL. Max URL payload: 50 MB.
Inputs
urlstringrequired- HTTPS URL of the media file to import.
typestring- Expected media type. Use auto or omit when unknown.one of
autoimagevideoaudio
higgsfieldmcp_media_uploadUpload media for use in generation, or general files (documents, archives, code) for sharing.WriteUpload Media
Upload media for use in generation, or general files (documents, archives, code) for sharing. Returns presigned URLs for clients that can upload bytes themselves; run the generated curl commands or PUT the bytes to each upload_url, then call media_confirm. The media type is inferred from the filename extension: image/video/audio extensions become generation inputs; other whitelisted extensions (pdf, zip, tar, docx, csv, code files, …) are uploaded as general files and return a permanent URL, but cannot be used as generation inputs. General files are the agent's own upload path — the widget does not accept them, so upload the bytes to upload_url yourself (e.g. from a code execution environment). Supports batch uploads via files[]. Do not use this for user-provided local image/video/audio in Claude Apps UI-capable clients; call media_upload_widget instead so the user chooses the file in the Higgsfield widget and the browser uploads it directly.
Inputs
content_typestring- MIME type for single file upload, e.g. 'image/jpeg', 'image/png', or 'video/mp4'. Inferred from filename when omitted.
filenamestring- Single filename for upload
filesarray- 1â20 files for parallel presigned URL generation
methodstring- Only supported method. Omit this or set it to 'upload_url'.
source_typestring- Opt in to Developer Files for general project files; pass the returned ID to attach_project_asset after confirmation.
surfacestring- Optional image/video library surface. Use 3d_justu only for that page; omit elsewhere to keep the existing mcp default.one of
mcp3d_justu workspace_idstring- No description.
higgsfieldmcp_media_upload_widgetOpen the Higgsfield upload widget for a user-provided local image, video, or audio file.WriteUpload Local Media
Open the Higgsfield upload widget for a user-provided local image, video, or audio file. Call this immediately when the user says they have a local photo, image, video, or audio on their device to use as Higgsfield input and the MCP client can render Apps UI. Do not ask the user to upload the file directly into Claude chat for Higgsfield; remote MCP tools cannot read those chat attachments. The widget is the upload surface: the user chooses one or more files in the browser, the browser uploads them directly to Higgsfield storage, the widget confirms them, then sends the confirmed media_id/media_ids back to Claude for the next generation or analysis tool call. The widget accepts media only; for general files (archives, documents, code) use media_upload instead and upload the bytes to the presigned upload_url yourself.
Inputs
labelstring- Optional short label shown in the widget header.
max_filesinteger- Maximum files accepted by the widget.
min_filesinteger- Minimum confirmed uploads before Continue is enabled.
multipleboolean- Allow selecting multiple files. Defaults to true for image/auto and false for video/audio.
typestring- Expected media type. Use auto when the user has not specified image, video, or audio.one of
autoimagevideoaudio
higgsfieldmcp_motion_controlAnimate an existing character image with the motion and camera movement from a reference video using Kling 3.0 Motion Control.WriteMotion Control (Recast)
Animate an existing character image with the motion and camera movement from a reference video using Kling 3.0 Motion Control. Use this when the user asks to recast, puppeteer, transfer motion, or make a character follow a driving clip. Pass image_id for the character still and motion_video_id for the reference motion video; each can be a confirmed uploaded media_id or a completed generation job_id. This tool does not use prompt or count; the scene prompt and background setup are handled automatically. resolution controls output quality, and scene_control chooses whether the background is based on the image or the video.
Inputs
paramsobjectrequired- Kling 3.0 motion control parameters.
higgsfieldmcp_move_folderMove one folder under target_parent_id inside the same project.WriteMove Folder
Move one folder under target_parent_id inside the same project. Backend checks membership and cycles. Inspect the folder after an uncertain outcome before retrying.
Inputs
folder_idstringrequired- No description.
project_idstringrequired- No description.
target_parent_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_move_project_assetMove an existing placement_id to target_folder_id, optionally in target_project_id.WriteMove Project Asset
Move an existing placement_id to target_folder_id, optionally in target_project_id. Does not duplicate the source. Inspect assets after an uncertain receipt before retrying.
Inputs
placement_idstringrequired- No description.
project_idstringrequired- No description.
target_folder_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
target_project_idstring- No description.
higgsfieldmcp_outpaint_imageExpand or uncrop an existing image by outpainting beyond the original frame while preserving the source content.WriteOutpaint Image
Expand or uncrop an existing image by outpainting beyond the original frame while preserving the source content. Use this when the user asks to extend the background, make an image wider or taller, change the canvas shape, or fill new edges around an image. Pass image_id for the source image and aspect_ratio for the target canvas. Optional width and height can be provided together; otherwise they default from aspect_ratio. This tool does not use prompt or count. Set params.get_cost=true to estimate credits without submitting a job.
Inputs
paramsobjectrequired- Image outpaint parameters. prompt and count are not supported.
higgsfieldmcp_participate_in_contestEnter the website in the current Higgsfield app contest, together with the social-media links promoting it.WriteEnter App Contest
Enter the website in the current Higgsfield app contest, together with the social-media links promoting it. A website not yet PUBLISHED to the community feed is published automatically by the entry — no need to call publish_website first. The website DOES need a live production deploy (deploy_website), else the entry is rejected. BEFORE entering, make sure the page metadata in app/src/app-meta.json is filled with real values (og_title etc.) — the auto-publish lists the website on the feed and an empty og_title makes it INVISIBLE there. Pass one or more urls, each a social-media link (YouTube, X/Twitter, Instagram, or TikTok); any other host is rejected. There is a single active contest, so no contest id is needed. Calling again for the same website OVERWRITES its urls (use it to fix or add links), it does not create a second entry.
- Idempotent
Inputs
urlsarrayrequired- Social-media links promoting the website (YouTube / X-Twitter / Instagram / TikTok). At least one, at most ten.
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_personal_clipper_createTurn YouTube videos into ready-to-share clips.WritePersonal Clipper
Turn YouTube videos into ready-to-share clips. This is a long-running job and can take up to 30+ minutes. Before starting, ask the user how many clips they want, which clip aspect ratio to use, and which subtitle font they prefer.
Inputs
urlsarrayrequired- YouTube video URLs.
clip_aspectstring- Clip aspect ratio.one of
9:161:116:9 clips_numinteger- How many clips to create.
subtitle_fontstring- Subtitle font.one of
Noto SansNoto SerifNoto Sans DisplayIBM Plex SansM PLUS Rounded 1cBebas NeueArchivo BlackUnboundedInterMontserratBangersPermanent MarkerPlayfair DisplayCaveat
higgsfieldmcp_prepare_generationRead a source generation's original model and complete parameters for the app's Recreate context.WritePrepare Generation
Read a source generation's original model and complete parameters for the app's Recreate context. Prepares settings for the next user request; does not submit or generate anything.
Inputs
This tool takes no inputs.
higgsfieldmcp_project_camera_mediaSave a confirmed camera recording or shot to its project, or resolve an accessible uploaded draft for playback.WriteProject Camera Media
Save a confirmed camera recording or shot to its project, or resolve an accessible uploaded draft for playback. Does not generate media.
Inputs
This tool takes no inputs.
higgsfieldmcp_project_metadataApp-only project header.WriteProject Metadata
App-only project header. Read an accessible project's name and rename capability, or explicitly rename that same project. Changes only its name; no scene edits or media generation.
Inputs
This tool takes no inputs.
higgsfieldmcp_publish_katana_presetSubmit an uploaded video as a Katana community preset for the authenticated user in their selected workspace, optionally including the original prompt and up to ten uploaded image or video references.WritePublish Katana Preset
Submit an uploaded video as a Katana community preset for the authenticated user in their selected workspace, optionally including the original prompt and up to ten uploaded image or video references. Returns a submission receipt; acceptance does not mean the preset is publicly available. Invoked only by the app. Identical submissions reuse their receipt; changed details for an already submitted video are rejected.
Inputs
video_idstringrequired- ID of an uploaded video in the selected workspace.
promptstring- No description.
referencesarray- No description.
higgsfieldmcp_publish_playable_gamePublish a game to the Higgsfield Supercomputer community, where other users can play it; only when the user asks to publish or share it there.WritePublish Playable Game
Publish a game to the Higgsfield Supercomputer community, where other users can play it; only when the user asks to publish or share it there. Pass playable_id for a Playable Ads game, or file_id with name and cover_url (its poster; icon_url too when there is an icon) for a game built in this conversation (one self-contained .html uploaded with media_upload and media_confirm). This writes the game's current version, title and description into its own Supercomputer app and starts a deploy that takes minutes; the result is status pending with app_id. Check get_playable_game_publication about once a minute; once live, call publish_website with website_id = app_id to list the game or refresh its listing. Call this again to ship a newer version or to retry a failed deploy; while a deploy is pending it changes nothing. A newer version of a file_id game is a new upload with its own app.
Inputs
cover_urlstring- Required with file_id: the https URL of the game's poster (from media_confirm), its community card cover.
descriptionstring- The game's description in the community.
file_idstring- media_id of a game built in this conversation: one self-contained .html of at most 32 MiB, uploaded with media_upload and media_confirm.
game_typestring- Only with file_id: the genre (shooter, runner, puzzle, …), which picks the community category; unknown genres go to arcade.
icon_urlstring- Only with file_id: the https URL of the game's icon (from media_confirm).
namestring- The game's community title; required with file_id, else the card keeps its current title (at first the game's name).
playable_idstring- A Playable Ads game in the selected workspace (select_workspace switches it). Ads are never published.
higgsfieldmcp_publish_projectSave supplied Cinema metadata and request publication through the existing writer, which may capture current working content asynchronously.WritePublish Project
Save supplied Cinema metadata and request publication through the existing writer, which may capture current working content asynchronously. Before invocation obtain explicit user publication consent AND confirmation of content rights/permission. Disclose current content exposure and the three explicit visibility settings; discovery disabled leaves a public link public. This is not bound to a prior preview. A flagged review requires a separate user decision; never automatically confirm. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
settingsobjectrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_publish_websitePublish the website: lists the website's CURRENT LIVE production deploy on the Higgsfield community feed ('show in feed'), where other users can discover it.WritePublish Website
Publish the website: lists the website's CURRENT LIVE production deploy on the Higgsfield community feed ('show in feed'), where other users can discover it. This does NOT deploy — deploy_website (which every build flow already runs) must have shipped the latest changes first; publishing with undeployed changes lists the OLD live build, and re-publishing does not re-deploy. BEFORE publishing, the page metadata in app/src/app-meta.json MUST be filled with real values — og_title, og_description, favicon_url, og_image_url — the feed card renders from them (read fresh from the pushed repo at publish time) and a website with an empty og_title is INVISIBLE on the feed; the live page's own head tags are baked at build time, so deploy AFTER changing them. Also OFFER the user a cover video for the card (og_video_url) — ask their permission first (video generation costs credits), never generate it unprompted. Commit and git push the metadata (and all other changes), then deploy, BEFORE calling this. Publish when the user asks to publish / share / go live on the feed, OR when they opted in to publishing at the start of the build — in that case publish automatically once the site is deployed with its metadata filled, without waiting to be asked again. For a plain deploy without a feed listing use deploy_website instead. EXCEPTION: a website whose production was never deployed (or was taken down by unpublish) falls back to deploying first — that returns status 'pending' while CI runs and the website is listed automatically once the deploy succeeds (check with website_status).
- Idempotent
Inputs
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_reframeExpand or reframe an existing video to a new aspect ratio while preserving the source content.WriteReframe Video
Expand or reframe an existing video to a new aspect ratio while preserving the source content. Use this when the user asks to make a video vertical, horizontal, square, wider, taller, or fill new edges around a video. Pass medias with exactly one source video and aspect_ratio for the target canvas. Optional image references can guide the filled area; optional start_image can pin the first frame when the user provides a first-frame anchor. For source videos over 15 seconds, pass duration_seconds and resolution and use only the source video. This tool does not use prompt or count. Set params.get_cost=true to estimate credits without submitting a job.
Inputs
paramsobjectrequired- Video reframe parameters. prompt and count are not supported.
higgsfieldmcp_register_katana_resultSave one verified final video from a named Katana preset as a completed job in the selected workspace.WriteRegister Katana Result
Save one verified final video from a named Katana preset as a completed job in the selected workspace. Pass preset_id and the confirmed final video media_id, the run preset_session_id from get_katana_config, and optionally folder_id. The final job set is added to that session, including when the session is already closed. This links the existing video without copying files, generating, charging generation credits or publishing to the community. Keep media_upload â PUT â media_confirm for local/sandbox exports; if the final video is already confirmed, reuse its media_id. Never pass URLs, local paths, job IDs, drafts, references or comparison videos. On timeout repeat the same inputs and media_id; one video can register one result. Do not regenerate or reupload to retry. A completed response contains job_id for show_generation_by_ids.
Inputs
media_idstringrequired- Confirmed final video in the selected workspace; reuse on retries.
preset_idstringrequired- No description.
folder_idstring- No description.
preset_session_idstring- Run session from get_katana_config; always pass it for a preset run and reuse on retries.
higgsfieldmcp_register_what_if_resultSave one verified final /content-factory what-if short as a completed job in the selected workspace.WriteRegister What If Result
Save one verified final /content-factory what-if short as a completed job in the selected workspace. Pass the confirmed final video media_id, the What If style preset_id when one was used, the episode number when the turn makes several, and optionally folder_id. This links the existing video without copying files, generating or charging credits. Call it once per final video, after media_confirm. Never pass URLs, local paths, job IDs, drafts or reference videos. On timeout repeat the same inputs; one video can register one result. Do not re-render or reupload to retry.
Inputs
media_idstringrequired- Confirmed final video in the selected workspace; reuse on retries.
episodeinteger- Episode number when the turn makes several episodes.
folder_idstring- No description.
preset_idstring- preset_id of the What If style used; omit for the user's own reference or style.
higgsfieldmcp_remove_backgroundRemove or cut out the background from an existing image or video.WriteRemove Background
Remove or cut out the background from an existing image or video. Use this when the user asks for background removal, a transparent background, an isolated subject, a clean cutout, or a subject-only asset. Pass media_id for the source media and media_type as image or video; the matching background remover is selected automatically. This tool does not use prompt, count, or style parameters.
Inputs
paramsobjectrequired- Background removal parameters.
higgsfieldmcp_rename_folderRename one folder inside this project.WriteRename Folder
Rename one folder inside this project. Does not move or delete its contents.
Inputs
folder_idstringrequired- No description.
namestringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_reset_balanceINTERNAL â claim the displayed reset ONLY after the user clicks Reset balance in the widget.WriteReset Balance
INTERNAL â claim the displayed reset ONLY after the user clicks Reset balance in the widget. Pass the exact scope and workspace_id from that offer. Never call this tool from the assistant or automatically retry a claim. After a conflict or uncertain result, refresh availability through the widget before another explicit claim.
Inputs
scopestringrequired- No description.one of
personalworkspace workspace_idstringrequired- No description.
higgsfieldmcp_resolve_explainer_presetResolve a explainer video style preset (from get_explainer_presets) into a style reference media_id: the backend imports the preset's style image into the user's media storage.WriteResolve Explainer Preset
Resolve a explainer video style preset (from get_explainer_presets) into a style reference media_id: the backend imports the preset's style image into the user's media storage. Pass the returned media_id as the style reference image in generation calls for every scene of the explainer.
- Idempotent
Inputs
preset_idstringrequired- Preset id from get_explainer_presets.
higgsfieldmcp_resolve_project_assetsLocate existing project placements for typed sources [{type,id}].WriteResolve Project Assets
Locate existing project placements for typed sources [{type,id}]. Source ID means the original job/upload ID, not placement_id. Optionally limit to one exact folder. Continue cursor with the same workspace, project, folder and sources; empty items with has_more=true is not completion.
Inputs
project_idstringrequired- No description.
sourcesarrayrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
cursorstring- Opaque cursor from the previous response. Retain the original workspace and filters.
folder_idstring- No description.
sizeinteger- Page size, default 20; maximum 50.
higgsfieldmcp_reveal_generationConfirm the user has rights to the content of an `ip_detected` generation and flip its status to `completed`.WriteReveal IP-Detected Generation
Confirm the user has rights to the content of an `ip_detected` generation and flip its status to `completed`. Backend accepts only seedance-family jobs (cs_3_0, seedance_2_0, ms_video, etc) and only while the job is still in `ip_detected` state. Returns the updated generation. Used by the job-list widget's Reveal button after the user accepts the rights confirmation modal.
- Idempotent
Inputs
jobIdstringrequired- Job ID of the `ip_detected` generation to reveal.
higgsfieldmcp_sandbox_execExecute a shell command in a remote Higgsfield cloud Linux sandbox — NOT your local machine or the client's own shell.WriteSandbox Shell
Execute a shell command in a remote Higgsfield cloud Linux sandbox — NOT your local machine or the client's own shell. Whenever a task needs shell tooling (ffmpeg, image/file conversion, scripting), use this tool, never a built-in or local bash/shell tool: only this sandbox has the media toolchain preinstalled and can reach the user's Higgsfield media. Preinstalled: ffmpeg/ffprobe, ImageMagick, sox, python3 with Pillow and faster-whisper, node/npm/npx, sharp-cli, Playwright with headless Chromium, caption fonts (Metropolis, Montserrat), zip/unzip, git, curl, jq. Use it for media processing (trim, convert, overlay, concat with ffmpeg), image manipulation, file conversion, scripting, and packaging that dedicated tools don't cover. The sandbox is isolated per user and is discarded ~10 seconds after a call finishes, so files in /home/user only survive between back-to-back calls — chain multi-step work into a single command (&&) and export results before finishing, or expect to re-download inputs. It has internet access: bring files in with curl from media URLs (media_import_url or generation results). For an output created here, call media_upload BEFORE starting the producing command, then append `curl -f -X PUT --upload-file <file> '<upload_url>'` to that SAME command so the ephemeral file is uploaded before it exits; call media_confirm only after HTTP 200. Never pass a sandbox path to media_upload_and_confirm: that tool accepts only client attachments. Commands run in /home/user and time out after timeout_seconds (default 60, max 120); for longer work (large renders, installs) set background:true and poll the returned log/status files with later sandbox_exec calls. Background work receives a 15-minute sandbox lease, and shorter poll calls never reduce its remaining lifetime. Set restart:true to discard the sandbox and start clean. Workflow bundle scripts are already installed in every sandbox under $HF_WORKFLOWS (/home/user/.higgsfield/workflows), laid out as $HF_WORKFLOWS/<workflow>/scripts/... — run them straight from there (they survive restart:true), and never paste script contents into the command.
Inputs
commandstringrequired- Shell command to run (bash). Runs in the persistent per-user sandbox.
backgroundboolean- Run the command detached and return immediately with a pid, log_path, and status_path. Poll with a later sandbox_exec call; stop with kill <pid>.
image_pathsarray- PNG/JPEG files to return as native images after a successful foreground command. All image files together must be <=512 KiB; split larger sets across calls. Relative paths start at /home/user. Inspect the actual images before writing visual review verdicts.
restartboolean- Discard the current sandbox (all files and processes) and start a fresh one before running the command.
sizestring- Sandbox size (default "standard"). Use "xl" only for heavy rendering or encoding; it stops shortly after the work finishes. Later calls without size reuse a live XL sandbox.one of
standardxl timeout_secondsinteger- Seconds before the command is killed (default 60, max 120). Ignored with background:true.
higgsfieldmcp_save_project_publication_previewSave publication metadata and prepare Cinema preview data.WriteSave Project Publication Preview
Save publication metadata and prepare Cinema preview data. This does not open a rendered preview; only report a link if one is actually returned. This is a MUTATION and may immediately change existing public metadata. First read current settings and disclose the effective resulting prompts/canvas/discovery visibility for user approval. A published project returns its current snapshot, not a private frozen republish draft. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
settingsobjectrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_scene_builder_3d_apply_scene_operationsSubmit a batch of viewport edits with stable operation IDs and inspected scene/entity versions.WriteScene Builder 3d Apply Scene Operations
Submit a batch of viewport edits with stable operation IDs and inspected scene/entity versions. Widget-only. Acceptance precedes GLB checkpointing. On a conflict or uncertain submission, reconcile through scene_builder_3d_get_collaboration before retrying; never blindly repeat edits under new IDs.
Inputs
operationsarrayrequired- No description.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
higgsfieldmcp_scene_builder_3d_create_projectCreate a new private 3D Jutsu project for the authenticated user.WriteScene Builder 3d Create Project
Create a new private 3D Jutsu project for the authenticated user. Supply a descriptive name; the service assigns ownership and the project ID. Use this when the user requests a new project or a new standalone scene. For an existing scene, use scene_builder_3d_list_projects instead. Pass the returned projectId explicitly to subsequent tools; creation does not set a global active project. Call scene_builder_3d_get_project, then scene_builder_3d_query_python to inspect the initial scene and obtain guards before scene_builder_3d_run_python or scene_builder_3d_import_asset. Creation alone does not produce a committed GLB: scene_builder_3d_show_scene becomes available after the first successful edit or import. This call is not idempotent. If the response is interrupted or uncertain, use scene_builder_3d_list_projects to find the new project before retrying; repeating creation can create a duplicate. Before building or editing a scene, load get_preset_instructions with { preset: "/3d-jutsu" } once for the full workflow, runtime limits and scene-building references.
Inputs
namestringrequired- Name for the new private 3D Jutsu project.
higgsfieldmcp_scene_builder_3d_generate_anglesGenerate an AI image from a rendered 3D Jutsu scene using 3d_jutsu_angles (Seedream V5 Pro pricing).WriteScene Builder 3d Generate Angles
Generate an AI image from a rendered 3D Jutsu scene using 3d_jutsu_angles (Seedream V5 Pro pricing). This spends credits. First render and inspect an image with scene_builder_3d_query_python and scene_builder_3d_get_artifact. Supply that operationId/artifactId; optionally include referenceMediaId for an accessible uploaded photo or uploaded first video frame alongside the scene render. The Runner records the immutable references and shared project history. The scene itself is unchanged. After submission, use scene_builder_3d_get_generation. If the response is lost, look up generationId=requestId or repeat exactly the same requestId and arguments, including the reference; never allocate a fresh ID just to retry. Use a new UUID only for an intentional additional generation.
Inputs
artifactIdstringrequired- Published PNG/JPEG artifact from a successful Blender operation in this project. Render and inspect it first.
operationIdstringrequired- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
promptstringrequired- No description.
requestIdstringrequired- Stable UUID for this paid generation. Reuse it only with identical arguments after an uncertain response; a deliberate new generation needs a new UUID.
aspectRatiostring- No description.one of
1:14:33:416:99:163:22:321:9default1:1 referenceMediaIdstring- Confirmed uploaded image media ID to include alongside the rendered scene. For a video source, upload its first frame as an image. Keep this ID unchanged when reconciling the same request.
resolutionstring- No description.one of
1k1.5k2kdefault2k
higgsfieldmcp_scene_builder_3d_generate_videoGenerate a paid Seedance 2.5 video in a 3D Jutsu project.WriteScene Builder 3d Generate Video
Generate a paid Seedance 2.5 video in a 3D Jutsu project. Use a prompt alone (t2v), medias with image/start_image/end_image/video/audio roles (omni_reference), one video for video_edit, or videos plus extensionMode for video_extension. References use data:{id,type} from accessible FNF uploads or prior jobs, never URLs. Supports up to 30 images, 10 videos, 10 audio clips, 50 total. Optionally supply operationId/artifactId together to use a published Blender render as start_image; it counts toward the limits and cannot coexist with another start_image or non-omni mode. Omit mode to infer t2v or omni_reference. Supports bitrateMode, draft (480p) and draftJobId (1080p finalization, mutually exclusive with draft). Worker saves all inputs and shared project history. Preserve requestId and identical arguments on retry; poll scene_builder_3d_get_generation. Never allocate a new ID to recover an uncertain submission.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
promptstringrequired- No description.
requestIdstringrequired- Stable UUID for one paid Seedance 2.5 generation; preserve it and the arguments on retry.
artifactIdstring- No description.
aspectRatiostring- No description.one of
auto21:916:94:31:13:49:16default16:9 bitrateModestring- No description.one of
standardhigh draftboolean- No description.
draftJobIdstring- No description.
durationinteger- No description.default
5 extensionModestring- No description.one of
backwardforward generateAudioboolean- No description.default
true mediasarray- No description.
modestring- No description.one of
t2vomni_referencevideo_editvideo_extension operationIdstring- No description.
resolutionstring- No description.one of
480p720p1080pdefault720p
higgsfieldmcp_scene_builder_3d_get_artifactResolve a short-lived download for an image or video that a successful Python operation published through `artifacts`.WriteScene Builder 3d Get Artifact
Resolve a short-lived download for an image or video that a successful Python operation published through `artifacts`. Use the artifact ID and operation ID or revision returned by that operation; do not invent IDs or filesystem paths. Query artifacts can be operation-scoped without a new committed revision. This retrieves an existing artifact and does not render one. To create a preview, render and publish it with `scene_builder_3d_query_python` or `scene_builder_3d_run_python`. Inspect the returned image using the client's image capability before judging framing, lighting, materials, and geometry. If the client cannot inspect it, describe that limitation rather than claiming a visual check passed.
Inputs
artifactIdstringrequired- No description.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
operationIdstring- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
revisioninteger- Exact committed revision inspected; do not guess.
higgsfieldmcp_scene_builder_3d_get_blendResolve a short-lived download for the current committed editable Blender file, or a specified historical revision.WriteScene Builder 3d Get Blend
Resolve a short-lived download for the current committed editable Blender file, or a specified historical revision. This retrieves the existing scene; it does not create a revision or render a preview. Settle any active mutation with `scene_builder_3d_get_operation` first when you need its result. Use `scene_builder_3d_get_glb` for portable model delivery and `scene_builder_3d_get_artifact` for published images or videos.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
revisioninteger- Exact committed revision inspected; do not guess.
higgsfieldmcp_scene_builder_3d_get_collaborationRead the 3D Jutsu editor snapshot, entity versions, World settings and journal after an optional sequence.WriteScene Builder 3d Get Collaboration
Read the 3D Jutsu editor snapshot, entity versions, World settings and journal after an optional sequence. Widget-only companion to scene_builder_3d_get_project; download the checkpoint with scene_builder_3d_get_glb.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
afterinteger- No description.
higgsfieldmcp_scene_builder_3d_get_generationRead a generation launched by scene_builder_3d_generate_angles or scene_builder_3d_generate_video.WriteScene Builder 3d Get Generation
Read a generation launched by scene_builder_3d_generate_angles or scene_builder_3d_generate_video. Poll while submitting/running. succeeded and failed are final; submission_unknown requires reconciliation, never an automatic new paid generation. Results contain FNF job IDs and image/video URLs. Do not claim success before succeeded or claim visual quality without inspecting the image.
Inputs
generationIdstringrequired- No description.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
higgsfieldmcp_scene_builder_3d_get_glbFor an interactive scene preview use `scene_builder_3d_show_scene`.WriteScene Builder 3d Get Glb
For an interactive scene preview use `scene_builder_3d_show_scene`. Resolve a short-lived download for the current committed GLB, or a specified historical revision. This retrieves an existing export; it does not run Blender, render, or create a new export. Settle any active mutation with `scene_builder_3d_get_operation` first if you need its result. Use GLB for portable scene delivery, and `scene_builder_3d_get_blend` for the editable Blender source. Procedural shading, world lighting, and some Blender features may differ in GLB. A successful download does not establish that the exported scene looks correct.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
revisioninteger- Exact committed revision inspected; do not guess.
higgsfieldmcp_scene_builder_3d_get_operationRead or wait for a submitted Python operation in this project.WriteScene Builder 3d Get Operation
Read or wait for a submitted Python operation in this project. Only `succeeded`, `failed`, `timed_out`, and `expired` are terminal; all other statuses require another poll using the same project and operation IDs. OPERATION_NOT_FOUND is terminal for polling: stop, verify the IDs and submission result, and read the project. Never poll an operation rejected with REVISION_CONFLICT. An HTTP success or a wait timeout does not mean the operation finished. Do not submit another mutation while one is active. On success, use the returned revision and scene sequence for subsequent work; obtain published images and videos through `scene_builder_3d_get_artifact`. On failure, inspect the error and re-read project state before deciding to retry. Do not blindly resubmit a failed operation under another ID. Finish each completed scene creation, edit, or import task by calling `scene_builder_3d_show_scene` once as the final scene inspection/edit call of that review phase, after mutations have settled and verification is complete. Pass the same `projectId` and the exact committed `revision` of the final result: `revisionAfter` from the final successful mutation, or the settled `project.revision` after an import. Do not guess the revision. Show an unchanged revision only once. Authorized generation and status calls may follow; later feedback or a verified mismatch can reopen scene editing. Verify and show the corrected revision at its next review boundary. This shows the result to the user; a text summary or download link alone does not finish scene delivery.
Inputs
operationIdstringrequired- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
waitSecondsinteger- Seconds to wait, capped at 30.default
20
higgsfieldmcp_scene_builder_3d_get_projectRead a 3D Jutsu project's current revision, scene sequence, active operation, and committed artifacts.WriteScene Builder 3d Get Project
Read a 3D Jutsu project's current revision, scene sequence, active operation, and committed artifacts. Obtain `projectId` from `scene_builder_3d_list_projects`, `scene_builder_3d_create_project`, or an explicit user selection. An authorized project with `exists: false` is a valid empty scene at revision 0. Use `scene_builder_3d_query_python` to inspect actual objects, dimensions, materials, cameras, and lights before editing. If an operation is active, use `scene_builder_3d_get_operation` to settle it before another mutation. Scene edits use `scene_builder_3d_run_python` with the exact revision and scene sequence inspected; never guess these guards. Before building or editing a scene, load get_preset_instructions with { preset: "/3d-jutsu" } once for the full workflow, runtime limits and scene-building references.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
higgsfieldmcp_scene_builder_3d_get_scene_assetResolve a signed GET for a scene asset referenced by an object.create.from_glb journal operation from scene_builder_3d_get_collaboration.WriteScene Builder 3d Get Scene Asset
Resolve a signed GET for a scene asset referenced by an object.create.from_glb journal operation from scene_builder_3d_get_collaboration. Widget-only; use the asset ID, not a catalog ID or URL.
Inputs
assetIdstringrequired- No description.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
higgsfieldmcp_scene_builder_3d_import_assetImport a confirmed catalog GLB from `scene_builder_3d_search_assets` into the selected project as a collaborative scene entity.WriteScene Builder 3d Import Asset
Import a confirmed catalog GLB from `scene_builder_3d_search_assets` into the selected project as a collaborative scene entity. Supply the catalog's asset ID, not a URL. The tool runtime resolves and uploads the bytes, reads the project guards, submits the import, and waits for it to appear in the settled scene. Do not import while another mutation is active. After import, inspect dimensions, placement, orientation, contact, and materials with `scene_builder_3d_query_python` before further edits. Do not repeat the whole import to poll: it can create a duplicate. If an import fails, report the error; never fall back to Python network calls or base64-encoded model bytes. Copy catalogSearch from the search result's importArguments. If settled is false, poll scene_builder_3d_get_project until appliedSceneSequence reaches targetSceneSequence. If submissionUnknown is true, inspect the returned entityId before deciding to retry. This version accepts catalog assets only. Finish each completed scene creation, edit, or import task by calling `scene_builder_3d_show_scene` once as the final scene inspection/edit call of that review phase, after mutations have settled and verification is complete. Pass the same `projectId` and the exact committed `revision` of the final result: `revisionAfter` from the final successful mutation, or the settled `project.revision` after an import. Do not guess the revision. Show an unchanged revision only once. Authorized generation and status calls may follow; later feedback or a verified mismatch can reopen scene editing. Verify and show the corrected revision at its next review boundary. This shows the result to the user; a text summary or download link alone does not finish scene delivery.
Inputs
assetIdstringrequired- Confirmed catalog ID from scene_builder_3d_search_assets. Attachment IDs are not supported by this tool.
operationIdstringrequired- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
catalogSearchstring- Copy catalogSearch from the search result's importArguments so the catalog ID can be resolved in the same result set.default
namestring- No description.
transformobject- Editor/glTF coordinates: metres, Y up, XYZW quaternion. Blender bpy coordinates are Z up; account for that when comparing transforms.
waitSecondsinteger- Seconds to wait, capped at 8; poll scene_builder_3d_get_operation if still active.default
8
higgsfieldmcp_scene_builder_3d_list_generationsRead the shared image/video generation history of a 3D Jutsu project, newest accepted first.WriteScene Builder 3d List Generations
Read the shared image/video generation history of a 3D Jutsu project, newest accepted first. Includes pending and failed attempts. Pass nextCursor as before for older records; status changes never reorder records. Use scene_builder_3d_get_generation for an individual result.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
beforeinteger- Copy nextCursor from the previous page. Newest accepted generations come first, regardless of completion order.
limitinteger- No description.default
20
higgsfieldmcp_scene_builder_3d_list_projectsDiscover the authenticated user's 3D Jutsu projects before choosing a scene to read or edit.WriteScene Builder 3d List Projects
Discover the authenticated user's 3D Jutsu projects before choosing a scene to read or edit. Follow `nextCursor` to see more results. Use the selected project's `id` as `projectId` in every project-scoped 3D Jutsu tool; no call sets a global active project. Match the user's named project, and ask them to choose if the result is ambiguous. Then call `scene_builder_3d_get_project` for its current state. A project's presence here does not bypass permission checks on subsequent calls. To start a new project, use scene_builder_3d_create_project. Before building or editing a scene, load get_preset_instructions with { preset: "/3d-jutsu" } once for the full workflow, runtime limits and scene-building references.
Inputs
cursorstring- No description.
limitinteger- No description.default
24
higgsfieldmcp_scene_builder_3d_phone_cameraApp-only phone pairing for the 3D Angles recorder after scene_builder_3d_get_project.WriteScene Builder 3d Phone Camera
App-only phone pairing for the 3D Angles recorder after scene_builder_3d_get_project. Create a room, renew its host ticket, or stop it. Does not modify project cameras or generate media.
Inputs
actionstringrequired- No description.one of
createreconnectstop projectIdstringrequired- No description.
hostOriginstring- No description.
roomstring- Required for reconnect and stop; omitted for create.
higgsfieldmcp_scene_builder_3d_query_pythonInspect the latest settled Blender scene without committing changes.WriteScene Builder 3d Query Python
Inspect the latest settled Blender scene without committing changes. `bpy` and the `artifacts` registry are available; assign concise JSON-serializable findings to `result`. Query exact names, metre-scale dimensions, transforms, parents, collections, materials, cameras, lights, visibility, and animation settings as needed. Inspect Blender RNA when an API or enum is uncertain. Temporary scene changes are discarded, including camera changes used for inspection. A query can render and publish images for visual inspection: allocate a target with `artifacts.file(name="preview.png", media_type="image/png")`, write the image to `target.path`, and call `target.publish()`. Resolve published IDs with `scene_builder_3d_get_artifact`. Use the successful query's `revisionBefore` and `sceneSequenceAfter` as the guards for the next `scene_builder_3d_run_python` call. If still active, poll `scene_builder_3d_get_operation`. Reuse an operation ID only to retry the identical request. Imported model bytes must enter through `scene_builder_3d_import_asset`; do not fetch URLs or embed file bytes in Python.
Inputs
codestringrequired- Use bpy and artifacts; assign JSON-serializable findings to result. Files persist only via artifacts.file(name=..., media_type=...), writing to target.path, then target.publish(). At most eight PNG/JPEG/MP4 files, 512 MiB each and 1 GiB total; images at most 16384 pixels per side and 64 MP. Invalid published files fail the operation. Set image_settings.media_type='IMAGE' before PNG/JPEG, or 'VIDEO' before FFMPEG with MPEG4/H264. No network fetches or embedded model bytes; use scene_builder_3d_import_asset.
operationIdstringrequired- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
waitSecondsinteger- Seconds to wait, capped at 8; poll scene_builder_3d_get_operation if still active.default
8
higgsfieldmcp_scene_builder_3d_run_pythonCommit one coherent Blender scene edit against the exact revision and scene sequence you inspected with `scene_builder_3d_get_project` or `scene_builder_3d_query_python`.WriteScene Builder 3d Run Python
Commit one coherent Blender scene edit against the exact revision and scene sequence you inspected with `scene_builder_3d_get_project` or `scene_builder_3d_query_python`. `bpy` and `artifacts` are available; assign JSON-serializable findings to `result`. Keep one mutation active per project, including imports. If this operation remains active, poll `scene_builder_3d_get_operation` before editing again. Reuse `operationId` only for the identical code and preconditions. On a stale-state conflict, inspect the scene again and regenerate the edit with fresh guards and a new operation ID. REVISION_CONFLICT rejects the submission: do not poll that operation ID. A successful mutation advances `revisionAfter`. This worker pins Blender 5.2: use `BLENDER_EEVEE`, `BLENDER_WORKBENCH`, or `CYCLES`, not `BLENDER_EEVEE_NEXT`. Code is capped at 256 KiB, and execution and checkpoint/export must fit the configured worker deadline; keep renders small and split expensive work into coherent edits. Do not invent texture paths or fetch external files from Blender; use `scene_builder_3d_import_asset` for models. Successful execution does not establish visual correctness. Render from the delivery camera, publish the image through `artifacts`, retrieve it with `scene_builder_3d_get_artifact`, and inspect it before claiming completion. If visual inspection is unavailable, state what remains unverified. Use `scene_builder_3d_get_glb` or `scene_builder_3d_get_blend` when the user needs the committed files. Before building or editing a scene, load get_preset_instructions with { preset: "/3d-jutsu" } once for the full workflow, runtime limits and scene-building references. Finish each completed scene creation, edit, or import task by calling `scene_builder_3d_show_scene` once as the final scene inspection/edit call of that review phase, after mutations have settled and verification is complete. Pass the same `projectId` and the exact committed `revision` of the final result: `revisionAfter` from the final successful mutation, or the settled `project.revision` after an import. Do not guess the revision. Show an unchanged revision only once. Authorized generation and status calls may follow; later feedback or a verified mismatch can reopen scene editing. Verify and show the corrected revision at its next review boundary. This shows the result to the user; a text summary or download link alone does not finish scene delivery.
Inputs
codestringrequired- Use bpy and artifacts; assign JSON-serializable findings to result. Files persist only via artifacts.file(name=..., media_type=...), writing to target.path, then target.publish(). At most eight PNG/JPEG/MP4 files, 512 MiB each and 1 GiB total; images at most 16384 pixels per side and 64 MP. Invalid published files fail the operation. Set image_settings.media_type='IMAGE' before PNG/JPEG, or 'VIDEO' before FFMPEG with MPEG4/H264. No network fetches or embedded model bytes; use scene_builder_3d_import_asset.
expectedSceneSequenceintegerrequired- Exact settled scene sequence inspected by your query.
operationIdstringrequired- Stable ID for this logical operation. Reuse only for an identical request, including code and guards.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
revisionintegerrequired- Exact committed revision inspected; do not guess.
waitSecondsinteger- Seconds to wait, capped at 8; poll scene_builder_3d_get_operation if still active.default
8
higgsfieldmcp_scene_builder_3d_search_assetsSearch the curated GLB model catalog available to 3D Jutsu.WriteScene Builder 3d Search Assets
Search the curated GLB model catalog available to 3D Jutsu. This read is authorized against `projectId`; the catalog itself is shared. Pass a returned `assetId` to `scene_builder_3d_import_asset` for the same selected project. Search results are available models, not objects already present in the scene. Inspect existing scene objects with `scene_builder_3d_query_python` before deciding what to add. Never invent an asset ID or turn a catalog URL into Python download code. Copy the returned importArguments, including catalogSearch, into scene_builder_3d_import_asset.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
limitinteger- No description.default
100 searchstring- No description.default
higgsfieldmcp_scene_builder_3d_show_sceneShow an interactive 3D scene preview of an existing 3D Jutsu project.WriteScene Builder 3d Show Scene
Show an interactive 3D scene preview of an existing 3D Jutsu project. Choose projectId with scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Pass revisionAfter from a successful edit to show that exact result, or omit revision for the latest committed GLB. Wait for edits to settle with scene_builder_3d_get_operation before showing their result. This reads an existing export; it never starts Blender, edits the scene, or includes uncommitted collaborative changes. Call this when the user asks to see the scene. For a completed scene creation, edit, or import task, call it once at the scene review boundary after settlement and verification. Do not repeat an unchanged revision. Authorized generation/status calls may follow; feedback or a verified mismatch can reopen editing and lead to a newly verified revision. The widget is for the user to inspect; it does not give the agent visual evidence. Use scene_builder_3d_query_python and scene_builder_3d_get_artifact for the agent's visual verification. If the client cannot display widgets, provide the returned projectUrl.
Inputs
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
revisioninteger- Committed revision to preview. Omit for the latest committed revision; use revisionAfter to show the exact result of an edit.
higgsfieldmcp_scene_builder_3d_upload_catalog_assetUpload a confirmed catalog GLB into the authorized project's current settled revision.WriteScene Builder 3d Upload Catalog Asset
Upload a confirmed catalog GLB into the authorized project's current settled revision. Widget-only. sha256 must match the bytes displayed by the editor. Returns only the uploaded scene asset ID, which the editor references in one object.create.from_glb operation through scene_builder_3d_apply_scene_operations. This does not create a scene object.
Inputs
assetIdstringrequired- No description.
catalogSearchstringrequired- No description.
projectIdstringrequired- Project ID from scene_builder_3d_list_projects, scene_builder_3d_create_project, or the user's explicit selection. Required on every project-scoped tool.
sha256stringrequired- No description.
higgsfieldmcp_select_workspaceSet or clear the active workspace — the one all subsequent MCP operations bill against and read from (generations, balance, transactions, uploads, custom references).WriteSelect Workspace
Set or clear the active workspace — the one all subsequent MCP operations bill against and read from (generations, balance, transactions, uploads, custom references). How to work with workspaces: (1) call `list_workspaces` first to see the user's workspaces with their `id`, plan, available credits, and which one is currently active (`is_selected`); (2) call `select_workspace` with the chosen `workspace_id` to switch — e.g. to run and bill work under a shared/team workspace instead of the private default; (3) call again with `clear: true` to return to the default private workspace. The selection persists across sessions and clients until changed or cleared, so it stays in effect for later turns without re-selecting. When the user belongs to more than one workspace, confirm which one to use before billable operations. Returns an error if the workspace doesn't exist or the user isn't a member.
- Idempotent
Inputs
clearboolean- When true, clear the selected workspace instead of selecting one.
workspace_idstring- Workspace UUID from `list_workspaces`. Required unless `clear` is true.
higgsfieldmcp_set_generation_likeLike or unlike a generation for the authenticated user from the app.WriteSet Generation Like
Like or unlike a generation for the authenticated user from the app. Sets the requested state; repeated requests are safe. Pass folder_id when acting from a project so its LIKE permission is checked; unlike removes only the user's own bookmark even after access is revoked.
- Idempotent
Inputs
job_idstringrequired- No description.
likedbooleanrequired- No description.
folder_idstring- No description.
higgsfieldmcp_shorts_studio_createStart a Shorts Studio short: restyle one uploaded source video (4s–120s) into a set of AI-generated short-form clips using a style preset.WriteCreate Short
Start a Shorts Studio short: restyle one uploaded source video (4s–120s) into a set of AI-generated short-form clips using a style preset. PAID — reserves credits. Prerequisites, gathered in whatever order fits the conversation: (1) a style preset — pick one via shorts_studio_list_presets or make one with shorts_studio_create_preset; (2) a source video — an uploaded video_input id from media_upload_widget (type=video). If the user hasn't provided a source video yet, ask them to upload one before calling this. Output orientation defaults to 9:16 (vertical); pass aspect_ratio:'16:9' for horizontal. Returns a session with empty job_ids; poll shorts_studio_status until clips appear. Set get_cost=true with duration_seconds to estimate the credit cost without submitting a job — no preset or source video needed for the estimate.
Inputs
aspect_ratiostring- Output orientation. Defaults to 9:16 (vertical); use 16:9 for horizontal.one of
9:1616:9default9:16 duration_secondsnumber- Source video duration in seconds. Required when get_cost is true.
get_costboolean- If true, return the credit cost for a short of duration_seconds without submitting a job.default
false preset_idstring- Style preset id from shorts_studio_list_presets or shorts_studio_create_preset. Required unless get_cost is true.
preset_sourcestring- Preset library: 'user' or 'cms' (the item's preset_source). Required unless get_cost is true.one of
cmsuser resolutionstring- Only 720p is supported.
source_video_idstring- Uploaded source video's video_input id (from media_upload_widget, type=video). Required unless get_cost is true.
higgsfieldmcp_shorts_studio_create_presetCreate a user-owned Shorts Studio style preset from reference media (videos + images).WriteCreate Shorts Studio Preset
Create a user-owned Shorts Studio style preset from reference media (videos + images). This just stores a STYLE — no generation, no credits. Reference media must be public https URLs (use an uploaded media's url or media_import_url first). Limits: ≤10 media total, each video's duration ≤30s (send `duration` so the cap applies). Returns the id and preset_source to feed into shorts_studio_create. If the user did not give a name, invent a random friendly two-word name yourself (e.g. 'Amber Drift', 'Neon Tide', 'Velvet Dusk') — never leave it blank or ask.
Inputs
namestringrequired- Preset name. If the user didn't provide one, generate a random friendly two-word name (e.g. 'Amber Drift', 'Neon Tide') rather than asking or leaving it empty.
image_mediasarray- Style-reference images.
promptstring- Optional style direction (e.g. 'cinematic teal & orange').
thumbnailstring- Optional thumbnail URL.
video_mediasarray- Style-reference videos.
higgsfieldmcp_show_charactersSoul Characters widget — reusable trained identity models.WriteShow Characters
Soul Characters widget — reusable trained identity models. Actions: `list` (browse), `train` (needs `name` + 5-20 ref images, ~10 min, non-blocking — widget polls), `status` (inspect by `soul_id`). Presence of `name`/`images`/`medias` ⇒ train mode. Call `train` only on explicit ask for a reusable Soul / digital twin / identity, or when 5+ ref photos are supplied. Ref images accept: media_id UUIDs from media_confirm, completed image-job IDs, or https URLs. Never local paths — upload via media_upload → PUT bytes → media_confirm first. CONSTRAINTS: - Trained Soul is usable ONLY with `soul_2` (Soul V2) and `soul_cinematic` (Soul Cinema). For any other model, the user needs `show_reference_elements`. - ONE soul_id per generation. Multi-character shots ('me + friend', 'two people') must use `show_reference_elements` (supports multiple `<<<UUID>>>` placeholders). AMBIGUITY GUARD — character/avatar/digital-twin/'use my face' requests without a chosen path: do NOT call this tool yet; ask the user to pick: 1. Train Soul (this tool) — identity-faithful, ONE person, 5-20 photos, ~10 min, Soul V2 / Cinema only. 2. Save as Element (`show_reference_elements` action=create) — instant, single image, multiple subjects allowed, works with Nano Banana Pro / 2, GPT Image 2, Seedream 4.5 / 5 lite, Cinema Studio Image 2.5, Cinema Studio Video 2 / 3.0, Seedance 2.0, Kling 3.0. → Soul signals: 'train' / 'digital twin' / 'identity' / 5+ photos of same person. → Force Elements: >1 character in shot, non-person subject, single image, mention of a non-Soul model, instant result wanted. After ready: `generate_image` with `model: 'soul_2'` (or `soul_cinematic`) + the returned `soul_id`.
Inputs
actionstring- Mode selector: list, train/create, or status/get.
cursornumber- Pagination cursor from previous response's next_cursor.
imagesarray- For Soul training: returned media_id UUIDs from media_confirm, completed image generation job IDs, or https image URLs. Required with medias to total 5-20 images for action=train. Do not pass local file paths.
mediasarray- Chat media references to resolve as training images for action=train. Values may be media_id UUIDs, completed image generation job IDs, or https image URLs.
namestring- Character name, required for action=train.
sizeinteger- Number of characters per page.default
20 soul_idstring- Character id for action=status.
statusstring- List filter. Use ready to find characters available for generation.one of
readytrainingfailed typestring- Character type. Use soul_2 for model='soul_2'; use soul_cinematic for model='soul_cinematic'; use soul for legacy Soul references.one of
soulsoul_2soul_cinematicdefaultsoul_2
higgsfieldmcp_show_credit_resetOpen the Credit Reset widget when the user invokes /reset-credits or asks to see their reset offer.WriteShow Credit Reset
Open the Credit Reset widget when the user invokes /reset-credits or asks to see their reset offer. Opening it never claims credits or changes the subscription. Use the returned scenario and phase. Errors mean availability could not be checked, not account ineligibility. Never invent an offer, amount or successful claim.
Inputs
This tool takes no inputs.
higgsfieldmcp_show_katana_resultDisplay the final completed Katana video in its result widget with preview and download.WriteShow Katana Result
Display the final completed Katana video in its result widget with preview and download. Retained for backward compatibility; prefer show_result with action for new calls. Call after verifying the final export. Pass exactly one of media_id (a confirmed owned video UUID) or url (a public HTTPS video URL, up to 50 MB). URL input imports and confirms the video in your media library before displaying it. Prefer media_id for an already uploaded video to avoid duplicate uploads. Never pass a job ID, local path or unfinished render.
Inputs
media_idstring- Confirmed owned video UUID; omit when using url.
urlstring- Public HTTPS video URL, up to 50 MB; omit when using media_id.
higgsfieldmcp_show_marketing_studio_v2Open Marketing Studio â a template gallery widget with category tabs (UGC ads, product shots, motion graphics, posters, ads, marketplace) and a preset grid the user browses and recreates from with their own product image.WriteShow Marketing Studio V2
Open Marketing Studio â a template gallery widget with category tabs (UGC ads, product shots, motion graphics, posters, ads, marketplace) and a preset grid the user browses and recreates from with their own product image. Use this whenever the user asks for Marketing Studio or wants marketing assets in UGC, ads, posters or marketplace categories. For product-shot or motion catalog browsing, and /marketing-studio, use get_presets instead. The widget handles preset selection, inputs, generation, and result display itself â no follow-up tool calls needed. If the result is a workspace-selection error, ask the user which workspace to use, call select_workspace, then call this tool again.
Inputs
categorystring- Category tab to open on. Defaults to 'all'.one of
allugcproduct-shotmotionadspostersmarketplace
higgsfieldmcp_show_plans_and_creditsOpen the single combined pricing widget for everything billing-related.WriteShow Plans & Credit Top-ups
Open the single combined pricing widget for everything billing-related. The widget has two tabs the user can switch between: **Upgrade Plan** (Plus + Ultra, monthly + annual subscription cards) and **Top-up Credits** (one-time credit packs of 500 / 1,000 / 2,000 / 4,000 credits). Cards include feature lists, 7-Day Unlimited highlights, and 365-Day Unlimited blocks pulled from the live pricing config. Each plan card and credit pack has a CTA that links directly to the relevant Stripe or Higgsfield checkout/setup URL — no separate tool is needed to mint checkouts. For every billing request, the text response and `assistant_response` are intentionally short, user-facing sales copy with checkout URLs wrapped as action-specific Markdown links such as `[Go to Checkout](url)`, `[Higgsfield Upgrade](url)`, `[Higgsfield Credit Top-up](url)`, `[Higgsfield Auto-refill](url)`, `[Higgsfield Team Top-up](url)`, or `[Higgsfield Team Auto-refill](url)`; relay that response verbatim instead of summarizing, saying only that the widget opened, or listing options without links. If the user asks to buy credits or they are out of credits, first push auto-refill when `auto_refill_purchase_link` is present, then show `credit_purchase_links`. If the user asks to upgrade or a minimum plan is required, show `plan_purchase_links`. Pass `intent='auto_refill'` for out-of-credits recovery, `intent='topup'` for one-time credit packs, `intent='upgrade'` for plan upgrades, or `intent='trial'` when the user specifically asks for the free trial so the response is ordered for that purchase path. FREE TRIAL: when `free_trial` is present in the response, the user is eligible for a 3-day $0 Plus trial with MCP-only credits — the widget shows it and the text response leads with it. In text-only clients ALWAYS relay `free_trial.compliance_note` verbatim (MCP-only, card required, automatic charge after the trial unless cancelled, how to cancel by saying 'cancel auto-renewal'). When `free_trial` is absent, NEVER speculate about trial eligibility or mention fraud/abuse checks — present the paid plans neutrally. When `initial_view='trial_upgrade'`, the user's trial credits are exhausted: relay the numbered upgrade options plus the renewal reminder, and mention that saying 'cancel auto-renewal' stops the upcoming charge while keeping trial access. To cancel the trial's auto-renewal, call `cancel_trial_auto_renewal` instead of this tool. Use this tool for ANY of these requests: plans, pricing, subscriptions, upgrade options, comparing tiers, buying credits, topping up credits, refilling credits, credit packs. Do not look for separate `show_plans` or `show_credit_topups` tools — both have been merged into this one. Returns `already_subscribed: true` when the workspace is already on a paid plan; the widget hides the Upgrade tab in that case and shows only credit top-ups. Team-plan workspaces: `workspace_kind` field indicates the context. When `workspace_kind='team_owner'`, the widget renders team-specific Top-up and Auto-refill UIs and emits `team_purchase_links` (two links: `team_top_up` and `team_auto_refill`) that deeplink to the team billing modals on higgsfield.ai — relay both Markdown links in the text response. When `workspace_kind='team_member'`, no purchase links are returned; the widget shows a read-only notice and the text response tells the user only the workspace owner can buy credits or change auto-refill. Do not invent purchase links for members.
Inputs
intentstring- Purchase path to prioritize in the widget and text fallback. Use auto_refill for out-of-credits recovery, topup for one-time credit packs, upgrade for minimum-plan errors or plan changes, trial when the user specifically asks for the free trial, and general for pricing comparison.one of
upgradetopupauto_refilltrialgeneraldefaultgeneral
higgsfieldmcp_show_reference_elementsElements widget — reusable characters / environments / props per workspace.WriteShow Reference Elements
Elements widget — reusable characters / environments / props per workspace. Actions: - `list` (default; paginated by `created_at` DESC, use `cursor` from prev `next_cursor`). - `get` (default when `element_id` is set). - `create`: pass `medias[]` as `{ id, url, type: 'media_input' | 'image_job' }`. Upload first via media_upload → PUT bytes → media_confirm. `category='auto'` lets the server classify (use explicit only on user ask). Omit `name` to auto-derive (per-workspace unique, collisions get a numeric suffix). Returns synchronously. AMBIGUITY GUARD vs Soul — user wants a reusable face of one specific person (digital twin / 'my avatar' / identity) without a chosen path: do NOT silently create; ask: 1. Element (this tool action=create) — instant, single image, MULTIPLE references per generation, works with Nano Banana Pro / 2, GPT Image 2, Seedream 4.5 / 5 lite, Cinema Studio Image 2.5, Cinema Studio Video 2 / 3.0, Seedance 2.0, Kling 3.0. NOT for Soul V2 / Cinema. 2. Soul (`show_characters` action=train) — 5-20 photos, ~10 min, ONE person, Soul V2 / Cinema only. Skip the question → Elements on: >1 character/subject in one shot (Soul can't), non-person subject, single image, mention of Nano Banana / Seedream / Kling / Cinema Studio, instant result. Skip → Soul on: 'train' / 'digital twin' / 'identity', or 5+ photos of one person for solo outputs. USAGE IN GENERATION (internal — never explain to user): Embed `<<<element_id>>>` inside `params.prompt` of `generate_image` / `generate_video`. Backend auto-injects the image and rewrites to `@element_name`. Multiple placeholders per prompt OK. Example: `"Cinematic portrait of <<<UUID>>> on a rooftop"`, `"<<<A>>> handing coffee to <<<B>>> in a Paris cafe"`. SUPPORTED MODELS (`params.model` = machine name, friendly in parens): - Image: `nano_banana_pro` (Nano Banana Pro), `nano_banana_2` (Nano Banana 2), `gpt_image_2` (GPT Image 2), `seedream_v4_5` (Seedream 4.5), `seedream_v5_lite` (Seedream 5.0 lite), `cinematic_studio_2_5` (Cinema Studio Image 2.5). - Video: `cinematic_studio_video_v2` (Cinema Studio Video 2), `cinematic_studio_3_0` (Cinema Studio Video 3.0), `seedance_2_0` (Seedance 2.0), `kling3_0` (Kling 3.0 — REQUIRES a `start_image` in `params.medias`; element placeholder alone won't trigger reference usage). Map friendly→machine silently. Other models silently ignore the placeholder. USER-FACING STYLE: use friendly model names only; never expose machine names, `<<<UUID>>>` syntax, `params.model` / `params.prompt`, `generate_image` / `generate_video`, or 'job_set_type'. Reference elements by `name`, never id. GUARDS: - `@name` form does NOT work in tool calls — only `<<<UUID>>>` in `params.prompt`. - Do NOT put element ids in `params.medias` / `params.input_images` — placeholder handles injection. - `kling3_0` only honors reference elements when an explicit `start_image` is provided in `params.medias`. If the user wants Kling 3.0 with an element but hasn't supplied a start frame, ask for one (upload via media_upload → PUT bytes → media_confirm, or pick a prior generation) before calling `generate_video`. Without a start_image, pick another video model from the list. - Only `status: completed` elements are usable; skip `processing` / `ip_checking` / `failed` / `kling_failed` / `nsfw`.
Inputs
actionstring- Operation mode. Defaults to `get` if `element_id` is set, otherwise `list`.one of
listgetcreate categorystring- [action=create] `auto` lets the server classify from the first images. Use a specific category only if the user is explicit. Defaults to `auto`.one of
autocharacterenvironmentprop cursornumber- [action=list] Pass `next_cursor` from a previous response to get the next page.
descriptionstring- [action=create] Optional free-form description, stored as-is.
element_idstring- [action=get] Fetch a single reference element by id.
mediasarray- [action=create] Image references. Required. URLs must be https (private/loopback hosts rejected); normally Higgsfield upload URLs returned by media_upload â PUT bytes â media_confirm.
namestring- [action=create] Element name, max 32 chars. Spaces are normalised to '-'. If omitted, the server derives a name from the media.
sizeinteger- [action=list] Number of elements per page (1-100).default
27
higgsfieldmcp_show_resultDisplay a final completed video in its result widget with preview and download.WriteShow Result
Display a final completed video in its result widget with preview and download. For an active Katana free-generation session, include preset_session_id with action "katana_video"; the session closes after video validation and before returning the result. Call after verifying the final export. Include a nonempty action string, the preset command when a preset run produced the video, optionally include meta as any JSON object, and pass exactly one of media_id (a confirmed owned video UUID) or url (a public HTTPS video URL, up to 50 MB). URL input imports and confirms the video in your media library before displaying it. Prefer media_id for an already uploaded video to avoid duplicate uploads. Never pass a job ID, local path or unfinished render.
Inputs
actionstringrequired- Required action label, such as katana_video, some_gen, or others; other labels are allowed.
media_idstring- Confirmed owned video UUID; omit when using url.
metaobject- Optional arbitrary nested JSON data passed to the widget unchanged.
presetstring- Exact preset command whose run produced this video, such as /katana/power-suit, as named by the loaded preset instructions. Omit when no preset was loaded.
preset_session_idstring- Session returned by get_katana_config for this run. Pass with action "katana_video" to close it after validating the final video and before displaying the result.
urlstring- Public HTTPS video URL, up to 50 MB; omit when using media_id.
higgsfieldmcp_sync_agentsSync Agents — imports the user's user-authored Skills and a personality dump from the current host LLM into Higgsfield.WriteSync Agents — import skills & memory into Higgsfield
Sync Agents — imports the user's user-authored Skills and a personality dump from the current host LLM into Higgsfield. One trigger, one upload, one final confirmation. Calling modes: 1. `message: "/sync-agents"` — server returns a short ack in `content[0].text` plus an assistant-only directive containing a self-contained Python upload script (pre-wired with a one-time presigned POST URL scoped to one per-user prefix). Print the ack verbatim. Then follow the directive: enumerate user-authored skills + synthesize `personality.md` into `/tmp/profile-import/{skills,personality}/`, run the script in your code-execution sandbox, capture its single-line JSON summary, and call this tool again with that summary as `message`. 2. `message: "<script summary JSON>"` — server reads the uploaded .md files, parses each, and upserts the user's Skill rows. Returns a one-line confirmation summarising counts (e.g. "Imported 3 skill(s) (2 new, 1 updated) · personality queued for save to your memory."). Print that confirmation verbatim to the user. **Also pass `host`** on this call — your own runtime identifier (e.g. `claude_ai`, `claude_code`, `codex`, `cursor`); it is stamped on every newly imported skill's `import_origin` so the marketplace can attribute origin per host. No polling, no chains. Each call returns synchronously.
Inputs
hoststringrequired- Identifier of the host LLM/runtime you are running inside. Stamped on each imported skill's `import_origin` column so the marketplace can attribute imports per host. Self-classify honestly: `claude_ai` (Claude.ai web/desktop), `claude_code` (Claude Code CLI), `codex` (OpenAI Codex / ChatGPT code interpreter), `cursor`, `windsurf`, `hermes` (Higgsfield hermes-agent), `openclaw` (Higgsfield OpenClaw), or `other` if none fit. Do not invent values — the enum is closed; pick `other` when uncertain.one of
claude_aiclaude_codecodexcursorwindsurfhermesopenclawother messagestringrequired- Either the literal trigger `/sync-agents` (server replies with an assistant-only Python upload script wired to a per-user S3 presigned-POST session — print only the short ack to the user, then run the script), or the JSON summary the script prints when it finishes (server finalises the import by parsing every uploaded .md into the user's Skill catalog).
higgsfieldmcp_tiktok_connectStart connecting the user's TikTok account.WriteConnect a TikTok Account
Start connecting the user's TikTok account. Returns an authorize_url — show it to the user as a link; they open it in a browser, approve access on TikTok, and land on a confirmation page. Afterwards call tiktok_accounts to verify the account became `active`. The URL expires in ~10 minutes. If an account already exists in `error` status, use tiktok_reconnect instead.
Inputs
namestring- Only when connecting a SECOND account: a distinct label, e.g. "tiktok-brand". Default "tiktok".
higgsfieldmcp_tiktok_prepare_publishStep 1 of publishing to TikTok.WritePrepare a TikTok Post
Step 1 of publishing to TikTok. Validates the media and TikTok account, creates a publish session, and returns what the user must review and choose (preview, privacy options, required declarations, confirmations). The media URL must be a Higgsfield-hosted asset (TikTok requires a verified source domain). Then collect the user's choices and call tiktok_publish. mode=DIRECT_POST posts to the profile; mode=UPLOAD_TO_DRAFT saves to the user's TikTok drafts. MEDIA LIMITS — check before calling, and convert or downscale locally if a file does not comply; a rejected file costs a full convert-and-re-upload round trip, and TikTok rejects some files only asynchronously, after the post was submitted. Photos: JPEG or WebP only (PNG is rejected by TikTok, and Higgsfield image generation emits PNG — convert first), each at most 20 MB, resolution must fit within 1920x1080 or 1080x1920, up to 35 images. Videos: MP4, WebM or MOV, at most 1 GB, 3-600 seconds, at least 360 px on both sides, 23-60 FPS.
Inputs
connector_idstringrequired- Active TikTok account from tiktok_accounts.
media_typestringrequired- Type of media being published.one of
VIDEOPHOTO modestringrequired- Publish mode: DIRECT_POST posts to the profile; UPLOAD_TO_DRAFT saves to the user's TikTok drafts.one of
DIRECT_POSTUPLOAD_TO_DRAFT allow_commentboolean- Prefill — only if the user already stated it.
allow_duetboolean- Prefill — only if the user already stated it.
allow_stitchboolean- Prefill — only if the user already stated it.
commercial_content_disclosureobject- Prefill — only if the user already stated it.
descriptionstring- Longer post description text.
is_aigcboolean- Prefill — only if the user already stated whether the media is AI-generated.
photo_cover_indexinteger- Index of the photo to use as the post cover, for PHOTO posts.
photo_imagesarray- Required for PHOTO. Higgsfield-hosted image URLs.
privacy_levelstring- Prefill for the publish form — pass ONLY if the user already stated it explicitly.one of
PUBLIC_TO_EVERYONEMUTUAL_FOLLOW_FRIENDSFOLLOWER_OF_CREATORSELF_ONLY titlestring- Caption / title.
video_urlstring- Required for VIDEO. Must be a Higgsfield-hosted asset URL.
higgsfieldmcp_tiktok_publishStep 2 of publishing.WritePublish to TikTok
Step 2 of publishing. Call only after tiktok_prepare_publish and after collecting the user's explicit choices and confirmations. Pass the publish_session_id from prepare (the media is locked to it — do not resend URLs). Set every flag listed in the prepare response's required_confirmations to true; these represent real user consent (AIGC/branded-content/music/privacy). Optionally attach a commercial track via music_sound_id from tiktok_music_trending (DIRECT_POST only). Returns a publish_id for tiktok_publish_status. PUBLISH QUOTAS per account, enforced before TikTok is called: at most 5 posts per minute and 13 posts per 24 hours, both rolling (TikTok's own ceiling is 6/minute and 15/day). A rejection returns code=cadence_burst or cadence_daily plus retry_after_seconds — wait that long instead of retrying, since retrying sooner only earns another rejection. Failed attempts and drafts do not consume quota; a post TikTok accepted does. Duration, frame size and frame rate are measured from the media file itself by tiktok_prepare_publish, before a publish slot is spent — there is no duration argument, never ask the user for one. music_sound_volume, video_original_sound_volume, music_sound_start and music_sound_end apply only together with music_sound_id and only to videos; without a track, or on a photo post, they are ignored. MEDIA LIMITS — check before calling, and convert or downscale locally if a file does not comply; a rejected file costs a full convert-and-re-upload round trip, and TikTok rejects some files only asynchronously, after the post was submitted. Photos: JPEG or WebP only (PNG is rejected by TikTok, and Higgsfield image generation emits PNG — convert first), each at most 20 MB, resolution must fit within 1920x1080 or 1080x1920, up to 35 images. Videos: MP4, WebM or MOV, at most 1 GB, 3-600 seconds, at least 360 px on both sides, 23-60 FPS.
Inputs
connector_idstringrequired- No description.
media_typestringrequired- No description.one of
VIDEOPHOTO modestringrequired- No description.one of
DIRECT_POSTUPLOAD_TO_DRAFT publish_session_idstringrequired- From tiktok_prepare_publish.
publish_tokenstringrequired- Widget-only authorization from prepare result metadata.
allow_commentboolean- No description.
allow_duetboolean- No description.
allow_stitchboolean- No description.
auto_add_musicboolean- No description.
commercial_content_disclosureobject- DIRECT_POST: if enabled, at least one of your_brand / branded_content must be true.
descriptionstring- No description.
is_aigcboolean- Set true for AI-generated/edited media (AIGC disclosure).
music_sound_endinteger- Track trim end in milliseconds. Defaults to the video duration. VIDEO only.
music_sound_idstring- Commercial Music Library track to attach: song_clip_id from tiktok_music_trending. DIRECT_POST only â drafts don't keep music. Mutually exclusive with auto_add_music.
music_sound_startinteger- Track trim start in milliseconds (65000 starts the track at 1:05). Defaults to the track beginning. VIDEO only.
music_sound_volumeinteger- Track volume 0-100. Defaults to 50. VIDEO only.
privacy_levelstring- Required for DIRECT_POST; pick from prepare's privacy_level_options.one of
PUBLIC_TO_EVERYONEMUTUAL_FOLLOW_FRIENDSFOLLOWER_OF_CREATORSELF_ONLY titlestring- No description.
video_original_sound_volumeinteger- Original video audio volume 0-100. Defaults to 50 (0 mutes the user's own audio). VIDEO only.
higgsfieldmcp_tiktok_reconnectRe-run the TikTok OAuth for an existing connector in `error` status (expired/revoked access).WriteReconnect a TikTok Account
Re-run the TikTok OAuth for an existing connector in `error` status (expired/revoked access). Returns a fresh authorize_url — show it to the user as a link, then verify with tiktok_accounts.
Inputs
connector_idstringrequired- The connector to reconnect, from tiktok_accounts.
higgsfieldmcp_track_generation_downloadRecord a generation download started by the authenticated user in the app.WriteTrack Generation Download
Record a generation download started by the authenticated user in the app.
Inputs
job_idstringrequired- No description.
higgsfieldmcp_unpublish_projectRequest unpublishing under Cinema semantics after explicit user approval.WriteUnpublish Project
Request unpublishing under Cinema semantics after explicit user approval. Does not delete the private project or source files. No snapshot compare-and-swap binding is promised. This is not cancelling a pending review. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_update_preferencesPersist whether to automatically create a media project for new MCP conversations.WriteUpdate Preferences
Persist whether to automatically create a media project for new MCP conversations. Call only when the user asks to enable or disable this saved preference (for example, always create a project for new chats). A one-off create-project or no-project request must not change this preference. Does not create, delete or move any projects or existing media. Other preferences remain unchanged.
Inputs
auto_create_projectbooleanrequired- Enable or disable automatic project creation for new conversations; false is the default.
higgsfieldmcp_update_projectUpdate shared project metadata only.WriteUpdate Project
Update shared project metadata only. Omitted fields stay unchanged; null clears nullable fields. Does not change Supercomputer configuration. Inspect get_project capabilities when permissions are unclear.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
colorstring- No description.one of
cyanslatelimevioletpurplepinkyellow cover_image_urlstring- No description.
descriptionstring- No description.
emojistring- No description.
namestring- No description.
preview_urlstring- No description.
higgsfieldmcp_update_project_publicationSave partial Cinema publication settings.WriteUpdate Project Publication
Save partial Cinema publication settings. This may immediately change public metadata or visibility; it is not always a private draft. Read current settings and disclose the effective resulting prompts/canvas/discovery visibility before user approval. Omission leaves fields unchanged and null follows Cinema clearing semantics. Obtain explicit user approval through the MCP host before invoking this tool. The host owns its approval policy; the server cannot independently verify a human decision. Do not invoke based only on inferred intent. After an uncertain response, stop and read get_project_publication to observe current state. There is no per-operation receipt or automatic replay guarantee; do not blindly repeat a publication mutation. The private working-project name, public publication title (settings.name), and URL slug (settings.slug) are distinct; never infer a title or slug change from a working-project rename. For a share-link request, preserve any existing slug; prepare a nonempty URL-safe slug in the proposal only when absent or when the user requests a URL change, before approval and verify public_url after completion. show_canvas does not establish whether chats are hidden; no separate chat-privacy control or complete composition inventory is available, so do not promise that chats are excluded. Pending moderation runs automatically: wait and read state; only awaiting_confirm needs a separate flagged-item decision. Capture can include changes made while publication is in flight; after a completed snapshot, later working-project changes require republishing. Report completion only from observed state and review, never merely an accepted mutation response. For republish, compare snapshot_id and processing state with the prior observation. An unchanged snapshot may be a successful no-op when current content is already served, or the old version while work is in flight; do not infer pending from an unchanged ID. Report observed state and any attribution uncertainty; neither a new snapshot nor current state is a per-call receipt.
Inputs
project_idstringrequired- No description.
settingsobjectrequired- No description.
workspace_idstringrequired- No description.
higgsfieldmcp_upscale_imageUpscale and enhance an existing image.WriteUpscale Image
Upscale and enhance an existing image. Use this when the user asks to upscale, enhance, or increase the resolution of an image to 2K/4K. This tool does not use prompt or count. Provider selects the upscale backend; currently only 'bytedance' is supported (the default). You MUST pass the source image's width and height in pixels (the caller supplies them; the server does not infer them). Set params.get_cost=true to preflight credits (flat cost) without submitting a job.
Inputs
paramsobjectrequired- Image upscale parameters. prompt and count are not supported.
higgsfieldmcp_upscale_videoUpscale and enhance an existing video.WriteUpscale Video
Upscale and enhance an existing video. Use this when the user asks to upscale, enhance, sharpen, denoise, restore, or convert a video to higher resolution. This tool does not use prompt or count, and does not support cost preflight. Choose a provider: 'bytedance' (preset-based, target 1080p/2K/4K — you MUST pass the source video width/height in pixels and may set fps to 24/30/60) or 'topaz' (Topaz Video, aspect-ratio based, target 1080p/2160p — no source dimensions needed).
Inputs
paramsstringrequired- Video upscale parameters. Set provider to 'bytedance' or 'topaz'. prompt, count and get_cost are not supported.
higgsfieldmcp_use_higgsfieldInteract with Higgsfield through a single interface for app services and UI actions.WriteUse Higgsfield
Interact with Higgsfield through a single interface for app services and UI actions. Use action to select the operation and page to identify the current app page. If action is omitted, the app is initialized; if page is omitted, home is used. Returns structured data for the requested operation.
Inputs
This tool takes no inputs.
higgsfieldmcp_video_analysis_createStart a scene-by-scene analysis of a video.WriteCreate Video Analysis
Start a scene-by-scene analysis of a video. Provide EXACTLY ONE of: (a) video_input_id — UUID of a video the user has uploaded via media_upload/media_confirm, or (b) youtube_url — a YouTube link (youtube.com / youtu.be hosts only). Returns immediately with status='queued'; poll video_analysis_status until status='completed'. Processing typically takes 3-5 minutes on average. IMPORTANT: warn the user up front that the longer the video, the less accurate the scene-by-scene analysis becomes — short clips give the most reliable results.
Inputs
video_input_idstring- UUID of the uploaded source video (the media_id returned by the upload tool).
youtube_urlstring- HTTPS YouTube video URL on youtube.com, www.youtube.com, m.youtube.com, or youtu.be.
higgsfieldmcp_visual_effects_historyRead one page of the user's accessible Viral preset generations.WriteVisual Effects History
Read one page of the user's accessible Viral preset generations. Does not generate media.
Inputs
cursorstring- No description.
sizeinteger- No description.default
50
higgsfieldmcp_visual_effects_listRead the website's public visual preset previews and category filters.WriteVisual Effects List
Read the website's public visual preset previews and category filters. Does not generate media.
Inputs
categorystring- No description.default
all cursorinteger- No description.default
0 sizeinteger- No description.default
50
higgsfieldmcp_visual_effects_samplesRead approved public examples and their input media for a visual preset.WriteVisual Effects Samples
Read approved public examples and their input media for a visual preset. Does not generate media.
Inputs
preset_idstringrequired- No description.
higgsfieldmcp_voice_changeReplace the spoken voice in a video with a different voice while keeping the original timing and visuals, then re-merge the new audio onto the video.WriteVoice Change
Replace the spoken voice in a video with a different voice while keeping the original timing and visuals, then re-merge the new audio onto the video. Use this when the user asks to change, swap, or revoice the speaker in a clip. Pass video_id for the source video (a confirmed uploaded media_id or a completed video generation job_id) and voice_id for the target voice. voice_type selects whether voice_id is a built-in preset voice ('preset') or a workspace reference element ('element'). This tool does not use prompt or count; output dimensions are taken from the source video automatically.
Inputs
paramsobjectrequired- Voice change parameters.
higgsfieldmcp_website_repo_accessGet direct git access to a website's repo to edit it — THE way to get the website's code.WriteWebsite Repo Access
Get direct git access to a website's repo to edit it — THE way to get the website's code. Returns the repo URL, branch, slug, and a scoped token; clone it with the terminal tool, edit files, commit + push, then call deploy_website. Clone into a directory named after the slug so multiple websites can share the workspace. Access is scoped to your own websites — do not echo the token back to the user.
- Idempotent
Inputs
website_idstringrequired- The website's id (returned by create_website).
operationstring- No description.one of
checkoutpushdefaultcheckout
higgsfieldmcp_website_secretsManage a website's SECRETS (environment variables: API keys, tokens).WriteWebsite Secrets
Manage a website's SECRETS (environment variables: API keys, tokens). Set them HERE instead of hardcoding them in source. One tool, three operations: 'set' (store/replace — needs name + value); 'delete' (remove — needs name); 'list' (the configured secrets as a {name: value} map). A change (set OR delete) is STAGED — NOT live until the next deploy_website. Read a secret SERVER-side in website code; never ship it to the browser.
Inputs
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_what_if_compose_messageValidate a filled What If form and return the /content-factory chat message that starts the short.WriteWhat If Compose Message
Validate a filled What If form and return the /content-factory chat message that starts the short.
Inputs
inputsobjectrequired- No description.
higgsfieldmcp_archive_projectArchive one project reversibly.DestructiveArchive Project
Archive one project reversibly. Inspect get_project capabilities first when permissions are unclear. Restore it with unarchive_project.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_cancel_trial_auto_renewalCancel the auto-renewal of the Higgsfield MCP free trial.DestructiveCancel Trial Auto-renewal
Cancel the auto-renewal of the Higgsfield MCP free trial. Call this when the user asks to cancel the trial, cancel auto-renewal, stop the upcoming charge, or asks how to cancel. IMPORTANT SEMANTICS: cancelling stops the automatic charge at the end of the trial ONLY — the user KEEPS trial access and remaining trial credits until the trial ends; nothing is charged. First call WITHOUT `confirm` (or confirm=false): in UI clients this opens a confirmation card with 'Keep trial with auto-renewal' and 'Cancel auto-renewal' buttons; in text-only clients relay `assistant_response` verbatim and wait for the user's explicit confirmation. Only call again with `confirm=true` after the user explicitly confirmed the cancellation in chat. Never pass confirm=true on the first call.
- Idempotent
Inputs
confirmboolean- false (default): show the cancellation confirmation (widget in UI clients, question in text clients) — always start here. true: actually cancel auto-renewal — pass ONLY after the user explicitly confirmed the cancellation in chat (text-only clients; in UI clients the widget button confirms).default
false
higgsfieldmcp_delete_folderDelete one folder with explicit confirm_delete=true.DestructiveDelete Folder
Delete one folder with explicit confirm_delete=true. cascade defaults to false; folders with children may be rejected. Deleting placements does not physically delete their uploaded sources. Do not retry uncertain outcomes automatically.
Inputs
confirm_deletebooleanrequired- No description.
folder_idstringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
cascadeboolean- No description.
higgsfieldmcp_delete_projectPermanently delete one project and cascade through its contents.DestructiveDelete Project
Permanently delete one project and cascade through its contents. Requires explicit user authorization and confirm_delete=true. Do not automatically retry an uncertain outcome; inspect the project first. Underlying uploaded sources are not promised to be physically purged.
Inputs
confirm_deletebooleanrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_remove_project_assetRemove only this placement_id from the project.DestructiveRemove Project Asset
Remove only this placement_id from the project. Requires confirm_remove=true and explicit user authorization. Does not delete or physically purge the underlying uploaded file or job. Do not retry uncertain outcomes automatically.
Inputs
confirm_removebooleanrequired- No description.
placement_idstringrequired- No description.
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
higgsfieldmcp_rename_websiteRename the website's SUBDOMAIN (the slug in its public URL).DestructiveRename Website Subdomain
Rename the website's SUBDOMAIN (the slug in its public URL). The site is re-deployed under the new subdomain and the OLD subdomain STOPS WORKING — anyone holding the old URL must be given the new one. Storage (database, files, config) and the code repo are KEPT; only the public address changes. Runs a full re-deploy and can take a couple of minutes; returns once the site is live at the new URL. Fails if the new subdomain is already taken or reserved, or if a deploy is already in flight — pick another subdomain and retry.
- Idempotent
Inputs
new_slugstringrequired- The new subdomain (the slug in the public URL). Lowercase letters, digits and hyphens; must be globally unique and not a reserved name.
website_idstringrequired- The website's id (returned by create_website).
higgsfieldmcp_show_marketing_studioWhen replying to the user, do not say `ms_image` — refer to it as "DTC Ads".DestructiveShow Marketing Studio
When replying to the user, do not say `ms_image` — refer to it as "DTC Ads". Do NOT use this tool for 'multiply my video', 'multiply my ad', or multiple edited versions of one supplied source video. Load `get_workflow_instructions` with `workflow='ad-multiplier'` instead. Open the Marketing Studio widget with the user's product/webproduct/avatar library. `type` is one of: `avatar`, `product`, `webproduct`. Marketing Studio video presets are ALWAYS included in the response. Use `action='list'` for library, `action='presets'` for presets only, `action='fetch'` for URL fetch flow, or `action='create'` for manual creation of product / webproduct / avatar from uploaded media. DIFFERENCE BETWEEN `product` AND `webproduct` (this drives how the resulting video is framed): - `product` — a SPECIFIC physical/sellable item the video should advertise. Pick this when the user wants the ad to feature the item itself (e.g. an Amazon SKU page for a t-shirt, a BMW M model page, a single SKU on a brand site, a direct image of a product). The video showcases the item, not the website. - `webproduct` — a WEBSITE / APP / SERVICE the user wants to advertise as a whole. Pick this when there is no single physical item to feature and the ad should promote the site/app itself (e.g. App Store / Google Play listings, a SaaS landing page, a company homepage with no specific SKU). The video promotes the site. When in doubt, default to `product` (most users advertise a specific item, not a site). If the URL is an App Store / Google Play page, prefer `webproduct`. If unsure, omit `type` entirely and let the server infer from the URL. Pass `url` with `type=product`/`webproduct` (or omit `type` to infer it from the URL) to trigger a fetch and IMMEDIATELY render the widget with the in-progress entity + the user's full library. The widget shows a top-right progress pill and polls server-side until fetching finishes — no waiting on this tool call. MANUAL CREATION (`action='create'`): - `type='product'`: provide uploaded media in `medias[]`. If `title` is omitted, server derives one from media URL filename (fallback `Uploaded Product`). - `type='webproduct'`: provide chat media in `medias[]` (and optionally `webproduct_medias[]` for direct URL medias). `title`, `subtitle`, `description`, `favicon_url`, and `webproduct_url` are all optional. - `type='avatar'`: provide `avatars[]` (1-4 items), each with `name` plus a single image media. Avatar media must be an image. Pick the right `medias[0]` shape based on what you have: · UPLOADED FILE (media_input UUID from media_upload) — REQUIRED to include url: `{value: <uuid>, url: <https://upload.higgsfield.ai/...|https://upload-dev.higgsfield.ai/...|https://cdn.higgsfield.ai/...>, type: 'media_input', role: 'image'}`. Server cannot fetch the URL for a media_input UUID itself. · COMPLETED IMAGE-GENERATION JOB (image_job UUID) — url optional: `{value: <job_uuid>, role: 'image'}` works (server pulls result_url from the job). Pass `url` + `type: 'image_job'` to skip the extra lookup. · DIRECT HTTPS URL — pass it as `value`: `{value: <https://...>, role: 'image'}`. Server ingests it via media-upload. Equivalent pre-resolved shape: `media: {id, url, type}` (skip `medias[]`). Backend rejects any avatar URL outside cloudfront.net / cdn.higgsfield.ai / upload.higgsfield.ai / upload-dev.higgsfield.ai. AFTER calling this tool with `url`, you MUST immediately call `generate_video` with `params.model='marketing_studio_video'` and `params.url` set to the same URL to generate the marketing video in its OWN widget. That call blocks until fetching is ready (up to ~45s) and then submits the video — no manual media handling needed. Dedupes by URL: repeated calls for the same URL reuse any existing non-failed entity instead of re-fetching. MS IMAGE INPUTS (`generate_image` with `model='ms_image'`): - `type='brand_kit'` (alias `brand_kits`): manage Marketing Studio brand kits — name, logo, hero/product images, colours, fonts, tone of voice, products. Two creation flows: · `action='fetch'` with `scrap_url='<brand site URL>'` — server scrapes the site asynchronously. Status starts as `queued`/`in_progress`; the widget shows live progress and updates when done. DO NOT poll manually or call `generate_image` with the new id until the user confirms the kit is ready. · `action='create'` with `brand_kit={...}` — manual create when the user describes their brand directly (brand name, logo, images, colors, etc.) instead of giving a website URL. Returns `status='completed'` immediately — no polling. All fields in `brand_kit` are optional; aim for at least `brand_name`, `business_overview`, `logo`, and `images`. Recommended two-step flow: (1) ask one open question, research/draft the body yourself (web search, uploaded files via media_upload → CDN URLs); (2) show the user a readable summary, accept edits, THEN call `action='create'`. Do not interrogate the user for 17 fields. `logo` and `images[].url` must be CDN URLs (`upload.higgsfield.ai/...`, `upload-dev.higgsfield.ai/...`, or `cdn.higgsfield.ai/...`) — upload local/external files via the media_upload flow first. · Other actions: `action='list'`, `action='get'`/`'update'`/`'delete'` (each requires `brand_kit_id`). PUT update REPLACES `data` wholesale — call `action='get'` first, modify, send the full picture. - `type='ad_format'` (aliases: `ad_formats`, `image_style`, `image_styles`): list curated DTC Ads ad-format presets for `ms_image`. Read-only. The user picks one as `style_id` for ad image generation. If the user doesn't pick one, the server resolves to a sensible default — but you SHOULD list and let them pick. MARKETING STUDIO SETUP (hooks + settings): - `type='hook'` (alias `hooks`): list available Marketing Studio Setup hooks — the 'what' (attention-grabbing mechanic, e.g. "Object flies into frame"). Returns user-owned + CMS preset items. - `type='setting'` (alias `settings`): list available Marketing Studio Setup settings — the 'where' (location/vibe, e.g. "Sunlit kitchen, morning light"). Returns user-owned + CMS preset items. - Some Marketing Studio video presets can include built-in hook/setting behavior. If the user picks such a preset, `hook_id`/`setting_id` are optional overrides rather than required fields. - Hooks/settings are supported only for these presets: `UGC`, `Tutorial`, `Unboxing`, `Product Review`, `UGC Virtual Try On`. - `hook_id` and `setting_id` are INDEPENDENT — pass either, both, or neither. Use `size`, `user_cursor` (cursor pagination), and `search` for these listings. Pass any returned `id` to `generate_video` as `params.hook_id` and/or `params.setting_id` to apply the hook/setting to the marketing video. This tool is read-only for setup items — creation/pinning/preview generation are not exposed via MCP.
Inputs
actionstring- Explicit mode selector. list=library by type, presets=presets only, fetch=URL fetch flow (product/webproduct/brand_kit), create=manual creation (type chooses entity), update=edit existing entity, get=fetch one by id (brand_kit), delete=remove by id (brand_kit).
ad_reference_idstring- UUID of the ad reference to update. Required for action=update,type=ad_reference.
avatarsarray- Plural array. Two contexts: 1) `action=create,type=avatar` — avatars to CREATE. Each item: { name, medias|media, is_pinned? }. Max 4. `name` is required. 2) `action=create,type=ad_reference` — REFERENCE to a single existing avatar. Pass `avatars: [{id: <avatar uuid>, type: 'custom'|'preset'}]` (max 1 item).
brand_kitobject- Brand kit data payload for `action='create'` or `action='update'` with `type='brand_kit'`. All fields optional; for create aim for at least `brand_name`, `business_overview`, `logo`, `images`. `logo` and `images[].url` must be CDN URLs (`upload.higgsfield.ai/...` / `upload-dev.higgsfield.ai/...` / `cdn.higgsfield.ai/...`) — upload local files via the media_upload flow first. PUT update REPLACES the data wholesale — `action='get'` first, modify the fields you want to change, send the full picture back.
brand_kit_idstring- UUID of the brand kit to GET / UPDATE / DELETE. Used by `action='get'`, `action='update'`, `action='delete'` with `type='brand_kit'`.
descriptionstring- Used by action=create with type=product/webproduct.
edited_concept_jsonstring- User-edited concept as structured JSON. Used by action=update,type=ad_reference. Only allowed once the ad reference's status is `completed` or `failed`.
edited_concept_textstring- User-edited concept as plain text. Used by action=update,type=ad_reference. Only allowed once the ad reference's status is `completed` or `failed`.
favicon_urlstring- Used by action=create,type=webproduct.
folder_idstring- Optional folder for product fetch.
limitinteger- Page size for product/webproduct (offset/limit pagination).default
20 media_input_idsarray- Legacy media IDs for action=create,type=product.
mediasarray- Chat media for action=create with type=product/webproduct.
modestring- Optional Marketing Studio preset label/slug for next_step video generation.
offsetinteger- Used for product/webproductdefault
0 preset_cursorinteger- Avatars only: cursor over presets
product_idsarray- Plural array (max 1 item). Used by action=create,type=ad_reference to link an existing product. Pass `product_ids: ['<product uuid>']`. Do NOT use `product_id` (singular) — only the plural form is accepted.
scrap_urlstring- Required by `action='fetch'` with `type='brand_kit'`. Pass the brand's website URL — the server fetches it asynchronously and populates the brand kit.
scrape_urlstring- Deprecated alias of `url` for product/webproduct fetch. Prefer `url`.
searchstring- Search query — applies to avatar / hook / setting listings (case-insensitive substring match against name)
sizeinteger- Page size for avatar / hook / setting / ad_reference listingsdefault
20 subtitlestring- Used by action=create,type=webproduct.
titlestring- Used by action=create with type=product/webproduct. For product, optional and auto-derived from media when omitted; for webproduct optional.
typestring- Entity kind to list. Use `avatar`/`product`/`webproduct`/`ad_reference`/`brand_kit` for libraries, `hook`/`setting` for Marketing Studio Setup items (read-only — listing only, no creation), `ad_format` (alias of `image_style`) for the curated DTC Ads ad-format catalogue (read-only). `preset`/`presets` are accepted as a no-op alias for omitting `type` — returns video presets only. Plural aliases (`avatars`, `products`, `webproducts`, `hooks`, `settings`, `ad_references`, `brand_kits`, `ad_formats`, `image_styles`) are accepted. Optional when `url` is set (inferred from URL).one of
avataravatarsproductproductswebproductwebproductspresetpresetshookhookssettingsettingsad_referencead_referencesbrand_kitbrand_kitsimage_styleimage_stylesad_formatad_formats urlstring- URL to fetch. When set, only product/webproduct are valid. https:// is added automatically if missing.
user_cursornumber- Cursor pagination (created_at timestamp from the previous page's last item). Applies to avatars, hooks, settings, and ad_references. Pass `null`/omit for first page.
video_input_idstring- Used by action=create,type=ad_reference. UUID of a video already uploaded in chat (the chat-attachment's media id IS the video_input_id). URL ingestion is NOT supported — do NOT ask the user for TikTok/Instagram/YouTube/HTTPS links. If the user has only a URL, tell them to download the file and upload it as a chat attachment first.
webproduct_mediasarray- Used by action=create,type=webproduct. Direct webproduct medias with url/type.
webproduct_urlstring- Used by action=create,type=webproduct. URL stored on the webproduct (not fetched).
higgsfieldmcp_unarchive_projectRestore one archived project.DestructiveUnarchive Project
Restore one archived project. Does not create a new project or modify its contents.
Inputs
project_idstringrequired- No description.
workspace_idstringrequired- Workspace context used for this request. This never changes the account's selected workspace.
No tools match.