
Generate AI images and videos via OAuth; uses your Vidaro credits.
Maintained byvidarostudio.com(verified)Also a maintainer?
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Polls one generation by id for the signed-in user. When to use: after any generate_* or import completion path. Cost: free (DB reads only). If status is queued and wait_seconds>0, blocks up to ~wait_seconds with polling (cap 25). Returns: viewer-oriented content with URLs or clear retry guidance; do not start a new job while one is still running.
Vidaro generation id to inspect.
Optional wait window (0–25) while status is queued.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://api.vidarostudio.com/mcp
Polls one generation by id for the signed-in user. When to use: after any generate_* or import completion path. Cost: free (DB reads only). If status is queued and wait_seconds>0, blocks up to ~wait_seconds with polling (cap 25). Returns: viewer-oriented content with URLs or clear retry guidance; do not start a new job while one is still running.
| Argument | Type | Description |
|---|---|---|
| wait_seconds | integer | Optional wait window (0–25) while status is queued. |
| generation_id* | string | Vidaro generation id to inspect. |
{
"type": "object",
"title": "check_generationArguments",
"required": [
"generation_id"
],
"properties": {
"wait_seconds": {
"type": "integer",
"title": "Wait Seconds",
"default": 0,
"maximum": 25,
"minimum": 0,
"description": "Optional wait window (0–25) while status is queued."
},
"generation_id": {
"type": "string",
"title": "Generation Id",
"minLength": 1,
"description": "Vidaro generation id to inspect."
}
}
}Polls a create_upload_link session owned by the signed-in user. When to use: after sharing the upload URL. Cost: free. wait_seconds (0–25) can wait for a new file. Successful uploads appear in list_uploads.
| Argument | Type | Description |
|---|---|---|
| link_id* | string | Link id from create_upload_link. |
| wait_seconds | integer | Optional wait for a new upload (same semantics as check_generation). |
{
"type": "object",
"title": "check_upload_linkArguments",
"required": [
"link_id"
],
"properties": {
"link_id": {
"type": "string",
"title": "Link Id",
"minLength": 1,
"description": "Link id from create_upload_link."
},
"wait_seconds": {
"type": "integer",
"title": "Wait Seconds",
"default": 0,
"maximum": 25,
"minimum": 0,
"description": "Optional wait for a new upload (same semantics as check_generation)."
}
}
}Grants free daily credits for eligible free accounts (same rules as web daily bonus). When to use: when get_credits shows daily bonus available. Cost: adds configured daily credits (not a debit). Idempotent per UTC day. Returns: credits_granted and updated balance fields.
No arguments.
{
"type": "object",
"title": "claim_daily_creditsArguments",
"properties": {}
}Creates a short-lived upload URL for the signed-in user to add files from their device into their library. When to use: user needs to supply refs (e.g. motion clip). Cost: free. Returns: link id and URL; then check_upload_link until files arrive.
| Argument | Type | Description |
|---|---|---|
| kind | string | Restrict accepted uploads to images, videos, or any. |
| max_files | integer | Maximum files allowed on this link. |
{
"type": "object",
"title": "create_upload_linkArguments",
"properties": {
"kind": {
"enum": [
"image",
"video",
"any"
],
"type": "string",
"title": "Kind",
"default": "any",
"description": "Restrict accepted uploads to images, videos, or any."
},
"max_files": {
"type": "integer",
"title": "Max Files",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Maximum files allowed on this link."
}
}
}Read-only pricing preview: same validation and credit math as a real generation, without spending credits. When to use: always immediately before any generate_* call; tell the user the number of credits and pass max_credits accordingly. Returns: estimated credit cost and breakdown fields. motion_control uses the motion clip length; video_edit uses source length; video_extend uses source plus extension. Genjutsu Explore: pass template_slug. Does not enqueue jobs.
| Argument | Type | Description |
|---|---|---|
| mode* | string | Generation mode; must match model capabilities. |
| options | any | Additional model-specific options (key/value). |
| quality | any | Quality tier string (model-specific, e.g. 720p, 1080p). |
| duration | any | Target duration in seconds for video modes that accept it. |
| model_id* | string | Catalog model slug (from list_models). |
| preset_id | any | Genjutsu restyle: preset id when mode is restyle. |
| video_url | any | Genjutsu: https URL for template source video. |
| batch_size | any | Number of images for batch image modes (model-dependent max). |
| image_urls | any | Genjutsu: list of https image URLs for template slots. |
| aspect_ratio | any | Aspect ratio string when the mode supports it. |
| template_slug | any | Genjutsu template slug when using Explore templates. |
| generate_audio | any | Video modes: whether to generate audio when supported. |
| reference_count | any | image_to_image: number of reference images (combined with upload ids). |
| video_upload_id | any | Genjutsu: upload id for template source video. |
| image_upload_ids | any | Genjutsu: list of image upload ids for template slots. |
| motion_upload_id | any | motion_control: motion reference video upload id. |
| motion_video_url | any | motion_control: https URL of motion reference video. |
| source_upload_id | any | image_to_video: start-frame image upload id. |
| source_video_url | any | video_edit/extend: https URL of source video. |
| character_image_url | any | Motion / character routes: https URL for still identity. |
| character_upload_id | any | Motion / character routes: still identity upload id (user library). |
| video_generation_id | any | Genjutsu: generation id for template source video. |
| image_generation_ids | any | Genjutsu: list of image generation ids for template slots. |
| motion_generation_id | any | motion_control: motion reference video from a generation id. |
| reference_upload_ids | any | image_to_image: reference uploads (combined with reference_count). |
| source_video_upload_id | any | video_edit/extend: source video upload id. |
| character_generation_id | any | Motion / character routes: still identity from a past generation id. |
| source_video_generation_id | any | video_edit/extend: source clip from a Vidaro generation id. |
{
"type": "object",
"title": "estimate_costArguments",
"required": [
"model_id",
"mode"
],
"properties": {
"mode": {
"enum": [
"text_to_image",
"image_to_image",
"text_to_video",
"image_to_video",
"video_edit",
"video_extend",
"motion_control",
"motion_transfer",
"object_swap",
"restyle",
"character_sheet"
],
"type": "string",
"title": "Mode",
"description": "Generation mode; must match model capabilities."
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Additional model-specific options (key/value)."
},
"quality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quality",
"default": null,
"description": "Quality tier string (model-specific, e.g. 720p, 1080p)."
},
"duration": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Duration",
"default": null,
"description": "Target duration in seconds for video modes that accept it."
},
"model_id": {
"type": "string",
"title": "Model Id",
"minLength": 1,
"description": "Catalog model slug (from list_models)."
},
"preset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preset Id",
"default": null,
"description": "Genjutsu restyle: preset id when mode is restyle."
},
"video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "Genjutsu: https URL for template source video."
},
"batch_size": {
"anyOf": [
{
"type": "integer",
"maximum": 8,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Batch Size",
"default": null,
"description": "Number of images for batch image modes (model-dependent max)."
},
"image_urls": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Urls",
"default": null,
"description": "Genjutsu: list of https image URLs for template slots."
},
"aspect_ratio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Aspect Ratio",
"default": null,
"description": "Aspect ratio string when the mode supports it."
},
"template_slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Slug",
"default": null,
"description": "Genjutsu template slug when using Explore templates."
},
"generate_audio": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Generate Audio",
"default": null,
"description": "Video modes: whether to generate audio when supported."
},
"reference_count": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Reference Count",
"default": null,
"description": "image_to_image: number of reference images (combined with upload ids)."
},
"video_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Upload Id",
"default": null,
"description": "Genjutsu: upload id for template source video."
},
"image_upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Upload Ids",
"default": null,
"description": "Genjutsu: list of image upload ids for template slots."
},
"motion_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Upload Id",
"default": null,
"description": "motion_control: motion reference video upload id."
},
"motion_video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Video Url",
"default": null,
"description": "motion_control: https URL of motion reference video."
},
"source_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Upload Id",
"default": null,
"description": "image_to_video: start-frame image upload id."
},
"source_video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Url",
"default": null,
"description": "video_edit/extend: https URL of source video."
},
"character_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Image Url",
"default": null,
"description": "Motion / character routes: https URL for still identity."
},
"character_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Upload Id",
"default": null,
"description": "Motion / character routes: still identity upload id (user library)."
},
"video_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Generation Id",
"default": null,
"description": "Genjutsu: generation id for template source video."
},
"image_generation_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Generation Ids",
"default": null,
"description": "Genjutsu: list of image generation ids for template slots."
},
"motion_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Generation Id",
"default": null,
"description": "motion_control: motion reference video from a generation id."
},
"reference_upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Reference Upload Ids",
"default": null,
"description": "image_to_image: reference uploads (combined with reference_count)."
},
"source_video_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Upload Id",
"default": null,
"description": "video_edit/extend: source video upload id."
},
"character_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Generation Id",
"default": null,
"description": "Motion / character routes: still identity from a past generation id."
},
"source_video_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Generation Id",
"default": null,
"description": "video_edit/extend: source clip from a Vidaro generation id."
}
}
}Starts AI Influencer character-sheet generation (portrait + full-body refs). When to use: after estimate_cost with mode character_sheet. Cost: debits credits up to max_credits. Returns: generation metadata and polling instructions. Use either upload ids or https URLs for identity/items (not both). Only use images the user is allowed to submit.
| Argument | Type | Description |
|---|---|---|
| seed | any | Optional integer seed for reproducibility. |
| brief | any | Optional creative brief text. |
| options | any | Tier/selection options (see get_model for ai-influencer). |
| model_id* | string | Character-sheet model slug; use ai-influencer. |
| max_credits* | integer | User-approved credit ceiling from estimate_cost. |
| item_image_urls | any | HTTPS URLs for worn items (max 3). |
| item_upload_ids | any | Upload ids for items (max 3). |
| identity_image_url | any | HTTPS URL for identity reference (alternative to upload). |
| identity_upload_id | any | Upload library id for identity (alternative to URL). |
{
"type": "object",
"title": "generate_character_sheetArguments",
"required": [
"model_id",
"max_credits"
],
"properties": {
"seed": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Seed",
"default": null,
"description": "Optional integer seed for reproducibility."
},
"brief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Brief",
"default": null,
"description": "Optional creative brief text."
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Tier/selection options (see get_model for ai-influencer)."
},
"model_id": {
"type": "string",
"title": "Model Id",
"minLength": 1,
"description": "Character-sheet model slug; use ai-influencer."
},
"max_credits": {
"type": "integer",
"title": "Max Credits",
"minimum": 0,
"description": "User-approved credit ceiling from estimate_cost."
},
"item_image_urls": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Item Image Urls",
"default": null,
"description": "HTTPS URLs for worn items (max 3)."
},
"item_upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Item Upload Ids",
"default": null,
"description": "Upload ids for items (max 3)."
},
"identity_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Identity Image Url",
"default": null,
"description": "HTTPS URL for identity reference (alternative to upload)."
},
"identity_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Identity Upload Id",
"default": null,
"description": "Upload library id for identity (alternative to URL)."
}
}
}Starts a video job from a Genjutsu Explore template; debits credits up to max_credits. When to use: after estimate_cost with matching template_slug and slot inputs. Slot values are upload ids, generation ids, or default:{n} on official templates. prompt overrides when the template allows editing.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Explore template slug (from catalog tools). |
| inputs | any | Ordered slot values: upload ids, generation ids, or default:{n}. |
| prompt | any | Optional prompt override if prompt_editable. |
| quality | any | Output quality tier when the template supports it. |
| max_credits* | integer | User-approved credit ceiling from estimate_cost. |
{
"type": "object",
"title": "generate_from_genjutsu_templateArguments",
"required": [
"slug",
"max_credits"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"minLength": 1,
"description": "Explore template slug (from catalog tools)."
},
"inputs": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Inputs",
"default": null,
"description": "Ordered slot values: upload ids, generation ids, or default:{n}."
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt",
"default": null,
"description": "Optional prompt override if prompt_editable."
},
"quality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quality",
"default": null,
"description": "Output quality tier when the template supports it."
},
"max_credits": {
"type": "integer",
"title": "Max Credits",
"minimum": 0,
"description": "User-approved credit ceiling from estimate_cost."
}
}
}Starts a text-to-image or image-to-image job for the signed-in user. When to use: after estimate_cost with the same arguments. Cost: debits up to max_credits when queued (same pricing as web). Returns: generation_id and next steps (poll with check_generation). Uses credits immediately when accepted. Prefer reference_generation_ids or reference_upload_ids for Vidaro-owned images; external URLs also count toward model max references.
| Argument | Type | Description |
|---|---|---|
| mode | string | text_to_image or image_to_image. |
| prompt* | string | User prompt text; must not be empty for text_to_image. |
| options | any | Extra generation options (model-specific). |
| quality | any | Quality tier (model-specific). |
| model_id* | string | Image model slug from list_models. |
| style_id | any | Soul-style id when the model uses styles. |
| batch_size | any | Batch output count when supported. |
| max_credits* | integer | Ceiling credits the user agreed to spend; must be >= estimate_cost result. |
| aspect_ratio | any | Aspect ratio when the model supports it. |
| reference_image_urls | any | image_to_image: external https image URLs. |
| reference_upload_ids | any | image_to_image: upload library ids as refs. |
| reference_generation_ids | any | image_to_image: past Vidaro image generation ids to use as refs. |
{
"type": "object",
"title": "generate_imageArguments",
"required": [
"model_id",
"prompt",
"max_credits"
],
"properties": {
"mode": {
"enum": [
"text_to_image",
"image_to_image"
],
"type": "string",
"title": "Mode",
"default": "text_to_image",
"description": "text_to_image or image_to_image."
},
"prompt": {
"type": "string",
"title": "Prompt",
"minLength": 1,
"description": "User prompt text; must not be empty for text_to_image."
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Extra generation options (model-specific)."
},
"quality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quality",
"default": null,
"description": "Quality tier (model-specific)."
},
"model_id": {
"type": "string",
"title": "Model Id",
"minLength": 1,
"description": "Image model slug from list_models."
},
"style_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Style Id",
"default": null,
"description": "Soul-style id when the model uses styles."
},
"batch_size": {
"anyOf": [
{
"type": "integer",
"maximum": 8,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Batch Size",
"default": null,
"description": "Batch output count when supported."
},
"max_credits": {
"type": "integer",
"title": "Max Credits",
"minimum": 0,
"description": "Ceiling credits the user agreed to spend; must be >= estimate_cost result."
},
"aspect_ratio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Aspect Ratio",
"default": null,
"description": "Aspect ratio when the model supports it."
},
"reference_image_urls": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Reference Image Urls",
"default": null,
"description": "image_to_image: external https image URLs."
},
"reference_upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Reference Upload Ids",
"default": null,
"description": "image_to_image: upload library ids as refs."
},
"reference_generation_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Reference Generation Ids",
"default": null,
"description": "image_to_image: past Vidaro image generation ids to use as refs."
}
}
}Starts a video generation for the signed-in user (text-to-video, image-to-video, motion control, Seedance edit/extend, Genjutsu, etc.). When to use: only after estimate_cost with matching inputs. Cost: spends credits up to max_credits when queued. Returns: generation_id and polling guidance. See estimate_cost for which source fields apply to each mode.
| Argument | Type | Description |
|---|---|---|
| mode | string | Video generation mode. |
| prompt* | string | User prompt; required for most modes. |
| options | any | Model-specific extra options. |
| quality | any | Video quality tier (model-specific). |
| duration | any | Output duration in seconds when applicable. |
| model_id* | string | Video model slug. |
| preset_id | any | Genjutsu restyle preset id. |
| video_url | any | Genjutsu: source video https URL. |
| image_urls | any | Genjutsu: image https URLs. |
| max_credits* | integer | User-approved credit ceiling from estimate_cost. |
| aspect_ratio | any | Output aspect ratio when supported. |
| result_index | integer | When source generation has multiple outputs, pick result index. |
| template_slug | any | Genjutsu: Explore template slug. |
| generate_audio | any | Whether to generate audio when supported. |
| video_upload_id | any | Genjutsu: source video upload id. |
| image_upload_ids | any | Genjutsu: image upload ids. |
| motion_upload_id | any | motion_control: motion clip upload id. |
| motion_video_url | any | motion_control: motion clip https URL. |
| source_image_url | any | image_to_video: https URL of start image. |
| source_upload_id | any | image_to_video: upload id of start image. |
| source_video_url | any | video_edit/extend: source video https URL. |
| character_image_url | any | motion_control: character still https URL. |
| character_upload_id | any | motion_control: character still upload id. |
| video_generation_id | any | Genjutsu: source video generation id. |
| image_generation_ids | any | Genjutsu: image generation ids. |
| motion_generation_id | any | motion_control: motion clip generation id. |
| source_generation_id | any | image_to_video: start frame from a Vidaro image generation id. |
| source_video_upload_id | any | video_edit/extend: source video upload id. |
| character_generation_id | any | motion_control: character still generation id. |
| source_video_generation_id | any | video_edit/extend: source Vidaro video generation id. |
{
"type": "object",
"title": "generate_videoArguments",
"required": [
"model_id",
"prompt",
"max_credits"
],
"properties": {
"mode": {
"enum": [
"text_to_video",
"image_to_video",
"motion_control",
"motion_transfer",
"object_swap",
"restyle",
"video_edit",
"video_extend"
],
"type": "string",
"title": "Mode",
"default": "text_to_video",
"description": "Video generation mode."
},
"prompt": {
"type": "string",
"title": "Prompt",
"minLength": 1,
"description": "User prompt; required for most modes."
},
"options": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Options",
"default": null,
"description": "Model-specific extra options."
},
"quality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Quality",
"default": null,
"description": "Video quality tier (model-specific)."
},
"duration": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Duration",
"default": null,
"description": "Output duration in seconds when applicable."
},
"model_id": {
"type": "string",
"title": "Model Id",
"minLength": 1,
"description": "Video model slug."
},
"preset_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Preset Id",
"default": null,
"description": "Genjutsu restyle preset id."
},
"video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Url",
"default": null,
"description": "Genjutsu: source video https URL."
},
"image_urls": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Urls",
"default": null,
"description": "Genjutsu: image https URLs."
},
"max_credits": {
"type": "integer",
"title": "Max Credits",
"minimum": 0,
"description": "User-approved credit ceiling from estimate_cost."
},
"aspect_ratio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Aspect Ratio",
"default": null,
"description": "Output aspect ratio when supported."
},
"result_index": {
"type": "integer",
"title": "Result Index",
"default": 0,
"minimum": 0,
"description": "When source generation has multiple outputs, pick result index."
},
"template_slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Slug",
"default": null,
"description": "Genjutsu: Explore template slug."
},
"generate_audio": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Generate Audio",
"default": null,
"description": "Whether to generate audio when supported."
},
"video_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Upload Id",
"default": null,
"description": "Genjutsu: source video upload id."
},
"image_upload_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Upload Ids",
"default": null,
"description": "Genjutsu: image upload ids."
},
"motion_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Upload Id",
"default": null,
"description": "motion_control: motion clip upload id."
},
"motion_video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Video Url",
"default": null,
"description": "motion_control: motion clip https URL."
},
"source_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Image Url",
"default": null,
"description": "image_to_video: https URL of start image."
},
"source_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Upload Id",
"default": null,
"description": "image_to_video: upload id of start image."
},
"source_video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Url",
"default": null,
"description": "video_edit/extend: source video https URL."
},
"character_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Image Url",
"default": null,
"description": "motion_control: character still https URL."
},
"character_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Upload Id",
"default": null,
"description": "motion_control: character still upload id."
},
"video_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Video Generation Id",
"default": null,
"description": "Genjutsu: source video generation id."
},
"image_generation_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Image Generation Ids",
"default": null,
"description": "Genjutsu: image generation ids."
},
"motion_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Motion Generation Id",
"default": null,
"description": "motion_control: motion clip generation id."
},
"source_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Generation Id",
"default": null,
"description": "image_to_video: start frame from a Vidaro image generation id."
},
"source_video_upload_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Upload Id",
"default": null,
"description": "video_edit/extend: source video upload id."
},
"character_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Character Generation Id",
"default": null,
"description": "motion_control: character still generation id."
},
"source_video_generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Video Generation Id",
"default": null,
"description": "video_edit/extend: source Vidaro video generation id."
}
}
}Read-only account snapshot for the signed-in user. When to use: before quoting spend or after generation. Cost: free (no credits). Returns: balance, plan, daily bonus availability (no secrets).
No arguments.
{
"type": "object",
"title": "get_creditsArguments",
"properties": {}
}Read-only detail for one Genjutsu Explore template (slots, prompt, pricing). When to use: after list_genjutsu_templates. Cost: free. Seedance-only recipes are rejected.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Template slug from the catalog. |
{
"type": "object",
"title": "get_genjutsu_templateArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"minLength": 1,
"description": "Template slug from the catalog."
}
}
}Read-only: full public config for one catalog model by slug. When to use: after list_models to confirm modes, qualities, and options. Cost: free. ai-influencer: first call lists tiers; pass tier (and category) for catalog detail before generate_character_sheet. genjutsu: presets=true adds restyle preset ids. Returns: model payload (no user data).
| Argument | Type | Description |
|---|---|---|
| tier | any | ai-influencer tier key when expanding that model. |
| presets | boolean | genjutsu only: include restyle preset identifiers in the response. |
| category | any | ai-influencer category filter when using tier. |
| model_id* | string | Catalog model slug from list_models (e.g. soul-2, hailuo-2-3). |
{
"type": "object",
"title": "get_modelArguments",
"required": [
"model_id"
],
"properties": {
"tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tier",
"default": null,
"description": "ai-influencer tier key when expanding that model."
},
"presets": {
"type": "boolean",
"title": "Presets",
"default": false,
"description": "genjutsu only: include restyle preset identifiers in the response."
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "ai-influencer category filter when using tier."
},
"model_id": {
"type": "string",
"title": "Model Id",
"minLength": 1,
"description": "Catalog model slug from list_models (e.g. soul-2, hailuo-2-3)."
}
}
}Copies media into the signed-in user's library for use in generate_* tools. When to use: user provides a public https URL or you reuse a completed image generation. Cost: free (rate limited). Provide exactly one of url or generation_id. Returns: upload_id and metadata. Consumes bandwidth only; may write upload records.
| Argument | Type | Description |
|---|---|---|
| url | any | Public https URL of an image or video to copy. |
| generation_id | any | Id of a completed image generation owned by the user to copy. |
{
"type": "object",
"title": "import_media_from_urlArguments",
"properties": {
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"default": null,
"description": "Public https URL of an image or video to copy."
},
"generation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Generation Id",
"default": null,
"description": "Id of a completed image generation owned by the user to copy."
}
}
}Read-only browse of Genjutsu Explore templates (not Seedance recipes). When to use: before generate_from_genjutsu_template. Cost: free. Returns: templates, cursor for paging.
| Argument | Type | Description |
|---|---|---|
| mode | any | Filter by template effect mode. |
| limit | integer | Max templates to return (server-capped at 20). |
| cursor | any | Opaque pagination cursor from a prior response. |
| source | any | Official (higgsfield) vs community templates. |
{
"type": "object",
"title": "list_genjutsu_templatesArguments",
"properties": {
"mode": {
"anyOf": [
{
"enum": [
"motion_transfer",
"object_swap",
"restyle"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Mode",
"default": null,
"description": "Filter by template effect mode."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 20,
"minimum": 1,
"description": "Max templates to return (server-capped at 20)."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor",
"default": null,
"description": "Opaque pagination cursor from a prior response."
},
"source": {
"anyOf": [
{
"enum": [
"higgsfield",
"community"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Source",
"default": null,
"description": "Official (higgsfield) vs community templates."
}
}
}Read-only catalog discovery. When to use: before estimate_cost or generation to pick a model id. Cost: free (no credits). Returns: JSON with 'models' (id, name, provider, type, modes, pricing summary) and 'count'. Safe to call without signing in for discovery.
| Argument | Type | Description |
|---|---|---|
| type | any | Filter by model type; omit to return both image and video models. |
{
"type": "object",
"title": "list_modelsArguments",
"properties": {
"type": {
"anyOf": [
{
"enum": [
"video",
"image"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Type",
"default": null,
"description": "Filter by model type; omit to return both image and video models."
}
}
}Read-only library listing for the signed-in user. When to use: to reuse upload ids in generate_* or import flow. Cost: free. Returns: items with upload_id, type, optional short-lived preview_url (not a secret). Default limit 20, max 50.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max rows to return (1–50). |
| media_type | any | Filter by media type; omit for both. |
{
"type": "object",
"title": "list_uploadsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Max rows to return (1–50)."
},
"media_type": {
"anyOf": [
{
"enum": [
"video",
"image"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Media Type",
"default": null,
"description": "Filter by media type; omit for both."
}
}
}Read-only list of the signed-in user's recent generations. When to use: browsing history without a specific id. Cost: free; include_previews=true may add JPEG previews (bounded). Returns: viewer-oriented list.
| Argument | Type | Description |
|---|---|---|
| type | any | Filter by media type. |
| limit | integer | Max items to return. |
| include_previews | boolean | If true, attach JPEG previews for a few completed items. |
{
"type": "object",
"title": "my_creationsArguments",
"properties": {
"type": {
"anyOf": [
{
"enum": [
"video",
"image"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Type",
"default": null,
"description": "Filter by media type."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Max items to return."
},
"include_previews": {
"type": "boolean",
"title": "Include Previews",
"default": false,
"description": "If true, attach JPEG previews for a few completed items."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.