switchapp avatar

Switch

ai.switchapp/switch

This connects Claude to your Switch AI creative library through a scoped HTTP endpoint. You can generate new images and videos, browse what's already in your account, and manage assets without leaving your conversation. It's meant for creators and small agencies already using SwitchApp who want to pull their AI-generated campaign work, social media content, and production assets into Claude workflows. Think of it as a bridge between your Switch workspace and whatever you're building in Claude, whether that's reviewing a batch of product shots, organizing campaign files, or spinning up variations on existing creative. The scope stays locked to your authenticated Switch account, so you only see your own library.

tools
80
transport
HTTP
last updated
Jun 4, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.switchapp.ai/mcp --name switch

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http switch https://mcp.switchapp.ai/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 80 tools

Verified live against the running server on Nov 6, 2026.

premiere_list_connectionsList your authorized Premiere connections. Call this first: each connection carries the deviceId every other Premiere tool needs. No footage is uploaded.

List your authorized Premiere connections. Call this first: each connection carries the deviceId every other Premiere tool needs. No footage is uploaded.

No parameters. Call it with no arguments.

premiere_read_timelineRead the sequence shared by your Premiere panel, including names, timing and a revision. Inspect readAt for freshness. No footage bytes. First call premiere_list_connections to get the deviceId of your connected Premiere panel.1 params

