Verified conversions across 205 color spaces: CSS strings, gamut checks, .cube LUTs
Switch is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Generate, manage and explore your Switch AI image and video library, scoped to your account.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http switch-mcp https://mcp.switchapp.ai/mcp
# 2 — ask your agent for something these tools do
# explore_models, check_balance, list_generations and 53 more
Switch costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http switch-mcp https://mcp.switchapp.ai/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
56 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Browse the image-generation models available to your Switch account. Returns model id, display name, brand, and credits-per-image so you can pick one before calling generate_image.
No parameter schema on file.
Check your daily Switch spending — what you have spent today, your daily limit, and what is remaining. Optionally pass an estimatedCost (USD) to also get whether you can afford it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| estimatedCost | number | no | Optional dollar amount to test against your daily limit. |
List your recent and active generation tasks. Returns counts per status (pending / running / completed / failed) plus an array of your tasks with id, status, prompts, model, ref counts, scheduledAt, finishedAt.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | no | "all" for everything, or array like ["pending","running"]. Default: active + recent. | |
| limit | integer | no | Default 10. Max 50. |
Get the full detail of one of your generations by task id — prompts, model, ref counts, saved/failed counts, ETA hint, asset ids.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| taskId | string | yes | Task id from generate_image or list_generations. |
Polling-friendly status check for one of your tasks. Returns a slim shape with status, progressPct, and eta so you can poll without refetching the full payload.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| taskId | string | yes | Task id to check. |
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 pictures" pass count=N (returns a clean grid, up to 12). For a specific known image pass assetId. Renders a branded SwitchApp
| Parameter | Type | Required | Notes |
|---|---|---|---|
| assetId | string | no | Optional. A specific image id (from list_my_assets, search_my_library, or show_generation). Omit to show the most recent image(s). |
| count | integer | no | 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 the folders in your Switch library (id, name, parent). Use this to find an existing folder before move_asset or create_folder.
No parameter schema on file.
Return 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 several). Use list_my_assets only when you need ids/metadata for another tool (e.g. move_asset) or a plain text list.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| count | integer | no | Default 20. Max 50. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | — |
| folderId | string | no | — |
| limit | integer | no | Default 20. |
Read the user's 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) under videoReferences, with usable signed URLs. Call this before generate_image or generate_video whenever the user sa
No parameter schema on file.
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | digital_phone = Sony A7IV + 50mm f/1.4 GM phone-style realism. film_pointshoot = Contax T2 35mm Portra 400. off_duty_intimate = Cass Bird natural-window editorial. |
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | 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 charact |
High-fashion magazine cover/editorial energy. Choose a photographer mood: Mario Testino glossy, Steven Klein dark cinematic, Inez & Vinoodh hard-flash, Annie Leibovitz painterly, Tim Walker dreamlike, Peter Lindbergh black-and-white natural, or Cass Bird off-duty. Returns the styled prompt stack for your shot — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | Photographer attribution drives the lighting + camera + grade stack. |
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | classic = Hasselblad H6D studio. golden_hour = Canon R5 outdoor. |
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 kicks in automatically. Returns the styled prompt stack for your shot — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | 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 prop |
Wellness / yoga / fitness / lifestyle campaign — warm amber tropical, tropical paradise cinematic, or high-key cyan beach. Returns the styled prompt stack for your shot — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | 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. |
ARRI Alexa anamorphic widescreen film look. Choose grade: warm golden, cool noir, or moody desaturated. Returns the styled prompt stack for your shot — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | warm_golden = late-afternoon honey. cool_noir = neon-fill desaturated. moody_desaturated = soft window low-contrast. |
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | canon_85mm = Canon R5 portrait standard. hasselblad_80mm = medium-format luxury. |
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | clean_studio = seamless backdrop hero. lifestyle = product in use. macro_detail = extreme close-up texture. flat_lay = top-down catalog. |
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 — pair it with generate_image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | What you want to shoot. E.g. "a woman walking through a hotel lobby" or "morning coffee on the balcony". |
| style | string | yes | phone_shot = iPhone-style snap. film_pointshoot = Contax T2 grain. mirror_selfie = bathroom/bedroom mirror. car_selfie = inside-the-car phone. |
Generate one or more Switch images. Auto-routes to the right model based on subject (Nano Banana 2 default, GPT Image 2 for swimwear/beach, Switch Model/Ultra/Pro for sexier content, Nano Banana Pro for typography-heavy). Counts <= 8 render inline in chat; counts > 8 queue to your Switch Studio with progress polling. All images persist to your Studio library and folder. Pass an optional style (e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | yes | 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". |
| count | integer | no | 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. |
| style | string | no | Optional curated style stack from the apply_* skill tools. Format "<skill>/<style_key>", e.g. "wellness/warm_amber_tropical" or "high_fashion_editorial/leibovitz_painterly". |
| aspect_ratio | string | no | Image aspect ratio. Default 9:16 (vertical, social-friendly). |
| real_photo_look | boolean | no | 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. |
| model | string | no | Optional explicit model. If omitted, auto-routed based on subject content (see tool description). |
| reference_image_urls | array | no | Optional public image URLs used as GENERIC references (products, scenery, outfits, style). These are never treated as face references — for a person's face/likeness use face_reference_ids. |
| face_reference_ids | array | no | Face reference asset ids from upload_reference_asset (frame_type "face"). The ONLY way to use a face/likeness reference. Each id is verified server-side (your own untouched original + identity verific |
| folder_name | string | no | Optional Switch Studio folder name. Auto-created if missing. Defaults to the chat-derived title. |
Stop one of your generation tasks by task id — works on queued AND running tasks. Already-saved images stay in your library; nothing is deleted or refunded. Returns how many images were saved out of how many you requested.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| taskId | string | yes | Task id from generate_image or list_my_tasks. |
Generate Switch video across the real provider lineup (Kling, Seedance, Switch Video/WAN 2.7, Switch Video Edit, Topaz upscale) and modes (text-to-video, image-to-video, frame-to-frame, motion, omni, reference-to-video, video-edit, upscale). ALWAYS call list_video_models first to pick the right model + mode and see its required inputs. Pass one shot, or shots:[...] for a storyboard (max 4 by defau
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subject | string | no | The shot: subject + motion + scene (video needs motion language, e.g. "slow push-in"). |
| model | string | no | Model id from list_video_models (e.g. kling-v3, seedance-2.0-t2v, wan-2.7-t2v, topaz). Or prefer option_id from list_video_models. |
| mode | string | no | Video mode. Must be supported by the chosen model (see list_video_models). |
| character_orientation | string | no | Motion mode only: follow the character image (default) or the reference video. |
| option_id | string | no | Optional catalog id from list_video_models (e.g. "kling-image"); use instead of model+mode. |
| image_url | string | no | 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, so |
| end_image_url | string | no | End frame for frame-to-frame mode. |
| video_url | string | no | Required for video-edit and upscale (the source clip). Accepts one of YOUR Switch videos — a job id from list_my_videos / get_video_status, or its download_url / view_url — or any publicly downloadabl |
| reference_image_urls | array | no | GENERIC reference images (products, scenery, outfits, style). Each entry accepts EITHER a Switch asset id (from show_media / list_my_assets / upload_media / get_my_active_references) OR a public https |
| face_reference_ids | array | no | Face reference asset ids from upload_reference_asset (frame_type "face") — the ONLY way to use a face/likeness reference in video. Each id is verified server-side (your own untouched original + identi |
| reference_video_urls | array | no | Seedance reference/omni only: reference video clips for motion/style guidance — up to 10 on Seedance 2.5 (clips 2-30s, 30s combined), up to 3 on Seedance 2.0 (see list_video_models for each model's ca |
| reference_audio_urls | array | no | Seedance reference/omni only: up to 3 reference audio files to drive synthesized audio. Requires at least one reference image or video. |
| audio | boolean | no | Generate audio. ON by default on Seedance 2.5 (text, image and reference) and on Omni; set false for a silent clip. Models without audio ignore this. See list_video_models for which models generate au |
| task_type | string | no | Seedance 2.5 reference mode only: declare what you are doing with the reference clip so the size and length rules are checked immediately instead of failing a minute in. auto = a new take from the ref |
| duration | string | no | 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) does 5/ |
| aspect_ratio | string | no | e.g. 9:16, 16:9, 1:1. Must be allowed for the model (see list_video_models). |
| resolution | string | no | Output resolution. Defaults to 1080p where the model supports it. 720p is cheaper and faster. 480p is the cheapest. Seedance 2.5 offers 480p, 720p and 1080p on every mode (no 2K/4K). 4K is only on Kli |
| video_people_declaration | string | no | Required with reference_video_urls: "none" confirms no real person appears; "person" runs the protected pipeline (verified account, your own stored upload, Seedance 2.5/Mini lane, provider asset regis |
| person_rights_confirmed | boolean | no | Required with video_people_declaration "person": confirms you own or are authorized to use the person's likeness in the reference video. |
| shots | array | no | A storyboard of 1-10 DISTINCT shots. Each item takes the same fields as a single shot (subject, model, mode, image_url, etc.). |
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. Call this before generate_video so you pick a real model + mode and supply the right inputs.
No parameter schema on file.
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. Poll this every ~20s — do not loop rapidly.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | string | no | Task id returned by generate_video. |
| job_id | string | no | Alternatively, the job_id. |
List your recent Switch videos, newest first — id, status, prompt, model, and a viewable view_url for finished clips. Use this to check whether videos finished and to let the user choose which one they want.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| count | integer | no | How many to return. Default 10. Max 50. |
| status | string | no | Optional filter: submitted, processing, succeed, failed, or all. |
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 for frame interpolation (60 fps costs double), and the Topaz model (Proteus default; Artemis, Nyx, Gaia and Starlight families available). Batch up to 10 clips per call via videos: [...]. Each entry accepts a Switch job id from list_my_videos, its downlo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| video | string | no | One clip: a Switch job id, its download_url/view_url, or a public https video URL. |
| videos | array | no | Batch of up to 10 clips (same accepted forms as video). |
| scale | number | no | Upscale factor, 1 to 4. 1.5 is allowed. Default 2. |
| target_fps | integer | no | Optional target frame rate 16 to 60 (enables frame interpolation; 60 doubles the token cost). |
| model | string | no | Topaz model. Default Proteus. |
Lip-sync audio onto one of your videos. RECOMMENDED: action="create" with engine="best" + video_url + sound_file (base64 data URI) — syncs the whole clip on the highest-quality engine, no face step needed. Kling flow (manual timing control): (1) action="identify-face" with video_url (MP4/MOV, 2-60s, <=100MB, 720p/1080p); (2) action="create" with session_id + face_id + audio + timing IN MILLISECOND
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | Which step to run. |
| engine | string | no | create: "best" = highest-quality whole-clip sync (needs only video_url + sound_file). Default "kling" (timeline flow). |
| video_url | string | no | identify-face: the source video (MP4/MOV, 2-60s, <=100MB, 720p/1080p). Use a SwitchApp/public URL. |
| session_id | string | no | create: from identify-face. |
| face_id | string | no | create: a face_id from identify-face (one face supported). |
| sound_file | string | no | create: base64 data URI of the audio (e.g. data:audio/mpeg;base64,...). |
| audio_id | string | no | create: alternative to sound_file — an existing audio id. |
| sound_start_time | integer | no | create: audio start, in MILLISECONDS. |
| sound_end_time | integer | no | create: audio end, in MILLISECONDS. |
| sound_insert_time | integer | no | create: where in the video to place the audio, in MILLISECONDS. |
| speech_volume | number | no | create: how loud the new speech is, as a percent 0-100 (default 100). |
| original_audio_volume | number | no | create: how loud the clip's own sound stays, as a percent 0-100 (default 0). |
| task_id | string | no | status: the task_id from create. |
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 (single call, returns the finished branded video) and is saved to your library. Charged per video.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| image_url | string | yes | A clear face photo (Switch/public URL). Required. |
| script | string | no | Text the avatar speaks. Max 2500 characters. Required unless audio_url is given. |
| audio_url | string | no | Pre-recorded audio URL to lip-sync instead of generating speech from script. |
| voice_id | string | no | Optional voice id (from clone_voice / your library). |
| language | string | no | Optional language code (default en). |
| voice_settings | object | no | Optional: { stability, similarityBoost, style, useSpeakerBoost } 0-1. |
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, kind and ready — kind "reference" is an instant voice match saved from a clip and kind "clone" is a trained voice (both speak
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | Which operation to run. |
| voice_name | string | no | create/clone: what to call the voice (unique per account). |
| audio_url | string | no | create: URL of a 10-30 second clip of the voice — e.g. the url returned by upload_media. |
| audio_base64 | string | no | create: the clip as base64 when there is no URL. |
| format | string | no | create: clip format when sending audio_base64. Default wav. |
| audio_sample_url | string | no | clone: a 10-30 second voice sample URL (reachable). |
| voice_id | string | no | delete/rename: the voice id OR its name — names are resolved for you. |
| new_name | string | no | rename: the new name for the voice. |
Generate spoken audio from text: narration, a voiceover, a read-aloud script, or a multi-voice dialogue. Pass text (up to 2048 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 know ids, so resolve the name yourself (the voice tool, action "list", shows every saved voice) and never ask the user for an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | The words to speak / narrate / perform. Max 2048 chars. For dialogue, address voices as @Audio1, @Audio2, @Audio3. |
| voice | string | no | Optional. A saved voice — pass its NAME (or id); it is resolved and routed by kind automatically. Omit for a natural default voice. |
| reference_audio_url | string | no | Optional. A short clip URL to instantly match that voice. |
| reference_audio_urls | array | no | Optional. Up to 3 reference clip URLs for multi-voice dialogue. |
| image_url | string | no | Optional. Voice a scene from a picture. Cannot be combined with reference audio. |
| speech_rate | number | no | Optional. Speaking speed, -50 (slower) to 100 (faster). 0 is normal. |
| pitch | number | no | Optional. Pitch, -12 to 12. 0 is normal. |
| loudness | number | no | Optional. Loudness, -50 (quieter) to 100 (louder). 0 is normal. |
| format | string | no | Optional output format. Default mp3. |
Upload an image, video, or audio reference into Switch cloud and get an opaque asset_id (never a raw storage URL) to pass in reference fields. Pass kind=image|video|audio. Returns reference_image_urls / reference_video_urls / reference_audio_urls for generate_image and generate_video. Image references are also added to your active Studio reference strip (the same one your desktop uses) unless acti
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | Reference type to upload. |
| url | string | no | Public https URL to fetch server-side. |
| base64 | string | no | Base64 bytes (optionally a data: URL). Best for small files; large video should use presign. |
| mime | string | no | MIME for base64. Images: jpg/png/webp/gif. Videos: mp4/mov. Audio: mp3/wav/m4a/aac. |
| filename | string | no | Optional source filename for extension/display. |
| activate | boolean | no | Image only: add to the active Studio reference strip. Default true. The strip is photos only — video and audio never touch it regardless of this flag. |
| frame_type | string | no | Image strip label: ref (default), face, body, clothes, scenery, product, typography. Use "face" for a person's face/likeness — face uploads are stored as untouched originals in the private reference b |
| presign | boolean | no | Return an upload_url to PUT the file bytes directly to (no base64). Video always; image/audio when enabled. |
| confirm_path | string | no | The storage_path from a presign call, after you PUT the file — verifies the object, records it, and adds it to your strip. |
Stitch several of your Switch videos together into ONE video, played back-to-back in the order you give. Pass clip_asset_ids: an ORDERED list of your video ids (get them from list_my_videos) — the first id plays first. Optional orientation (landscape|portrait|square), fps, quality. Renders the combined video with ffmpeg and returns the finished, downloadable video url right away (also saved to lis
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clip_asset_ids | array | yes | Ordered list of your video ids (from list_my_videos). At least 2. Output order = this order. |
| orientation | string | no | landscape (1920x1080, default), portrait (1080x1920), or square (1080x1080). |
| fps | integer | no | Frames per second. Default 30. |
| quality | string | no | draft, standard (default), or high. |
| project_name | string | no | Optional name for the output video. |
Switch Vision — watch and understand a video (or image) like a human and answer a question about it: scenes, subjects, actions, on-screen text, pacing, mood and sentiment. Pass video_url (a public https video URL, including YouTube) OR one of your own Switch videos (a video/asset id from list_my_videos / list_my_assets / upload_media). Add an optional question to focus the analysis (e.g. "what is
| Parameter | Type | Required | Notes |
|---|---|---|---|
| video_url | string | yes | A public https video URL (YouTube ok), OR one of your own Switch videos — a video/asset id, or the download_url / view_url from list_my_videos or get_video_status. Switch resolves its own links to the |
| question | string | no | Optional. What to find out about the video — tone, structure, on-screen text, sentiment, etc. |
Turn a video into a DEPTH MAP: a grayscale video where brightness encodes distance, used as a motion reference so a new generated subject moves exactly like your source clip. Pass video_url (a public https video URL) OR one of your own Switch video ids (from list_my_videos or list_my_assets). For an external URL also pass duration_seconds (the clip length; your own Switch videos carry it automatic
| Parameter | Type | Required | Notes |
|---|---|---|---|
| video_url | string | yes | A public https video URL, OR one of your own Switch video ids. |
| duration_seconds | number | no | Clip length in seconds. Required for external URLs; your own Switch videos are measured automatically. |
Check one of your depth map renders started with create_depth_map. Pass the task_id it returned. While rendering it reports processing; when finished it returns depth_video_url, a download link for the grayscale motion reference video. If the render failed, it says so and confirms your tokens were returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | string | yes | The task_id returned by create_depth_map. |
Run the FULL Switch Vision analysis on a video, the same premium report the Video Analysis page produces: it watches AND listens in three forensic passes and returns a structured report with every category: overview (scores and takeaways), a second by second timeline, audio, visual craft, story and retention, speech transcript, ready to run recreation prompts, and metadata. Pass video_url (a publi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| video_url | string | yes | A public https video URL (YouTube ok), OR one of your own Switch video ids. |
| duration_seconds | number | no | Length in seconds. Required for external files; YouTube and your own Switch videos are measured automatically. |
| question | string | no | Optional. Something to pay special attention to. |
| force | boolean | no | Optional. Re-running the same video and question returns the existing report without charging again; pass true to force a fresh, freshly billed analysis. |
Fetch one of your finished Video Analysis reports by report_id (from analyze_video_report or list_vision_reports). Returns the complete structured report: overview scores and takeaways, the timeline of scenes, audio, visual, story, speech, the recreation section with every master prompt, and metadata, plus recreation_prompt (the ready to run prompt) at the top level. While an analysis is still run
| Parameter | Type | Required | Notes |
|---|---|---|---|
| report_id | string | yes | The report id to fetch. |
List your Video Analysis history, newest first: report_id, date, status, source kind, duration, engine, tokens charged, and each report's headline. Use it to find a past analysis, then pass its report_id to get_vision_report (full report) or video_to_prompt (just the recreation prompt).
No parameter schema on file.
Turn one of your finished Video Analysis reports into ONE reusable generation prompt that recreates the source video's look, energy, pacing and mood, with a {your photo} placeholder where your own subject goes. Pass report_id (from analyze_video_report or list_vision_reports) or video_url (the exact source URL you already analyzed). Free: it rewrites the analysis you already paid for and never cha
| Parameter | Type | Required | Notes |
|---|---|---|---|
| report_id | string | no | A finished report id from analyze_video_report or list_vision_reports. |
| video_url | string | no | Alternative: the exact public https URL you already analyzed. |
| mode | string | no | What the prompt focuses on. action = motion/gestures only, no appearance or scene. scene = setting/camera/lighting only, no subject. action_scene = both, no appearance. description_scene (default) = f |
| engine | string | no | Which model format to return: seedance (default, control-format), kling (cinematic prose), or gemini (plain paragraph for Omni). |
Separate one of your own Switch images into editable layers with Seedream 5.0 Pro: a base plus up to 16 transparent PNG layers, each named and placed. Say which image (asset_id, or "my last image"), optionally what to separate, and the size. Charged only for the layers that actually come back; a failed split is fully refunded.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_id | string | yes | The id of your image to separate. "my last image" also works. |
| instruction | string | no | Optional: what to separate, e.g. "the outfit and the bunny". Leave empty to separate everything the model finds. |
| size | string | no | Output size for the layers. Auto follows the original image. |
Open one of your own layers projects: every layer with its name, description, stacking order, whether it is showing, and where it sits on the picture. Use this before arranging layers so you know their ids.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layer_set_id | string | yes | The layers project id from split_image_into_layers. |
Arrange your own layers project: show or hide a layer, move or resize it (box as [left, top, right, bottom] in the base picture's pixels), change its stacking order, or reset it back to where the split put it. Saves immediately through the same checks the Switch workspace uses, so the app shows the same thing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layer_set_id | string | yes | The layers project id. |
| changes | array | yes | One entry per layer you are changing. |
Save the current arrangement of your own layers project as a finished picture in your library, composited at full quality from the original layer files. The project stays editable and you can flatten again.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layer_set_id | string | yes | The layers project id. |
Prepare a private, short-lived download link for your own layers project: a ZIP holding every original transparent PNG plus a manifest of names, order, boxes and visibility, ready for Photoshop or Figma. Each call rebuilds the ZIP (one stored copy per project, overwritten).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layer_set_id | string | yes | The layers project id. |
Create a clean, persistent project in your real Switch Editor. The same project opens in the /editor UI and is used by the Editor agent and HyperFrames renderer.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | Project name. |
Inspect one of your persistent Switch Editor projects. Omit project_id for your latest project; include_payload=true returns its full editable state.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | no | — |
| include_payload | boolean | no | — |
Upload an image, video, or audio file directly into your real Switch Editor project. First call with presign=true, PUT the bytes to upload_url, then confirm_path in a second call; no browser file picker is needed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | — |
| kind | string | yes | — |
| filename | string | no | — |
| mime | string | no | — |
| file_size | integer | no | Bytes; required for presign. |
| duration_seconds | number | no | — |
| presign | boolean | no | — |
| confirm_path | string | no | — |
Add images you own in your Switch library to your real Editor project. Resolve the asset ids with search_my_library or list_my_assets; Switch copies only owner-scoped durable files into the Editor workspace.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | — |
| asset_ids | array | yes | Up to 12 owned image ids from your Switch library. |
Tell your Switch Editor agent to build or revise the persistent editable project. It can author scenes, layers, variables, files, motion, and narration plans through the real HyperFrames project workspace.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | — |
| prompt | string | yes | — |
Read progress, checks, exact approval quote, revision, and render result for one of your Switch Editor agent runs.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| run_id | string | yes | — |
Explicitly approve the exact paid quote currently waiting on one of your Editor runs. Requires approved=true and the matching quote_id; stale or changed projects fail closed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| run_id | string | yes | — |
| quote_id | string | yes | — |
| approved | boolean | yes | — |
Safely cancel one of your queued, running, or approval-waiting Switch Editor runs without applying a pending revision.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| run_id | string | yes | — |
Render your current persistent Switch Editor project as an MP4 through the real HyperFrames render worker. Use get_editor_run to follow it to playback and download.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | — |
Capture a fixed state of the real current production Switch Editor into your Editor project. The default state is an honest baseline capture of the full Editor, its sections, scroll pages, and rendered controls; it has no fabricated click transition. States with a configured interaction add a before PNG, real button-transition WebM, and after PNG. Each manifest records the state owner lane and kno
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | — |
| state | string | yes | The real Editor panel or menu state to open before capture. |
| include_controls | boolean | no | Default true. Also capture every rendered interactive control, including controls reached by scrolling, as a named asset. |
Upload one image into your Switch library in a single call. Pass url (any public https) OR base64 + mime. Switch fetches/decodes it server-side, stores it, and returns a clean public URL plus the new asset id. This is THE way to use a photo the user attached in chat as a reference: pass the returned url directly into generate_image's reference_image_urls, OR into generate_video's image_url
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | no | Any public https URL — Switch fetches it server-side. |
| base64 | string | no | Base64-encoded image bytes (use this when there is no public URL). |
| mime | string | no | MIME type when sending base64. Default image/png. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Switch or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Switch can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.