Read the sequence shared by your Premiere panel, including names, timing and a revision. Inspect readAt for freshness. No footage bytes. First call premiere_list_connections to get the deviceId of your connected Premiere panel.

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
premiere_request_editBefore planning motion, load playbook/motion-design (timing, easing, choreography, depth, sound). Send one typed edit operation, a list of 1 to 20 operations (one batch: one Undo in Premiere when every kind is one transaction; with overwrite, split, save, import, export or fet...8 params

Before planning motion, load playbook/motion-design (timing, easing, choreography, depth, sound). Send one typed edit operation, a list of 1 to 20 operations (one batch: one Undo in Premiere when every kind is one transaction; with overwrite, split, save, import, export or fet...

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
operationvalue
operationsarray
projectId*string
requestId*string
revision*string
sequenceId*string
textstring
premiere_shot_logBuild the numbered V1 shot log (SH001, SH002…) from the sequence your Premiere panel shares: timeline in and out, source in and out, duration (timecode and exact ticks), source file, clip reference, and, once Describe shots has run in the panel, each shot's description, size a...1 params

Build the numbered V1 shot log (SH001, SH002…) from the sequence your Premiere panel shares: timeline in and out, source in and out, duration (timecode and exact ticks), source file, clip reference, and, once Describe shots has run in the panel, each shot's description, size a...

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
premiere_edit_statusRead an edit outcome. Only done means Premiere reported verified readback; cancelled requests already running may finish. First call premiere_list_connections to get the deviceId of your connected Premiere panel.2 params

Read an edit outcome. Only done means Premiere reported verified readback; cancelled requests already running may finish. First call premiere_list_connections to get the deviceId of your connected Premiere panel.

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
requestId*string
premiere_cancel_editCancel a pending Premiere edit. An Adobe transaction already running may finish. Read its final status. First call premiere_list_connections to get the deviceId of your connected Premiere panel.2 params

Cancel a pending Premiere edit. An Adobe transaction already running may finish. Read its final status. First call premiere_list_connections to get the deviceId of your connected Premiere panel.

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
requestId*string
premiere_frameSee one frame of the sequence your Premiere panel shares, at a given second. The panel exports the frame itself (nothing in the project changes) and the picture comes back here as an image plus its address in your library space. Takes a few seconds; the panel must be open and...2 params

See one frame of the sequence your Premiere panel shares, at a given second. The panel exports the frame itself (nothing in the project changes) and the picture comes back here as an image plus its address in your library space. Takes a few seconds; the panel must be open and...

Parameters* required
deviceId*string
The id of your connected Premiere panel, from premiere_list_connections.
seconds*number
The moment to look at, in seconds from the start of the sequence.
aftereffects_list_connectionsList your authorized After Effects connections. Call this first: each connection carries the deviceId every other After Effects tool needs. No footage is uploaded.

List your authorized After Effects connections. Call this first: each connection carries the deviceId every other After Effects tool needs. No footage is uploaded.

No parameters. Call it with no arguments.

aftereffects_read_projectRead the composition shared by your After Effects panel: its settings, every layer with its key (L1, L2…), in and out frames, transform and expressions, the project items, output templates and the render queue, plus a revision. Inspect readAt for freshness. Right after an edit...1 params

Read the composition shared by your After Effects panel: its settings, every layer with its key (L1, L2…), in and out frames, transform and expressions, the project items, output templates and the render queue, plus a revision. Inspect readAt for freshness. Right after an edit...

Parameters* required
deviceId*string
The id of your connected After Effects panel, from aftereffects_list_connections.
aftereffects_request_editBefore planning motion, load playbook/motion-design (timing, easing, choreography, depth, sound, expression recipes). Send one typed edit to your approved After Effects composition for review. Kinds: project.save, comp.new (never opens a viewer unless open: true; the shared co...6 params

Before planning motion, load playbook/motion-design (timing, easing, choreography, depth, sound, expression recipes). Send one typed edit to your approved After Effects composition for review. Kinds: project.save, comp.new (never opens a viewer unless open: true; the shared co...

Parameters* required
compId*string
deviceId*string
The id of your connected After Effects panel, from aftereffects_list_connections.
operation*value
projectId*string
requestId*string
revision*string
aftereffects_edit_statusRead an edit outcome. Only done means After Effects reported verified readback; a done edit carries snapshot.fresh (true once the shared composition shows the edit; it waits a few seconds for it) and snapshot.message; then read the project again (when fresh is false, follow sn...2 params

Read an edit outcome. Only done means After Effects reported verified readback; a done edit carries snapshot.fresh (true once the shared composition shows the edit; it waits a few seconds for it) and snapshot.message; then read the project again (when fresh is false, follow sn...

Parameters* required
deviceId*string
The id of your connected After Effects panel, from aftereffects_list_connections.
requestId*string
aftereffects_cancel_editCancel a pending After Effects edit. A render or edit already running may finish. Read its final status. First call aftereffects_list_connections to get the deviceId of your connected After Effects panel.2 params

Cancel a pending After Effects edit. A render or edit already running may finish. Read its final status. First call aftereffects_list_connections to get the deviceId of your connected After Effects panel.

Parameters* required
deviceId*string
The id of your connected After Effects panel, from aftereffects_list_connections.
requestId*string
aftereffects_renderRender the shared composition with aerender in the background and put the movie in the Switch library. The project must be saved. Poll aftereffects_edit_status until done; result.assetId is the library asset every other Switch tool can use. Start with a short range (a 3 second...9 params

Render the shared composition with aerender in the background and put the movie in the Switch library. The project must be saved. Poll aftereffects_edit_status until done; result.assetId is the library asset every other Switch tool can use. Start with a short range (a 3 second...

Parameters* required
compId*string
deviceId*string
The id of your connected After Effects panel, from aftereffects_list_connections.
endinteger
filename*string
outputTemplate*string
projectId*string
requestId*string
revision*string
startinteger
explore_modelsBrowse the image-generation models available to your Switch account: exactly the models generate_image accepts, each with the model name to pass and the tokens one picture takes (the same number the charge takes). Free to call.

Browse the image-generation models available to your Switch account: exactly the models generate_image accepts, each with the model name to pass and the tokens one picture takes (the same number the charge takes). Free to call.

No parameters. Call it with no arguments.

check_balanceHow many tokens you have left: your token balance, the tokens spent today, and any daily limit with what remains. Use this whenever someone asks how many tokens or credits they have. Optionally pass an `estimatedCost` (USD) to also get whether you can afford it.1 params

How many tokens you have left: your token balance, the tokens spent today, and any daily limit with what remains. Use this whenever someone asks how many tokens or credits they have. Optionally pass an `estimatedCost` (USD) to also get whether you can afford it.

Parameters* required
estimatedCostnumber
Optional dollar amount to test against your daily limit.
spend_logWhat your calls cost: every charge on this account over the last `hours` (default 24), newest first, each with what it was for, the model, the tokens it was worth, the tokens actually taken, and the dollar value at Switch retail; plus totals, the current token balance, and wha...2 params

What your calls cost: every charge on this account over the last `hours` (default 24), newest first, each with what it was for, the model, the tokens it was worth, the tokens actually taken, and the dollar value at Switch retail; plus totals, the current token balance, and wha...

Parameters* required
hoursnumber
How far back to look, in hours (1 to 720, default 24).
limitnumber
How many charges at most (1 to 200, default 50).
list_generationsList your recent and active picture generations: queued batches and the pictures generate_image made right in the chat. Returns counts per status (pending / running / completed / failed) plus an array with id, status, prompts, model, ref counts, scheduledAt, finishedAt. Videos...2 params

List your recent and active picture generations: queued batches and the pictures generate_image made right in the chat. Returns counts per status (pending / running / completed / failed) plus an array with id, status, prompts, model, ref counts, scheduledAt, finishedAt. Videos...

Parameters* required
limitinteger
Default 10. Max 50.
statusvalue
"all" for everything, or an array like ["pending","running"]. Default: active + recent.
show_generationGet the full detail of one of your generations by its id — prompts, model, ref counts, saved/failed counts, ETA hint, asset ids. Also takes a video task or job id (from generate_video) and an audio generation_id or request_id, and answers with that job's status and links.1 params

Get the full detail of one of your generations by its id — prompts, model, ref counts, saved/failed counts, ETA hint, asset ids. Also takes a video task or job id (from generate_video) and an audio generation_id or request_id, and answers with that job's status and links.

Parameters* required
taskId*string
Task id from generate_image or list_generations, or a video or audio id.
check_job_statusPolling-friendly status check for one of your jobs: a picture task (generate_image), a video (the task_id or job_id from generate_video) or an audio take (a generation_id or a rendering request_id). Returns a slim shape with `kind`, `status`, `progressPct`, and `eta` (plus the...1 params

Polling-friendly status check for one of your jobs: a picture task (generate_image), a video (the task_id or job_id from generate_video) or an audio take (a generation_id or a rendering request_id). Returns a slim shape with `kind`, `status`, `progressPct`, and `eta` (plus the...

Parameters* required
taskId*string
The id to check: a picture task id, a video task_id or job_id, or an audio generation_id or request_id.
show_mediaDisplay the user's images inline — one or many. Users speak plainly and will NOT know asset ids; never ask for one, resolve it yourself. For "show me" or "show me my last image" call with NO arguments (shows the most recent image). For "show me my last 4 images / my last 10 pi...2 params

Display the user's images inline — one or many. Users speak plainly and will NOT know asset ids; never ask for one, resolve it yourself. For "show me" or "show me my last image" call with NO arguments (shows the most recent image). For "show me my last 4 images / my last 10 pi...

Parameters* required
assetIdstring
Optional. A specific image id (from list_my_assets, search_my_library, or show_generation). Omit to show the most recent image(s).
countinteger
Optional. How many of the most recent images to show as a grid (default 1, max 12). Use when the user says "my last N images/pictures".
list_my_foldersList the folders in your Switch library (id, name, parent, and when each was made, so the newest can be found). Use this to find an existing folder and its id; search_my_library looks inside your library by words.

List the folders in your Switch library (id, name, parent, and when each was made, so the newest can be found). Use this to find an existing folder and its id; search_my_library looks inside your library by words.

No parameters. Call it with no arguments.

list_my_assetsReturn your asset METADATA only (id, truncated prompt, model, created date), newest first. This does NOT display images and must NOT be used to show pictures — if the user says "show me / display my last image(s)", call show_media instead (it renders them; pass count=N for sev...1 params

Return your asset METADATA only (id, truncated prompt, model, created date), newest first. This does NOT display images and must NOT be used to show pictures — if the user says "show me / display my last image(s)", call show_media instead (it renders them; pass count=N for sev...

Parameters* required
countinteger
Default 20. Max 50.
search_my_librarySearch your library by prompt substring (metadata only — id, prompt, date). Optional folderId scopes to one folder. Only your own assets are returned. This does NOT display images; to show/display results to the user, pass their ids to show_media.3 params

Search your library by prompt substring (metadata only — id, prompt, date). Optional folderId scopes to one folder. Only your own assets are returned. This does NOT display images; to show/display results to the user, pass their ids to show_media.

Parameters* required
folderIdstring
limitinteger
Default 20.
query*string
get_my_active_referencesRead your staged references in Switch Studio. Returns TWO groups: (1) the image-generation reference strip (typed face/body/outfit/scenery/product slots) under `refs`, and (2) the VIDEO-tab references the user staged in the Omni/Image video tabs (the @Image1/@Image2 strip) und...

Read your staged references in Switch Studio. Returns TWO groups: (1) the image-generation reference strip (typed face/body/outfit/scenery/product slots) under `refs`, and (2) the VIDEO-tab references the user staged in the Omni/Image video tabs (the @Image1/@Image2 strip) und...

No parameters. Call it with no arguments.

load_video_workflowLoad once when starting production on your video and the workflow is not already known. Not needed for an ideas question. Loads the current MCP-only production rules, BytePlus Seedance routing policy, exact reference-chip preservation rules, simple-remix rules, conditional ana...1 params

Load once when starting production on your video and the workflow is not already known. Not needed for an ideas question. Loads the current MCP-only production rules, BytePlus Seedance routing policy, exact reference-chip preservation rules, simple-remix rules, conditional ana...

Parameters* required
modelstring
Selected Studio model id or list_video_models option id. Include after a model change to load its prompt skill automatically.
load_workflow_playbookLoad one shared production playbook by id (ids come from load_video_workflow) and apply it to your production. A playbook is an anonymized record of how a real Switch production went: the shot list that worked, the reference rules, and the corrections that had to be made. Free...2 params

Load one shared production playbook by id (ids come from load_video_workflow) and apply it to your production. A playbook is an anonymized record of how a real Switch production went: the shot list that worked, the reference rules, and the corrections that had to be made. Free...

Parameters* required
id*string
Playbook id, for example playbook/reference-discipline.
resourcestring
Optional supporting resource name from a loaded playbook. Loads that exact source document.
list_stylesList the Switch Styles you can use for your edits, the short codes for editing a talking video (O Openers, W Words, F Frames, R Receipts, B Beats, U App Moments, K Kicks, M Motion Graphics, S Web, P Pace, A Audio, G Grade): each code with its group, name, one line, when to use...3 params

List the Switch Styles you can use for your edits, the short codes for editing a talking video (O Openers, W Words, F Frames, R Receipts, B Beats, U App Moments, K Kicks, M Motion Graphics, S Web, P Pace, A Audio, G Grade): each code with its group, name, one line, when to use...

Parameters* required
groupstring
A group letter, for example O for Openers or G for Grade.
querystring
Words to search the names, lines and uses.
talentstring
Who is on camera in the demo, for example Sonia or Milo.
apply_styleGet the short style card and the full edit prompt for the Switch Style codes you pick (for example "O10 W1 F4 B6 A2 G4", or your own learned style such as "Y1"), or a 4 to 6 code suggestion for the feeling you describe for your video. Show the card and wait for a yes before ed...3 params

Get the short style card and the full edit prompt for the Switch Style codes you pick (for example "O10 W1 F4 B6 A2 G4", or your own learned style such as "Y1"), or a 4 to 6 code suggestion for the feeling you describe for your video. Show the card and wait for a yes before ed...

Parameters* required
codesstring
The codes in any form, for example "O10 W1 F4".
feelingstring
When there are no codes: what the edit should feel like, or what the video is about.
whystring
One short line on why this mix fits, shown at the end of the card.
ask_switch_unrestrictedTalk to Switch's unrestricted operator (the unrestricted mode in the Studio chat): the mature, uncensored creative brain that runs on BytePlus with its own workspace, tools and skills. Send your brief, a question, a research ask or a coding task; it answers in its own words an...3 params

Talk to Switch's unrestricted operator (the unrestricted mode in the Studio chat): the mature, uncensored creative brain that runs on BytePlus with its own workspace, tools and skills. Send your brief, a question, a research ask or a coding task; it answers in its own words an...

Parameters* required
conversation_idstring
The conversation_id from an earlier answer to continue that conversation; omit to start a new one.
message*string
What to say to the operator. Plain words. Name staged Studio references as @Image1 etc.
wait_secondsnumber
How long to wait for words before returning (5 to 55, default 45). If it is still working, call again with the same conversation_id.
decide_switch_unrestricted_actionAllow or deny one action the unrestricted operator asked for (from pending_action.action_id in an ask_switch_unrestricted answer): generate images, save a reference, run a workspace command, write a file. Show the creator the label and details and let THEM decide; then pass th...5 params

Allow or deny one action the unrestricted operator asked for (from pending_action.action_id in an ask_switch_unrestricted answer): generate images, save a reference, run a workspace command, write a file. Show the creator the label and details and let THEM decide; then pass th...

Parameters* required
action_id*string
pending_action.action_id from the last answer.
card_detail*string
Repeat the first 40 characters of one detail value from pending_action.details (the command, file or prompt) as you showed it; refused if it does not belong to this card.
card_label*string
Repeat pending_action.label exactly as you showed it to the creator; the decision is refused without it.
decision*string
one of allow · deny
wait_secondsnumber
How long to wait for the operator's next words (5 to 55, default 45).
enhance_video_promptTHE one tool for a prompt rewrite: when the person asks to rewrite, fix, improve or check their prompt, call this once and show the result; load no playbook and run no other step for it. SwitchApp Video Enhanced. Prepare a video prompt using SwitchApp enhancement while keeping...32 params

THE one tool for a prompt rewrite: when the person asks to rewrite, fix, improve or check their prompt, call this once and show the result; load no playbook and run no other step for it. SwitchApp Video Enhanced. Prepare a video prompt using SwitchApp enhancement while keeping...

Parameters* required
anchor_framesboolean
Optional, Seedance 2.5: use the opening picture as the exact first frame instead of one more reference; the video comes back in that picture's shape. An end picture turns it on by itself.
as_writtenboolean
True when the person wrote this prompt themselves and is using it as their prompt ("I'm doing the prompt"): it goes exactly as written, never enhanced. Leave it off when you write the prompt, or wh...
aspect_ratiostring
e.g. 9:16, 16:9, 1:1. Must be allowed for the model (see list_video_models).
audioboolean
Generate sound. ON by default on every video maker that can make sound (Seedance 2.5 and 2.0 in every mode, Kling Omni and Turbo, every WAN 3.0 option, MiniMax H3 Max). Set false for a silent clip....
camera_movementstring
Optional. One of the Video page camera movements; it leads the words, as on the page.one of the camera is stationary · camera pans right and tilts down · camera pans left and tilts up · camera orbits around and pushes in · camera booms up and pushes in · the camera rotates around the subject
character_orientationstring
Motion mode only: follow the character image (default) or the reference video.one of image · video
durationstring
Clip length in seconds, or "auto" to let the model choose. Seedance 2.5 does 4-30s (auto bills the 30s cap up front and refunds the unused seconds); Seedance 2.0 does 4-15s; Switch Video (WAN 2.7)...
end_image_urlstring
End frame for frame-to-frame mode.
enhancement_receiptstring
Receipt from enhance_video_prompt. Pass its enhanced_prompt as subject with the same model, settings and references. Prevents duplicate enhancement. Changed/expired receipts fail before generation.
face_reference_idsarray
Optional, kept for apps that already use it: asset ids from upload_reference_asset. Not needed for faces; put every picture in reference_image_urls and Switch handles faces itself. Each id here run...
image_urlstring
Required for image-to-video / frame-to-frame / motion. Accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media) OR a public https url. An asset id is resolved server-side,...
jobstring
Seedance only. auto (default) reads the words and picks; story = a plain story; keyframes = the pictures, in upload order, are frames the video must pass through (the prompt starts "Use @Image1 to...one of auto · story · keyframes · storyboard · blender
keep_original_soundboolean
Optional. Keep the attached clip's own sound (motion control, Kling Omni clips), as the Video page switch.
modestring
Video mode. Must be supported by the chosen model (see list_video_models).one of text-to-video · image-to-video · reference-to-video · frame-to-frame · motion · omni
modelstring
HeyGen Video ids: heygen-video-t2v, heygen-video-i2v, heygen-video-r2v (option ids heygen-text / heygen-image / heygen-reference; 5-15 s, 480p/768p/2K, sound on every clip). Model id from list_vide...
multi_shotarray
Optional Kling multi-shot storyboard: each shot's words and seconds, in order. The video is as long as the shots added up, as on the Video page.
negative_promptstring
Optional. What to leave out, as the Video page negative prompt.
option_idstring
Catalog id from list_video_models. Native Seedance Draft: seedance-25-draft-text, seedance-25-draft-image, seedance-25-draft-reference (480p with audio). Make Full HD: seedance-25-draft-final with...
output_formatstring
Optional, Seedance 2.5: mp4 plays everywhere; mov keeps full colour and real sound.one of mp4 · mov
person_named_resolutionboolean
Switch Agent: true only when the person named this video's resolution themselves ("make it in 1080p"); a Seedance 2.5 video then starts at that resolution instead of its Draft. Leave it off otherwi...

+12 more parameters. See the server's own documentation for the full schema.

quote_videoGet the current server price in Switch tokens before video generation. Uses the same billing calculator as submission and measures your stored reference clips. Pass one shot using the same model, mode, duration, resolution and references as generate_video. No creative prompt i...31 params

Get the current server price in Switch tokens before video generation. Uses the same billing calculator as submission and measures your stored reference clips. Pass one shot using the same model, mode, duration, resolution and references as generate_video. No creative prompt i...

Parameters* required
anchor_framesboolean
Optional, Seedance 2.5: use the opening picture as the exact first frame instead of one more reference; the video comes back in that picture's shape. An end picture turns it on by itself.
as_writtenboolean
True when the person wrote this prompt themselves and is using it as their prompt ("I'm doing the prompt"): it goes exactly as written, never enhanced. Leave it off when you write the prompt, or wh...
aspect_ratiostring
e.g. 9:16, 16:9, 1:1. Must be allowed for the model (see list_video_models).
audioboolean
Generate sound. ON by default on every video maker that can make sound (Seedance 2.5 and 2.0 in every mode, Kling Omni and Turbo, every WAN 3.0 option, MiniMax H3 Max). Set false for a silent clip....
camera_movementstring
Optional. One of the Video page camera movements; it leads the words, as on the page.one of the camera is stationary · camera pans right and tilts down · camera pans left and tilts up · camera orbits around and pushes in · camera booms up and pushes in · the camera rotates around the subject
character_orientationstring
Motion mode only: follow the character image (default) or the reference video.one of image · video
durationstring
Clip length in seconds, or "auto" to let the model choose. Seedance 2.5 does 4-30s (auto bills the 30s cap up front and refunds the unused seconds); Seedance 2.0 does 4-15s; Switch Video (WAN 2.7)...
end_image_urlstring
End frame for frame-to-frame mode.
enhancement_receiptstring
Receipt from enhance_video_prompt. Pass its enhanced_prompt as subject with the same model, settings and references. Prevents duplicate enhancement. Changed/expired receipts fail before generation.
face_reference_idsarray
Optional, kept for apps that already use it: asset ids from upload_reference_asset. Not needed for faces; put every picture in reference_image_urls and Switch handles faces itself. Each id here run...
image_urlstring
Required for image-to-video / frame-to-frame / motion. Accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media) OR a public https url. An asset id is resolved server-side,...
keep_original_soundboolean
Optional. Keep the attached clip's own sound (motion control, Kling Omni clips), as the Video page switch.
modestring
Video mode. Must be supported by the chosen model (see list_video_models).one of text-to-video · image-to-video · reference-to-video · frame-to-frame · motion · omni
modelstring
HeyGen Video ids: heygen-video-t2v, heygen-video-i2v, heygen-video-r2v (option ids heygen-text / heygen-image / heygen-reference; 5-15 s, 480p/768p/2K, sound on every clip). Model id from list_vide...
multi_shotarray
Optional Kling multi-shot storyboard: each shot's words and seconds, in order. The video is as long as the shots added up, as on the Video page.
negative_promptstring
Optional. What to leave out, as the Video page negative prompt.
option_idstring
Catalog id from list_video_models. Native Seedance Draft: seedance-25-draft-text, seedance-25-draft-image, seedance-25-draft-reference (480p with audio). Make Full HD: seedance-25-draft-final with...
output_formatstring
Optional, Seedance 2.5: mp4 plays everywhere; mov keeps full colour and real sound.one of mp4 · mov
person_named_resolutionboolean
Switch Agent: true only when the person named this video's resolution themselves ("make it in 1080p"); a Seedance 2.5 video then starts at that resolution instead of its Draft. Leave it off otherwi...
quote_fingerprintstring
From quote_video. Pass with quoted_credits to reject a changed quote before charging.

+11 more parameters. See the server's own documentation for the full schema.

suggest_speech_secondsHow many seconds a video clip should be for a spoken line, so the words are never rushed or dragged. Give it the spoken text (or a word_count) and it returns a suggested duration for four delivery energies: slow and dramatic, natural, upbeat, and super charismatic talking-with...2 params

How many seconds a video clip should be for a spoken line, so the words are never rushed or dragged. Give it the spoken text (or a word_count) and it returns a suggested duration for four delivery energies: slow and dramatic, natural, upbeat, and super charismatic talking-with...

Parameters* required
textstring
The spoken words. The tool counts them for you.
word_countinteger
Use instead of text if you already know the number of spoken words.
apply_iphone_realismPhone-shot amateur look — looks like a real person snapped it on their phone. Casual, candid, pore-level real, no professional gloss. Three flavors: digital phone, 35mm film point-and-shoot, or off-duty intimate. Returns the styled prompt stack for your shot and the aspect_rat...3 params

Phone-shot amateur look — looks like a real person snapped it on their phone. Casual, candid, pore-level real, no professional gloss. Three flavors: digital phone, 35mm film point-and-shoot, or off-duty intimate. Returns the styled prompt stack for your shot and the aspect_rat...

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
digital_phone = iPhone main camera snap, 9:16 vertical. film_pointshoot = Contax T2 35mm Portra 400. off_duty_intimate = natural-window editorial candor.one of digital_phone · film_pointshoot · off_duty_intimate
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_movie_scenePut me in a movie — full cinematic film look matching specific film genres. Choose: neon-noir action thriller, 80s finance excess, comic-book superhero blockbuster, video-game key art, or generic action thriller. Returns the styled prompt stack for your shot and the aspect_rat...3 params

Put me in a movie — full cinematic film look matching specific film genres. Choose: neon-noir action thriller, 80s finance excess, comic-book superhero blockbuster, video-game key art, or generic action thriller. Returns the styled prompt stack for your shot and the aspect_rat...

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
neon_noir_action = wet streets + neon + anamorphic. glamour_finance_excess = 1980s Wall Street mahogany / gold. superhero_blockbuster = comic-book key art. video_game_character = Unreal-Engine char...one of neon_noir_action · glamour_finance_excess · superhero_blockbuster · video_game_character · generic_action_thriller
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_high_fashion_editorialHigh-fashion magazine cover/editorial energy. Choose a mood: glossy cover, dark cinematic, hard-flash conceptual, painterly Renaissance, dreamlike fairy-tale, black-and-white natural, or off-duty candid. Returns the styled prompt stack for your shot and the aspect_ratio to mak...3 params

High-fashion magazine cover/editorial energy. Choose a mood: glossy cover, dark cinematic, hard-flash conceptual, painterly Renaissance, dreamlike fairy-tale, black-and-white natural, or off-duty candid. Returns the styled prompt stack for your shot and the aspect_ratio to mak...

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
glossy_cover = slat-shadow magazine cover gloss. dark_cinematic = deep shadow, flash + ambient, edge of menace. hard_flash_conceptual = direct flash, velvet texture. painterly_renaissance = raking...one of glossy_cover · dark_cinematic · hard_flash_conceptual · painterly_renaissance · dreamlike_fairytale · black_and_white_natural
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_graphic_editorial_portraitSharp graphic editorial portrait — premium fashion-magazine grade, hard graphic composition. Classic studio or golden-hour outdoor. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.3 params

Sharp graphic editorial portrait — premium fashion-magazine grade, hard graphic composition. Classic studio or golden-hour outdoor. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
classic = Hasselblad H6D studio. golden_hour = Canon R5 outdoor.one of classic · golden_hour
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_travelLuxury travel + hotel editorial. Real architecture is preserved exactly (no inventing buildings). Choose subject: hotel hero, rural property, scenic view, drone aerial, lifestyle moment, or interior. If you attach a reference image of a real property, the architecture lock kic...3 params

Luxury travel + hotel editorial. Real architecture is preserved exactly (no inventing buildings). Choose subject: hotel hero, rural property, scenic view, drone aerial, lifestyle moment, or interior. If you attach a reference image of a real property, the architecture lock kic...

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
hotel_hero = property is the star. rural_property = country estate. scenic_view = pure landscape. drone_aerial = top-down or 45° from above. lifestyle = model + destination. interior = inside the p...one of hotel_hero · rural_property · scenic_view · drone_aerial · lifestyle · interior
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_wellnessWellness / yoga / fitness / lifestyle campaign — warm amber tropical, tropical paradise cinematic, or high-key cyan beach. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.3 params

Wellness / yoga / fitness / lifestyle campaign — warm amber tropical, tropical paradise cinematic, or high-key cyan beach. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
warm_amber_tropical = warm honey grade with golden haze. hanalei_cinematic = soft golden mist + infinity pool reflection. high_key_cyan_beach = bright daylit cyan ocean.one of warm_amber_tropical · hanalei_cinematic · high_key_cyan_beach
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_cinematic_anamorphicARRI Alexa anamorphic widescreen film look. Choose grade: warm golden, cool noir, or moody desaturated. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.3 params

ARRI Alexa anamorphic widescreen film look. Choose grade: warm golden, cool noir, or moody desaturated. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
warm_golden = late-afternoon honey. cool_noir = neon-fill desaturated. moody_desaturated = soft window low-contrast.one of warm_golden · cool_noir · moody_desaturated
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_magic_hour_portraitGolden-hour rim-light editorial portrait. Choose camera: Canon R5 + 85mm f/1.2 or Hasselblad H6D + 80mm. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.3 params

Golden-hour rim-light editorial portrait. Choose camera: Canon R5 + 85mm f/1.2 or Hasselblad H6D + 80mm. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
canon_85mm = Canon R5 portrait standard. hasselblad_80mm = medium-format luxury.one of canon_85mm · hasselblad_80mm
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_productProduct photography. Choose: clean studio hero shot, real-world lifestyle, extreme macro detail, or top-down flat lay. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.3 params

Product photography. Choose: clean studio hero shot, real-world lifestyle, extreme macro detail, or top-down flat lay. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_ratio along.

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
clean_studio = seamless backdrop hero. lifestyle = product in use. macro_detail = extreme close-up texture. flat_lay = top-down catalog.one of clean_studio · lifestyle · macro_detail · flat_lay
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
apply_ugcUser-generated content — looks like a real person captured it casually. Choose: phone shot, film point-and-shoot, mirror selfie, or car selfie. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_r...3 params

User-generated content — looks like a real person captured it casually. Choose: phone shot, film point-and-shoot, mirror selfie, or car selfie. Returns the styled prompt stack for your shot and the aspect_ratio to make it at — pair it with generate_image and pass that aspect_r...

Parameters* required
aspect_ratiostring
Optional frame shape. Replaces the shape the style uses by default. The answer carries aspect_ratio: pass it to generate_image so the picture is made at that shape.one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
style*string
phone_shot = iPhone-style snap. film_pointshoot = Contax T2 grain. mirror_selfie = bathroom/bedroom mirror. car_selfie = inside-the-car phone.one of phone_shot · film_pointshoot · mirror_selfie · car_selfie
subjectstring
What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony".
generate_imageGenerate Switch images with one of seven models: GPT Image 2.5, Switch Pro, Switch Ultra, Nano Banana 2.1 (Google's newest, up to 14 reference pictures), Nano Banana 2, Nano Banana Pro or Switch Vintage. Nothing older is offered or accepted. When model is omitted it auto-route...19 params

Generate Switch images with one of seven models: GPT Image 2.5, Switch Pro, Switch Ultra, Nano Banana 2.1 (Google's newest, up to 14 reference pictures), Nano Banana 2, Nano Banana Pro or Switch Vintage. Nothing older is offered or accepted. When model is omitted it auto-route...

Parameters* required
aspect_ratiostring
Image aspect ratio. auto (Nano Banana with a reference picture only): the new picture keeps the reference picture's own shape. Default 9:16 (vertical, social-friendly), or the shape a chosen style...one of 9:16 · 16:9 · 1:1 · 4:5 · 5:4 · 3:2
brand_kitstring
Optional. Only for work made for a brand when the person wants their brand kit used: the kit by name or id, or "settings" for the kit chosen in Switch Agent settings. Leave out otherwise: no brand...
camera_anglesarray
Optional camera angle ids from the Studio angles panel, e.g. birds-eye, high-drone, low-drone, orbit-drone, reveal-drone, top-down-flat.
charactersarray
Optional. Names of the person's characters from the Models page. Their saved pictures go with the picture by role, like @Name in the Studio.
countinteger
How many images to generate. Default 4. <= 8 returns inline, > 8 queues to Studio. Beta limit: max 50 per request — larger asks are capped at 50 and the response says so.
enhancearray
Optional enhance ids from the Studio angles panel: lens-85mm, lens-50mm, lens-35mm, lens-24mm, lens-135mm, lens-200mm, lens-macro, lens-tilt, lens-fisheye, lens-vintage, dof-shallow, dof-medium, do...
face_expressionboolean
Optional. Keeps the same person and only varies the facial expression (the Studio face expression switch).
face_reference_idsarray
Optional, kept for apps that already use it: asset ids from upload_reference_asset to use as the face to keep. Not needed to send a picture of a person; reference_image_urls takes those as they are...
folder_namestring
Optional Switch Studio folder name. Auto-created if missing. Defaults to the chat-derived title.
lightingarray
Optional lighting preset ids: natural-window, golden-hour, morning, overcast, overhead-noon, shadow-mode, cinematic, twilight, candlelight, neon-night, studio-soft, rim-light, hard-flash, available...
modelstring
Optional explicit model: GPT Image 2.5, Switch Pro, Switch Ultra, Nano Banana 2.1, Nano Banana 2, Nano Banana Pro or Switch Vintage. Nothing else is accepted. Switch Vintage works from a character...one of GPT Image 2.5 · Switch Pro · Switch Ultra · Nano Banana 2.1 · Nano Banana 2 · Nano Banana Pro
real_photo_lookboolean
Optional. Adds the casual real-photo texture (film grain, amateur iPhone feel). OFF by default — only set true when the user asks for the realistic, unpolished look.
reference_image_urlsarray
Optional GENERIC references (products, scenery, outfits, style). Each entry accepts EITHER a Switch asset id (from upload_reference_asset / upload_media / list_my_assets) OR a public https url; ass...
reference_rolesarray
Optional, one per reference_image_urls entry, in the same order: what that picture is for, as on the Studio strip (reference, face, body, product, clothes, location, style, typography). Left out =...
resolutionstring
Optional picture size, the same choices as the Studio size picker: 0.5K, 1K, 2K or 4K. Default 2K. Charged at the size picked. The picture shown in chat is a small preview; the saved one (images[]....one of 0.5K · 1K · 2K · 4K
skinarray
Optional skin preset ids: iphone-quality, amateur-framing, film-grain, pores-skin, subsurface, skin-variation, discoloration, freckles, peach-fuzz, oily-sheen, under-eye, sun-damage, flush, acne-sc...
stylestring
Optional curated style stack from the apply_* skill tools. Format "<skill>/<style_key>", e.g. "wellness/warm_amber_tropical" or "high_fashion_editorial/painterly_renaissance".one of iphone_realism/digital_phone · iphone_realism/film_pointshoot · iphone_realism/off_duty_intimate · movie_scene/neon_noir_action · movie_scene/glamour_finance_excess · movie_scene/superhero_blockbuster
subject*string
Plain-English description of what to generate. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony, model wearing a robe". Name the creator's staged Studio references as...
transparent_backgroundboolean
Optional. See-through background. GPT Image models only, as in the Studio.
cancel_my_taskStop one of your generation tasks by task id — works on queued AND running tasks. Pictures already made stay in your library. For a background batch, the cancel is sent to the picture maker: any picture not made is not charged and its tokens come back to you, and if the batch...1 params

Stop one of your generation tasks by task id — works on queued AND running tasks. Pictures already made stay in your library. For a background batch, the cancel is sent to the picture maker: any picture not made is not charged and its tokens come back to you, and if the batch...

Parameters* required
taskId*string
Task id from generate_image or list_generations.
generate_videoGenerate video with the configured provider lineup (Kling, BytePlus Seedance, Switch Video/WAN 2.7, Switch Video Edit, Higgsfield Genjutsu, Topaz upscale) and modes (text-to-video, image-to-video, frame-to-frame, motion, omni, reference-to-video, video-edit, upscale). Load loa...35 params

Generate video with the configured provider lineup (Kling, BytePlus Seedance, Switch Video/WAN 2.7, Switch Video Edit, Higgsfield Genjutsu, Topaz upscale) and modes (text-to-video, image-to-video, frame-to-frame, motion, omni, reference-to-video, video-edit, upscale). Load loa...

Parameters* required
anchor_framesboolean
Optional, Seedance 2.5: use the opening picture as the exact first frame instead of one more reference; the video comes back in that picture's shape. An end picture turns it on by itself.
as_writtenboolean
True when the person wrote this prompt themselves and is using it as their prompt ("I'm doing the prompt"): it goes exactly as written, never enhanced. Leave it off when you write the prompt, or wh...
aspect_ratiostring
e.g. 9:16, 16:9, 1:1. Must be allowed for the model (see list_video_models).
audioboolean
Generate sound. ON by default on every video maker that can make sound (Seedance 2.5 and 2.0 in every mode, Kling Omni and Turbo, every WAN 3.0 option, MiniMax H3 Max). Set false for a silent clip....
brand_kitstring
Optional. Only for work made for a brand when the person wants their brand kit used: the kit by name or id, or "settings" for the kit chosen in Switch Agent settings. Leave out otherwise: no brand...
camera_movementstring
Optional. One of the Video page camera movements; it leads the words, as on the page.one of the camera is stationary · camera pans right and tilts down · camera pans left and tilts up · camera orbits around and pushes in · camera booms up and pushes in · the camera rotates around the subject
character_orientationstring
Motion mode only: follow the character image (default) or the reference video.one of image · video
durationstring
Clip length in seconds, or "auto" to let the model choose. Seedance 2.5 does 4-30s (auto bills the 30s cap up front and refunds the unused seconds); Seedance 2.0 does 4-15s; Switch Video (WAN 2.7)...
end_image_urlstring
End frame for frame-to-frame mode.
enhancement_receiptstring
Receipt from enhance_video_prompt. Pass its enhanced_prompt as subject with the same model, settings and references. Prevents duplicate enhancement. Changed/expired receipts fail before generation.
face_reference_idsarray
Optional, kept for apps that already use it: asset ids from upload_reference_asset. Not needed for faces; put every picture in reference_image_urls and Switch handles faces itself. Each id here run...
image_urlstring
Required for image-to-video / frame-to-frame / motion. Accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media) OR a public https url. An asset id is resolved server-side,...
keep_original_soundboolean
Optional. Keep the attached clip's own sound (motion control, Kling Omni clips), as the Video page switch.
modestring
Video mode. Must be supported by the chosen model (see list_video_models).one of text-to-video · image-to-video · reference-to-video · frame-to-frame · motion · omni
modelstring
HeyGen Video ids: heygen-video-t2v, heygen-video-i2v, heygen-video-r2v (option ids heygen-text / heygen-image / heygen-reference; 5-15 s, 480p/768p/2K, sound on every clip). Model id from list_vide...
multi_shotarray
Optional Kling multi-shot storyboard: each shot's words and seconds, in order. The video is as long as the shots added up, as on the Video page.
negative_promptstring
Optional. What to leave out, as the Video page negative prompt.
option_idstring
Catalog id from list_video_models. Native Seedance Draft: seedance-25-draft-text, seedance-25-draft-image, seedance-25-draft-reference (480p with audio). Make Full HD: seedance-25-draft-final with...
output_formatstring
Optional, Seedance 2.5: mp4 plays everywhere; mov keeps full colour and real sound.one of mp4 · mov
person_named_resolutionboolean
Switch Agent: true only when the person named this video's resolution themselves ("make it in 1080p"); a Seedance 2.5 video then starts at that resolution instead of its Draft. Leave it off otherwi...

+15 more parameters. See the server's own documentation for the full schema.

list_video_modelsList the video providers, models, and modes available to your Switch account, with each model's required inputs, allowed aspect ratios and durations, and a rough per-second cost. Use this when the selected model or its required inputs are unknown. Keep a known selected model;...

List the video providers, models, and modes available to your Switch account, with each model's required inputs, allowed aspect ratios and durations, and a rough per-second cost. Use this when the selected model or its required inputs are unknown. Keep a known selected model;...

No parameters. Call it with no arguments.

get_video_statusCheck the status of one of your video jobs by task_id (from generate_video) or job_id. Returns status, a viewable view_url when finished, or the error if it failed, plus the whole prompt (prompt_full) and every reference the video was made with (references: pictures, clips and...2 params

Check the status of one of your video jobs by task_id (from generate_video) or job_id. Returns status, a viewable view_url when finished, or the error if it failed, plus the whole prompt (prompt_full) and every reference the video was made with (references: pictures, clips and...

Parameters* required
job_idstring
Alternatively, the job_id.
task_idstring
Task id returned by generate_video.
list_my_videosList your recent Switch videos, newest first: id, status, prompt, model, and a viewable view_url for finished clips. Use this when someone asks to see their last or recent videos, to check whether videos finished, and to let them choose one.2 params

List your recent Switch videos, newest first: id, status, prompt, model, and a viewable view_url for finished clips. Use this when someone asks to see their last or recent videos, to check whether videos finished, and to let them choose one.

Parameters* required
countinteger
How many to return. Default 10. Max 50.
statusstring
Optional filter: submitted, processing, succeed, failed, or all.
upscale_videoUpscale and enhance one of YOUR videos (or a public https clip) with Topaz. Full control: scale 1 to 4 (1.5x works), optional target_fps 16 to 60 where the selected model supports it, and the Topaz model (Proteus default; Artemis, Nyx, Gaia and Starlight families available). B...9 params

Upscale and enhance one of YOUR videos (or a public https clip) with Topaz. Full control: scale 1 to 4 (1.5x works), optional target_fps 16 to 60 where the selected model supports it, and the Topaz model (Proteus default; Artemis, Nyx, Gaia and Starlight families available). B...

Parameters* required
confirmed_quotesarray
Exact quote receipts in the same order as videos.
h264_outputboolean
Use H.264 for broad playback compatibility. Defaults false, preserving the existing H.265 option.
modelstring
Upscaler model. Default Proteus. Use list_upscalers for current availability and model specific controls. Fast 3 uses the direct Topaz API; Precise 2.5 remains available.one of Proteus · Artemis HQ · Artemis MQ · Artemis LQ · Nyx · Nyx Fast
quote_onlyboolean
Return exact token quotes without starting processing or deducting tokens. Requires a saved Switch clip.
request_idstring
Stable identifier for one intended batch. Reuse across retries and reloads; use a new identifier only for a deliberate new run.
scalenumber
Upscale factor, 1 to 4. 1.5 is allowed. Default 2.
target_fpsinteger
Optional target frame rate 16 to 60 (enables frame interpolation; 60 doubles the token cost).
videostring
One clip: a Switch job id, its download_url/view_url, or a public https video URL.
videosarray
Batch of up to 10 clips (same accepted forms as video).
list_upscalersList the video upscalers you can run on your videos, their provider routes, supported controls, and release availability. Uses the same catalog as Video on desktop and mobile. Does not start a job or spend tokens.

List the video upscalers you can run on your videos, their provider routes, supported controls, and release availability. Uses the same catalog as Video on desktop and mobile. Does not start a job or spend tokens.

No parameters. Call it with no arguments.

sync3_lip_sync_videoMain SwitchApp lip-sync for your videos. Uses Sync Labs Sync 3 only — never Kling. Call action="create" with video_url plus either sound_file (a base64 audio data URI) or audio_url; then call action="status" with the returned task_id. Sync 3 processes the whole clip in one pas...9 params

Main SwitchApp lip-sync for your videos. Uses Sync Labs Sync 3 only — never Kling. Call action="create" with video_url plus either sound_file (a base64 audio data URI) or audio_url; then call action="status" with the returned task_id. Sync 3 processes the whole clip in one pas...

Parameters* required
actionstring
Create a Sync 3 lip-sync job or check its status.one of create · status
audio_urlstring
create: the audio: an https link (the audio_url from generate_audio works as is) or the asset_id from upload_reference_asset (kind audio). Use instead of sound_file.
keep_backgroundboolean
create: keep the clip's own music and room under the new speech (default true). Switch splits the soundtrack into layers and lays the non-voice layers back; only the voice changes. false gives the...
quote_onlyboolean
true answers the price only: nothing is made and nothing is charged.
scene_audio_urlstring
create: the full scene mix (both voices and the room) to lay onto the synced picture when it is done, usually the same audio_url (an https link or an upload_reference_asset asset_id). With speak_sp...
sound_filestring
create: base64 data URI of the audio (for example data:audio/mpeg;base64,...).
speak_spansarray
create, two-voice scenes: the seconds when the person ON CAMERA speaks: the time windows you wrote in front of her lines in generate_audio's text (exact), or from its sentences and words (timestamp...
task_idstring
status: the sync: task_id returned by create.
video_urlstring
create: the source video: an https link, the id of one of your Switch videos (from generate_video or list_my_videos), or the asset_id from upload_reference_asset.
lip_sync_videoLip-sync audio onto one of your videos. For action="create" without engine, session_id, or face_id, the default is Sync Labs Sync 3: video_url + sound_file (base64 data URI) processes the whole clip without a face-identification step or manual timing. engine="best" explicitly...15 params

Lip-sync audio onto one of your videos. For action="create" without engine, session_id, or face_id, the default is Sync Labs Sync 3: video_url + sound_file (base64 data URI) processes the whole clip without a face-identification step or manual timing. engine="best" explicitly...

Parameters* required
actionstring
Which step to run.one of identify-face · create · status
audio_idstring
create: alternative to sound_file — an existing audio id.
enginestring
create: optional. "best" selects Sync Labs Sync 3 for whole-clip lip sync using video_url + sound_file. When engine is omitted, Sync 3 is used unless session_id or face_id is supplied. "kling" sele...one of best · kling
face_idstring
create: a face_id from identify-face (one face supported).
keep_backgroundboolean
create, Sync 3 engine: keep the clip's own music and room under the new speech (default true); false gives the new speech alone.
original_audio_volumenumber
create: how loud the clip's own sound stays, as a percent 0-100 (default 100, the clip keeps its sound).
quote_onlyboolean
true answers the price only: nothing is made and nothing is charged.
session_idstring
create: from identify-face.
sound_end_timeinteger
create: audio end, in MILLISECONDS.
sound_filestring
create: base64 data URI of the audio (e.g. data:audio/mpeg;base64,...).
sound_insert_timeinteger
create: where in the video to place the audio, in MILLISECONDS.
sound_start_timeinteger
create: audio start, in MILLISECONDS.
speech_volumenumber
create: how loud the new speech is, as a percent 0-100 (default 100).
task_idstring
status: the task_id from create.
video_urlstring
identify-face: the source video (MP4/MOV, 2-60s, <=100MB, 720p/1080p). Use a SwitchApp/public URL.
talking_avatar_videoTurn a face photo into a lip-synced talking-head video that speaks your text (or your audio). Provide image_url (a clear face photo) and either script (text to speak, max 2500 characters) or audio_url. Optional voice_id / language / voice_settings. Renders in ~1-5 minutes (sin...8 params

Turn a face photo into a lip-synced talking-head video that speaks your text (or your audio). Provide image_url (a clear face photo) and either script (text to speak, max 2500 characters) or audio_url. Optional voice_id / language / voice_settings. Renders in ~1-5 minutes (sin...

Parameters* required
audio_urlstring
Pre-recorded audio to lip-sync instead of generating speech from script: an https link, a Switch audio take id (from generate_speech or generate_audio), or the asset_id of an audio upload.
image_urlstring
A clear face photo: a picture id from list_my_assets (a made or uploaded picture) or an https link. Required.
languagestring
Optional language code (default en).
quote_onlyboolean
true answers the price only: nothing is made and nothing is charged.
scriptstring
Text the avatar speaks. Max 2500 characters. Required unless audio_url is given.
secondsnumber
quote_only: how many seconds of speech, for a total price.
voice_idstring
Optional voice id (from clone_voice / your library).
voice_settingsobject
Optional: { stability, similarityBoost, style, useSpeakerBoost } 0-1.
voiceYour saved voices — one tool for the whole voice library. Users speak plain language and never know ids: resolve every voice by NAME yourself (call action "list" first if unsure) and never ask the user for an id. action="list" returns every saved voice with voice_id, name, kin...9 params

Your saved voices — one tool for the whole voice library. Users speak plain language and never know ids: resolve every voice by NAME yourself (call action "list" first if unsure) and never ask the user for an id. action="list" returns every saved voice with voice_id, name, kin...

Parameters* required
action*string
Which operation to run.one of clone · list · delete · create · rename
audio_base64string
create/clone: the clip as base64 when there is no URL.
audio_sample_urlstring
clone: URL of a clean 10-15 second clip of one person talking (reachable).
audio_urlstring
create: URL of a 10-30 second clip of the voice — e.g. the url returned by upload_media.
formatstring
create/clone: clip format when sending audio_base64. Default wav.one of wav · mp3 · ogg · m4a · aac
languagestring
clone: language of the sample, e.g. en, es, ja. Default en.
new_namestring
rename: the new name for the voice.
voice_idstring
delete/rename: the voice id OR its name — names are resolved for you.
voice_namestring
create/clone: what to call the voice (unique per account).
generate_audioGenerate spoken audio from text: narration, a voiceover, a read-aloud script, or a multi-voice dialogue. Pass text (up to 3000 chars) — the words to be spoken. To speak in one of YOUR saved voices, pass voice with the voice NAME (or id): users speak plain language and never kn...11 params

Generate spoken audio from text: narration, a voiceover, a read-aloud script, or a multi-voice dialogue. Pass text (up to 3000 chars) — the words to be spoken. To speak in one of YOUR saved voices, pass voice with the voice NAME (or id): users speak plain language and never kn...

Parameters* required
deliverystring
Optional. How it should SOUND, in plain English: the voice (gender, age, accent, emotion, tone, speed), mic and room, background sound or music — e.g. "young woman, warm Latin accent, soft, a littl...
formatstring
Optional output format. Default mp3.one of mp3 · wav · ogg_opus
image_urlstring
Optional. Voice a scene from a picture. Cannot be combined with reference audio.
loudnessnumber
Optional. Loudness, -50 (quieter) to 100 (louder). 0 is normal.
pitchnumber
Optional. Pitch, -12 to 12. 0 is normal.
reference_audio_urlstring
Optional. A short clip URL to instantly match that voice.
reference_audio_urlsarray
Optional. Up to 3 reference clip URLs for multi-voice dialogue.
speech_ratenumber
Optional. Speaking speed, -50 (slower) to 100 (faster). 0 is normal.
text*string
The words to speak / narrate / perform. Max 3000 chars. For dialogue, address voices as @Audio1, @Audio2, @Audio3. Optional per-sentence timing: put [start:end] seconds in front of a sentence, e.g....
timestampsboolean
Optional. true returns sentences: [{start, end, text, words: [{start, end, text}]}] in seconds. For a two-voice scene the on-camera person's lines become speak_spans for sync3_lip_sync_video: when...
voicestring
Optional. A saved voice — pass its NAME (or id); it is resolved and routed by kind automatically. Omit for a natural default voice.
get_audio_statusCollect one of your finished audio takes. When generate_audio answers status "rendering" with a request_id (a longer line), call this with that request_id every 15 seconds until it returns status "done" with a playable audio_url, duration_seconds and generation_id. Also fetche...2 params

Collect one of your finished audio takes. When generate_audio answers status "rendering" with a request_id (a longer line), call this with that request_id every 15 seconds until it returns status "done" with a playable audio_url, duration_seconds and generation_id. Also fetche...

Parameters* required
generation_idstring
Or: the generation_id of a finished take (from generate_audio or list_my_audio).
request_idstring
The request_id from a "rendering" generate_audio answer.
list_my_audioList your recent audio takes (voice lines, narration, dialogue) newest first, each with a playable audio_url, duration_seconds, the words spoken, its generation_id and made_with: the voice that spoke it (voice_name, voice_id), the model and the prompt. Use it to find "the take...2 params

List your recent audio takes (voice lines, narration, dialogue) newest first, each with a playable audio_url, duration_seconds, the words spoken, its generation_id and made_with: the voice that spoke it (voice_name, voice_id), the model and the prompt. Use it to find "the take...

Parameters* required
limitinteger
How many takes, newest first. Default 5, max 20.
searchstring
Optional. Words that appear in the take, e.g. a phrase from the script.
find_library_soundFind sound effects, music beds and ambience for your video in the Switch Motion Sound Library (952 level matched sounds: whooshes, swooshes, transitions, hits, chimes, UI clicks, typing, risers, glitches, logo stingers, ambient and music beds). Open on the Switch owner's accou...3 params

Find sound effects, music beds and ambience for your video in the Switch Motion Sound Library (952 level matched sounds: whooshes, swooshes, transitions, hits, chimes, UI clicks, typing, risers, glitches, logo stingers, ambient and music beds). Open on the Switch owner's accou...

Parameters* required
lengthstring
Optional. short is about 1 s or less, medium 1 to 2.5 s, long over 2.5 s.one of short · medium · long
limitinteger
How many sounds, best match first. Default 5, max 12.
search*string
What the moment needs, in plain words, e.g. "soft photo flip swoosh", "slow thoughtful typing", "calm piano music bed".
find_epidemic_soundFind licensed music tracks and sound effects in the Epidemic Sound catalogue, open to every account at no token cost. Search first: kind "music" (default) or "sound_effect" plus plain words for the moment; it returns sound_id, title, seconds and, for music, artists, bpm, moods...6 params

Find licensed music tracks and sound effects in the Epidemic Sound catalogue, open to every account at no token cost. Search first: kind "music" (default) or "sound_effect" plus plain words for the moment; it returns sound_id, title, seconds and, for music, artists, bpm, moods...

Parameters* required
kindstring
music (default) or sound_effect.one of music · sound_effect
limitinteger
How many results, best match first. Default 6.
save_idstring
A sound_id from a search. Saves that file to your audio library instead of searching.
searchstring
What the moment needs, in plain words, e.g. "upbeat summer pop", "calm piano bed", "car door slam".
secondsnumber
With save_id: the seconds the search gave.
titlestring
With save_id: the title the search gave, so the saved sound keeps its name.
generate_soundMake a music bed or one short sound hit for an edit (the beat-and-hits editor workflow), with no voice and no words. kind "bed" gives an instrumental bed of about `seconds` (4 to 60, default 15) to run under the piece; kind "hit" gives one sub-second sound to place on every cu...5 params

Make a music bed or one short sound hit for an edit (the beat-and-hits editor workflow), with no voice and no words. kind "bed" gives an instrumental bed of about `seconds` (4 to 60, default 15) to run under the piece; kind "hit" gives one sub-second sound to place on every cu...

Parameters* required
another_take_reasonstring
Only for a second bed minutes after a music track or bed: the creator's own words asking for another.
description*string
The feel in plain words. For example "warm lo-fi beat, 90 bpm, soft kick, no melody" or "short airy whoosh with a soft thump".
formatstring
Optional output format. Default mp3.one of mp3 · wav
kind*string
"bed" for a music bed under the piece, "hit" for one short sound on a cut.one of bed · hit
secondsnumber
Bed length in seconds, 4 to 60. Default 15. Ignored for a hit.
generate_sound_effectMake one sound effect from plain words with ElevenLabs SFX v3 (it follows several instructions in one prompt, for example "crowd cheering, then a ball drops, then booing", and handles vocal and musical sounds): whooshes, impacts, chimes, clicks, risers, ambiences, foley, anyth...6 params

Make one sound effect from plain words with ElevenLabs SFX v3 (it follows several instructions in one prompt, for example "crowd cheering, then a ball drops, then booing", and handles vocal and musical sounds): whooshes, impacts, chimes, clicks, risers, ambiences, foley, anyth...

Parameters* required
description*string
The sound in plain words, as long as you like. For example "a glassy futuristic visor powering up, quick rising shimmer into a soft bright chime, clean, no music".
loopboolean
Optional. true makes a sound that loops seamlessly (ambiences, textures).
modelstring
Optional. v3 (default, SFX v3: several instructions in one prompt, vocal and musical sounds) or v2.one of v3 · v2
output_formatstring
Optional file format, default mp3_44100_128. wav_48000 or pcm_48000 for editing, mp3_44100_192 for top mp3 quality, ulaw_8000 or alaw_8000 for phone systems.one of mp3_22050_32 · mp3_24000_48 · mp3_44100_32 · mp3_44100_64 · mp3_44100_96 · mp3_44100_128
prompt_influencenumber
Optional, 0 to 1. Higher follows the words more literally with less variety. Default 0.3.
secondsnumber
Optional length, 0.5 to 30 seconds. Leave out to let the sound maker choose from the words.
extract_sound_effectPull one described sound out of your video, like "keyboard clicks", "camera shutter" or "page turning", and split it into single effects to hear, trim and save. Use the video already in the chat: put its file id or name in video_url; when it was sent earlier, not with the late...5 params

Pull one described sound out of your video, like "keyboard clicks", "camera shutter" or "page turning", and split it into single effects to hear, trim and save. Use the video already in the chat: put its file id or name in video_url; when it was sent earlier, not with the late...

Parameters* required
againboolean
true only when the person asks to run the same extraction again (charged again).
end_secondsnumber
Optional, where it ends, in seconds.
sound*string
The sound to pull out in the person's own words, unchanged (they become the clip's name), e.g. "keyboard clicks".
start_secondsnumber
Optional, where the sound starts in the video, in seconds.
video_url*string
The video in this chat by its file id or name, or an https link.
sound_extraction_statusWhere your sound extraction from extract_sound_effect is, by its job_id: still separating, done with its clips (name, link, where each sits in the video), stopped or failed. Reading it also finishes a job that has completed, so it is safe to call again after the person comes b...2 params

Where your sound extraction from extract_sound_effect is, by its job_id: still separating, done with its clips (name, link, where each sits in the video), stopped or failed. Reading it also finishes a job that has completed, so it is safe to call again after the person comes b...

Parameters* required
actionstring
status (default) or cancel.one of status · cancel
job_id*string
The job_id extract_sound_effect answered with.
add_sound_to_videoLay one of your saved sounds (a sound effect you saved, by its id from list_my_audio) or a sound in this chat onto your video at a given second, keeping the video's own sound under it unless keep_original is false. For many sounds (an effect for every movement on a timeline),...7 params

Lay one of your saved sounds (a sound effect you saved, by its id from list_my_audio) or a sound in this chat onto your video at a given second, keeping the video's own sound under it unless keep_original is false. For many sounds (an effect for every movement on a timeline),...

Parameters* required
at_secondsnumber
Where the sound starts in the video, in seconds. Default 0.
cuesarray
Many sounds in one pass, instead of sound_id or sound_url: each { sound_id (a saved sound) or sound_url (a sound in this chat, or the audio_url find_library_sound returned), at_seconds, volume (0 t...
keep_originalboolean
Keep the video's own sound under it (default true).
sound_idstring
Your saved sound's id (list_my_audio).
sound_urlstring
Or a sound in this chat by its file id or name, or an https link.
video_url*string
Your video in this chat by its file id or name, or an https link.
volumenumber
0 to 4; 1 is the sound as saved. Default 1.
generate_speechSpeak written words out loud in an ElevenLabs voice and save the audio to your library. Give it the words and the voice (a voice name, or a voice id from list_voices). Every take speaks on Eleven v4 or Eleven v4 Turbo. Choose with quality: "fast" (the default, v4 Turbo, quick...12 params

Speak written words out loud in an ElevenLabs voice and save the audio to your library. Give it the words and the voice (a voice name, or a voice id from list_voices). Every take speaks on Eleven v4 or Eleven v4 Turbo. Choose with quality: "fast" (the default, v4 Turbo, quick...

Parameters* required
languagestring
Optional two-letter language code, for example "es" or "fr", when the words are not in English.
modelstring
Optional. v4 (richest) or turbo (quick, the default). Leave it out and quality decides.
qualitystring
Optional. "best" picks the richest model, "fast" the quick one. Default fast.one of best · fast
request_idstring
Only reuse a request_id explicitly returned by an enabled durable recovery workflow; an attempt_id or saved-file recovery receipt does not authorize this replay.
similaritynumber
Optional, 0 to 1. How closely the read sticks to the original voice.
speaker_boostboolean
Not used: Eleven v4 has no speaker boost, so this is ignored.
speednumber
Not used: Eleven v4 has no speed dial, so this is ignored.
stabilitynumber
Optional, 0 to 1. Lower is more expressive and varied, higher is steadier and more even.
stylenumber
Not used: Eleven v4 has no style dial, so this is ignored.
text*string
The words to speak, exactly as they should be said. How long one take can be is set by the model you pick. Write numbers and dates the way you want them read out.
timestampsboolean
Optional, default true. Word-by-word times come back with the audio. Set false if you do not need them.
voice*string
Which voice speaks: a voice name such as "Rachel", or a voice id. Call list_voices to see the voices on this account.
generate_dialogueMake ONE audio file, saved to your library, of two or more people talking to each other, spoken by ElevenLabs v3 (or v4, with model). Give it lines in order, each with the voice who says it (a voice name or a voice id from list_voices) and the words. The speakers react to each...5 params

Make ONE audio file, saved to your library, of two or more people talking to each other, spoken by ElevenLabs v3 (or v4, with model). Give it lines in order, each with the voice who says it (a voice name or a voice id from list_voices) and the words. The speakers react to each...

Parameters* required
languagestring
Optional two-letter language code, for example "es", when the conversation is not in English.
lines*array
The conversation in order, as many lines as it takes. Example: [{ "voice": "Rachel", "text": "[whispers] Did you hear that?" }, { "voice": "Adam", "text": "[sighs] It is just the wind." }]
modelstring
Optional. Always "v4" (Eleven v4); leave it out.
similaritynumber
Optional, 0 to 1. How closely each read sticks to its own voice.
stabilitynumber
Optional, 0 to 1. Lower is more expressive and the tags land harder, higher is steadier and calmer.
change_voiceTake a recording of someone speaking and have it said again in a different voice, keeping the original performance exactly: the pauses, the timing, the emphasis and the feeling all stay, only who is speaking changes. Give it source (a recording in your library by id, or an htt...6 params

Take a recording of someone speaking and have it said again in a different voice, keeping the original performance exactly: the pauses, the timing, the emphasis and the feeling all stay, only who is speaking changes. Give it source (a recording in your library by id, or an htt...

Parameters* required
modelstring
Optional. "multilingual" (default) handles any language; "english" is tuned for English only.one of multilingual · english
remove_background_noiseboolean
Optional. true cleans room noise, traffic or hiss off the recording before the voice is changed.
similaritynumber
Optional, 0 to 1. How closely the result sticks to the new voice.
source*string
The recording to re-voice: an asset id from the user's library, or an https link to an audio file.
stabilitynumber
Optional, 0 to 1. Lower keeps more of the original expression, higher steadies the read.
voice*string
The voice that should say it: a voice name such as "Rachel", or a voice id. Call list_voices to see the voices on this account.
list_voicesList the voices available to speak with: the ready-made library voices plus every voice this account has cloned or designed. Each one comes back with its voice_id (pass that to the speaking tools), its name, whether it is ready-made or one of your own, labels saying who it sou...3 params

List the voices available to speak with: the ready-made library voices plus every voice this account has cloned or designed. Each one comes back with its voice_id (pass that to the speaking tools), its name, whether it is ready-made or one of your own, labels saying who it sou...

Parameters* required
countinteger
How many voices to list. Default 30, max 100.
mine_onlyboolean
Optional. true shows only the voices you cloned or designed yourself.
searchstring
Optional. Words to match in the name or the description, e.g. "calm female documentary".
clone_voiceMake an instant voice clone of a real person from one or more clips already in your library. What makes a good sample: one person talking and nobody else, no music and no background noise, normal speaking tone, and about a minute or more of talking across the clips you send. P...6 params

Make an instant voice clone of a real person from one or more clips already in your library. What makes a good sample: one person talking and nobody else, no music and no background noise, normal speaking tone, and about a minute or more of talking across the clips you send. P...

Parameters* required
descriptionstring
Optional. How this voice sounds, so it is easy to find later.
namestring
What to call this voice in the library, e.g. "Yani" or "Narrator, warm".
quote_onlyboolean
true answers the price only: nothing is made and nothing is charged.
recordingsarray
One or more clips of the person talking: asset ids from the library, or https links. Clean, one speaker, no music.
remove_background_noiseboolean
Optional. true cleans hiss and room noise off the clips before the clone is made.
tagsarray
Optional labels for grouping voices, e.g. ["narrator","english"].
design_voiceInvent a brand-new voice from a written description instead of cloning a real person: no consent needed and nobody owns it. Describe who they are, how old they sound, their accent, their pace and their feeling, in 20 to 1000 characters, for example "a woman in her thirties, wa...7 params

Invent a brand-new voice from a written description instead of cloning a real person: no consent needed and nobody owns it. Describe who they are, how old they sound, their accent, their pace and their feeling, in 20 to 1000 characters, for example "a woman in her thirties, wa...

Parameters* required
accentstring
Optional label, e.g. "british".
agestring
Optional label, e.g. "middle aged".
description*string
20 to 1000 characters describing the voice: age, accent, pace, tone, the feeling it gives.
genderstring
Optional label, e.g. "female".
name*string
What to call this voice in the library, e.g. "Gravel, late night radio".
sample_textstring
Optional. 100 to 1000 characters for the voice to read in the sample. Leave out and one is written for you.
tagsarray
Optional labels for grouping voices.
delete_voiceRemove one of your own voices for good and free the space it was using. Only works on a voice you cloned or designed yourself: the ready-made library voices cannot be removed. This cannot be undone, so check the name with list_voices (mine_only true) before you call it. Audio...1 params

Remove one of your own voices for good and free the space it was using. Only works on a voice you cloned or designed yourself: the ready-made library voices cannot be removed. This cannot be undone, so check the name with list_voices (mine_only true) before you call it. Audio...

Parameters* required
voice_id*string
The id of the voice to remove, from list_voices.
manage_voiceClean up and share your own saved voices (Seed Audio voices from a clip and trained voices), the same as the voice list in Audio Studio. action "delete" removes a voice for good (audio already made with it keeps its name); "turn_off" keeps it on the account but takes it out of...2 params

Clean up and share your own saved voices (Seed Audio voices from a clip and trained voices), the same as the voice list in Audio Studio. action "delete" removes a voice for good (audio already made with it keeps its name); "turn_off" keeps it on the account but takes it out of...

Parameters* required
action*string
delete, turn_off, turn_on, share or unshare.one of delete · turn_off · turn_on · share · unshare
voice*string
The voice's name as the person says it, or its id.
transcribe_audioWrite out everything said in a recording, with the exact second every word starts and ends. Give it the asset id of a clip in your library (or an https link) and you get back the full text, the language it heard, and a word-by-word list with times you can build captions or cut...5 params

Write out everything said in a recording, with the exact second every word starts and ends. Give it the asset id of a clip in your library (or an https link) and you get back the full text, the language it heard, and a word-by-word list with times you can build captions or cut...

Parameters* required
keytermsarray
Optional. Words or short phrases to hear right, spelled the way you want them back, e.g. ["QA", "SwitchApp"]. Up to 1000, each under 50 letters and 5 words or fewer, with no < > { } [ ] or backslash.
languagestring
Optional two-letter language code, e.g. "en". Leave out and the language is worked out automatically.
recording*string
The clip to write out: an asset id from your library, the generation_id any Switch audio tool gave back (list_my_audio shows them), or an https link.
sound_eventsboolean
Optional. true marks non-speech sounds like laughter and applause.
speakersboolean
Optional. true labels each word with who said it, for two or more people talking.
align_wordsGet the word times for a take you already have, so captions and cuts land on the word. Give it the recording (an asset id from your library, or an https link) and the script that is spoken in it, and every word comes back with the second it starts and the second it ends. Use t...2 params

Get the word times for a take you already have, so captions and cuts land on the word. Give it the recording (an asset id from your library, or an https link) and the script that is spoken in it, and every word comes back with the second it starts and the second it ends. Use t...

Parameters* required
recording*string
The take the words belong to: an asset id from your library, the generation_id any Switch audio tool gave back (list_my_audio shows them), or an https link.
text*string
The words spoken in the take, exactly as they are said. No "NAME:" labels in front of lines.
generate_musicMake a music track with ElevenLabs Music: a song, a score, a background bed. Either describe the whole track in prompt (genre, mood, instruments, tempo, era, how it builds) or pass a plan you got from plan_music, edited however you like. seconds sets the length, 3 to 600 (defa...8 params

Make a music track with ElevenLabs Music: a song, a score, a background bed. Either describe the whole track in prompt (genre, mood, instruments, tempo, era, how it builds) or pass a plan you got from plan_music, edited however you like. seconds sets the length, 3 to 600 (defa...

Parameters* required
another_take_reasonstring
Only for a second track minutes after the first: the creator's own words asking for another or a different one.
instrumentalboolean
Optional. true makes a track with no singing and no voices at all.
part_onlyboolean
Optional. true only when the creator asked for music on part of the video, so a shorter track is right.
planobject
Optional. The composition plan object plan_music returned, edited however you like. When this is sent the plan decides the structure and the length.
project_idstring
Optional. The Editor project this music is for; its video length sets the track length.
promptstring
The whole track in plain words, for example "driving hard rock instrumental, live drums, dirty guitars, 140 bpm, builds to a big last chorus". Leave out when you are passing an edited plan.
secondsnumber
Optional length in seconds, 3 to 600. Default 30. Ignored when a plan is sent, because the plan carries its own section lengths.
video_secondsnumber
Optional. The length of the video this music sits under, when there is no project.
video_to_musicWrite a soundtrack for a video from the video itself, with ElevenLabs Video to Music: it watches the cuts, pace and mood and scores them. Use it when the customer asks for music made for their video ("write a soundtrack for this", "score my clip"). When they bring their own so...10 params

Write a soundtrack for a video from the video itself, with ElevenLabs Video to Music: it watches the cuts, pace and mood and scores them. Use it when the customer asks for music made for their video ("write a soundtrack for this", "score my clip"). When they bring their own so...

Parameters* required
add_sound_effectsboolean
Optional. true adds sound effect cues taken from the picture.
descriptionstring
Optional. The music in plain words: genre, mood, instruments, how it builds.
model_idstring
Optional ElevenLabs model id; leave out for their default.
separate_tracksboolean
Optional. true returns the music and the sound effects as two files.
tagsarray
Optional styles, up to 10.
use_video_sound_as_referenceboolean
Optional. true takes the genre, tempo, instruments, mood and arc from the video's own sound.
video_idstring
A video made in Switch, by its job id (list_my_videos, get_video_status); its stored file is used.
video_secondsnumber
Optional. The video's length in seconds, so the right amount is held before it starts.
video_urlstring
The video in this chat by its file id or name, or an https link.
video_urlsarray
Optional, several videos scored as one, in order (up to 10).
plan_musicDraft the plan for a music track before any of it is made, and before anything is charged. Describe the track you want for your edit and this returns the structure the music maker intends to build: a list of parts in order (chunks on the newest music model, sections on the old...2 params

Draft the plan for a music track before any of it is made, and before anything is charged. Describe the track you want for your edit and this returns the structure the music maker intends to build: a list of parts in order (chunks on the newest music model, sections on the old...

Parameters* required
prompt*string
The track in plain words, for example "60 second EDM build for a product reveal, cold intro, filtered riser, hard drop at 30 seconds, no vocals".
secondsnumber
Optional target length in seconds, 3 to 600. Default 30. The plan lays its sections out to fill it.
isolate_voicePull the voice out of a noisy recording with the ElevenLabs voice isolator. Traffic, room echo, air conditioning, crowd, hiss and any music behind the speaker all come off and the speech stays, so a phone recording or a noisy location take can be used as clean dialogue. Pass t...1 params

Pull the voice out of a noisy recording with the ElevenLabs voice isolator. Traffic, room echo, air conditioning, crowd, hiss and any music behind the speaker all come off and the speech stays, so a phone recording or a noisy location take can be used as clean dialogue. Pass t...

Parameters* required
source*string
The recording to clean up: an id from your library, or a public https link to an audio file.
dub_audioSay a recording again in another language with the speakers kept sounding like themselves, using ElevenLabs dubbing. Pass source (an id from your library or a public https link) and target_language as a two-letter code: es Spanish, fr French, de German, it Italian, pt Portugue...5 params

Say a recording again in another language with the speakers kept sounding like themselves, using ElevenLabs dubbing. Pass source (an id from your library or a public https link) and target_language as a two-letter code: es Spanish, fr French, de German, it Italian, pt Portugue...

Parameters* required
dubbing_idstring
Optional. The id from an earlier dub_audio answer that came back as working. Send it on its own to collect the finished track; nothing is charged again.
sourcestring
The recording to dub: an id from your library, or a public https link to an audio file. Not needed when you are collecting with dubbing_id.
source_languagestring
Optional two-letter code of the language spoken in the recording, for example en. Leave it out to have it worked out automatically.
speakersnumber
Optional, 1 to 32. How many people speak in the recording. Leave it out to have it worked out automatically.
target_languagestring
The language to dub into, as a two-letter code. For example es, fr, de, it, pt, ja, ko, hi, ar, zh.

Sponsors

Details

Website
www.switchapp.ai
Category
Media & Entertainment
Transport
HTTP
Registry
MCP registry, active
Resources
1
Prompts
4
Tools verified
Nov 6, 2026

Related Media & Entertainment MCP servers

View all
1archivarix-com avatarTube Search Mcparchivarix-com/tube-search-mcpSearch archived YouTube videos including deleted, private, or region-blocked content.0stars
2checkra1neth avatarXbirdcheckra1neth/xbirdTwitter/X MCP server — 30 tools with x402 micropayments. Runs locally from your IP.0stars
3clipform avatarClipformclipform/mcp-serverInteractive video forms that capture authentic responses. Build engaging forms in minutes.0stars
452choujiang avatarSocialDataX 抖音 Douyin MCPcom.52choujiang/douyin-insightshot search、suggestions、video/user/product search、comments/replies、users/works/series、transcript0stars
5petabloom avatarPodcastscom.petabloom/podcastsAn MCP server that provides tools to discover and retrieve podcast episodes transcripts.0stars
6prizmad avatarPrizmadprizmad/prizmad-mcp-serverGenerate AI UGC video ads from any product URL — avatars, voiceover, OAuth Connect.0stars