MCP tool reference
Every tool on Kuro's MCP server — 137 of them — with the inputs it takes, the scope it needs and a call to copy. Read from the server's own tools/list, last changed November 3, 2026.
Connect from Claude Code with:
claude mcp add kuro https://api.meetkuro.com/mcp --transport httpA connection holds OAuth scopes. A tool whose scope the grant lacks is refused when it is called; a personal access token holds every scope. Each tool's page also has a Markdown twin at its URL plus.md, and this index is at /agents/tools.md.
media.read
Reads the account: media, uploads, boards, runs, Subjects, models and the balance. 30 tools.
- list_generations — List generations
Search and page through the user's image, clip and audio generations.
- get_generation — Get generation
Get current status and signed media URL for one generation.
- list_models — List models and their capabilities
Read the full capability envelope for the models a room can run: aspect ratios, durations, resolutions, reference capacities, which inputs a model require…
- get_credits — Get credit balance
Use only the account's existing entitlements: when work is unavailable, explain the limit without offering purchases, upgrades, subscriptions or checkout…
- get_usage — Get usage
Read what the account spent and made in a week or month: credits, images, seconds of video and audio, and credits per model, with the comparable period be…
- send_feedback — Send feedback to Kuro
Tell Kuro's team when no tool can do what the user asked (missing_tool), a tool failed in a way its error did not explain (bug), a tool's behaviour was un…
- get_account_context — Get account context
Read what Kuro knows about the user before making anything: their name and language, what they optimize for when a model is picked (image_priority and cli…
- get_benchmark — Get the model benchmark
Which model to use for a job, in three tiers (best, middle, cheapest), priced for this account: credits per reference request, who pays (`paid_by`: one of…
- get_upload_link — See what arrived through a link
Read a link from request_upload_link: the files the user has sent through it so far, each with the `reference` the generate tools take, and whether it sti…
- list_uploads — List uploads
Page through the account's uploads alone, newest first — list_media mixes them with generations.
- get_upload — Get upload
Read one upload by id: its file, kind, status and freshly signed links (`url`, and `thumbnail_url` for a video's poster).
- get_download_url — Get download URL
A short-lived attachment URL for a ready generation or verified upload, on this server's own API host.
- get_video_analysis — Read a video analysis
Read an existing video analysis and its measured bundle without starting measurement or charging credits.
- measure_video — Measure a video
Measure an uploaded video so you can reverse-engineer its format: shot boundaries with real timestamps, one or more keyframe images per shot, a timed tran…
- get_video_import — Read video imports
Read one import's progress by import_id, or omit it to recover recent imports.
- get_transcription — Read a transcription
Read the transcript and status of existing work.
- transcribe_media — Transcribe audio or video
Get the spoken words out of any audio or video in the user's account, timed and attributed to speakers.
- list_storyboards — List storyboards
List the account's films, most recently edited first; `tags` narrows to the ones carrying every tag named.
- get_storyboard — Get a storyboard
Read a film: its settings, its cast, every scene by number with its prompts and the state of its still and its clip, each derived video with how many clip…
- list_storyboard_templates — List storyboard templates
The account's saved storyboard templates — a board's scenes and connections frozen with no media, to start the next film from.
- list_voices — List saved voices
The voices this account saved from a provider, newest first, each with the id to pass as generate_voiceover's voice, plus which providers this server can…
- list_own_models — List own models
The vendor models this account added to its own key (vendor, endpoint, modes, what each makes).
- get_subject_performances — Read a performance bank
Read the ordered reusable performance generations saved for a Subject.
- list_subjects — List subjects
The named identities this account reuses — a character, a location, a product, a prop, a wardrobe.
- list_media — List reusable media
List ready generations and verified uploads already in the user's account, newest first.
- list_workflow_runs — List workflow runs
Page through your workflow runs, newest first — every run of every recipe, or those of one recipe you own with `recipe_id`.
- get_workflow_run — Get workflow run
Read a workflow run, its recorded steps, generations, and current checkpoint.
- list_share_links — List share links
The live share links on one generation or upload — ids, ages, view counts and the settings the owner chose.
- get_virality_prediction — Get virality prediction
Read one prediction by id — the poll — or, with no id, list the account's predictions newest first (`archived: true` lists the archived ones).
- get_skill — Get a skill
Read how to do a multi-step job in Kuro (a film, a carousel, a talking head, a week of posts, a remake, a product demo).
generation.write
Makes, edits, imports, shares and deletes media in the account. 61 tools.
- generate_image — Generate image
Make an image in the user's Kuro account.
- generate_clip — Generate clip
Start a short video clip generation.
- animate_image — Animate image
Animate an existing image or upload into a clip.
- generate_voiceover — Generate voice-over
Start a voice-over generation from text.
- generate_music — Generate music
Start a music generation from a creative brief.
- set_recipe_gallery — List a generation on its recipe's gallery
Put a ready generation made with a recipe on that recipe's public gallery — the examples a reader sees under the recipe — or take it off with `listed: fal…
- quote_generation — Quote a generation
Price a request exactly, and compare it to the balance, without creating anything.
- set_brand_note — Set the brand note
Replace the user's brand note (at most 2000 characters): who they are, what they sell, their tone, colours and words to avoid.
- set_preferences — Save the model priorities
Save what matters most to the user when you pick a model, for images (image_priority) and for clips (clip_priority), each best (the strongest model for th…
- create_upload — Start an upload
Reserve an upload and get a presigned URL to PUT the bytes to.
- complete_upload — Finish an upload
Verify uploaded bytes against their declared size, type and checksum, and return the upload ready to bind to a generation.
- import_media — Import media from a URL
Fetch a file the client cannot upload itself and store it as an account upload.
- request_upload_link — Ask for photos with a link
Get a link the user taps to send pictures or videos from their own phone or computer straight into the account, with no setup and no sign-in.
- update_upload — Update upload
Name, describe, tag, favourite, archive or restore a verified upload.
- delete_upload — Delete upload
Permanently delete an upload and its bytes.
- save_video_analysis — Save a video beat sheet
Store your beat sheet for an analysed video.
- import_video_url — Import a public video link
Import one public YouTube, Facebook or TikTok video (up to 10 minutes and 250 MB) into the Library.
- retry_video_import — Retry a video import
Retry a failed or canceled import.
- cancel_video_import — Cancel a video import
Cancel an unfinished import.
- loop_video — Loop a performance bank
Rotate one to three owned 1–15 second video takes to a target duration, up to 30 minutes.
- vectorize_image — Vectorize
Convert a raster image — a logo, icon, or flat illustration — into crisp vector paths you can scale to any size without blur.
- remove_image_background — Remove background
Automatically remove the background from product shots, portraits, and generated images.
- upscale_image — Upscale
Crisp Upscale increases resolution and clarity, making an image sharper on screen and ready for print.
- restore_photo — Restore photo
Restore an old or damaged photo with FLUX Kontext — fix scratches, repair damage, and bring faded color back to life.
- extract_video_frame — Extract a video frame
Save the first or last decoded frame of an owned video as a new image generation.
- trim_video — Trim a video
Save one stretch of an owned video as a new clip, using a keyframe copy by default.
- trim_audio — Trim audio
Save one stretch of an owned voice-over, song or audio upload as a new WAV audio generation, cut to the sample.
- change_video_voice — Change a video's voice
Replace the speech voice in an owned clip with an ElevenLabs voice, saving a new generation using account entitlements.
- join_clips — Join clips into one film
Concatenate 2-20 images or clips, in the order given, into a single MP4 in the library.
- add_captions — Burn captions into a clip
Transcribe a clip's speech and burn social captions into it, as a new video in the library.
- edit_image — Edit an image
Change one thing about an image already in the account, keeping everything else.
- regenerate_generation — Retry a failed generation
Retry a generation that failed, on the same recipe.
- update_generation — Update a generation's details
Rename, describe, tag, favourite or rate a generation.
- delete_generation — Delete a generation
Permanently remove a generation and its media.
- create_carousel — Create a carousel
Render 2–20 pictures, in order, into one carousel: an image set in the library, one picture per page, each with at most one line of text and one inset (a…
- generate_scene_images — Generate scene stills (also needs
storyboards.write)Make the still pictures of the scenes you name.
- animate_scenes — Animate scenes (also needs
storyboards.write)Film the scenes you name, or every scene whose still is ready and whose clip is not.
- cast_voice — Cast a voice from a face
Read a portrait already in the account and return the voices that suit it, best first.
- save_voice — Save, rename or remove a voice
Save a provider's voice to the account by its id (provider + provider_voice_id, named by the provider unless you pass name), rename a saved one (voice_id…
- image_to_prompt — Read a picture into a prompt
Write the prompt that would make a picture like this one, for an image model (model_id, or one the picture suits).
- add_own_model — Add an own model
Add a vendor model to the account's own key.
- update_own_model — Update or remove an own model
Rename an own model, move it to what its vendor serves now (adopt_latest, after list_own_models with its id shows the update), or remove it (remove: true).
- generate_with_own_model — Generate with an own model
Run one of the account's own models on its own key: pick a mode (endpoint + slot from list_own_models), a prompt, files per media field as { generation_id…
- save_subject_performances — Save a performance bank
Save two or three distinct owned, ready 10–15 second video generations against a character Subject, replacing its previous bank.
- create_subject — Create a subject
Name an identity so it can be reused.
- update_subject — Update a subject
Change what a subject is or how it is described, bind the voice it speaks in, and push a new identity image onto it.
- delete_subject — Delete subject
Delete a Subject.
- generate_with_recipe — Generate with guided recipe
Create one image or clip with a guided recipe — an arm or reprompt recipe.
- revise_guided_generation — Revise guided generation
Create a new generation from the exact saved recipe snapshot, media, and settings, replacing the creative prompt and optionally the choices in response to…
- start_recipe_run — Start recipe run
Quote or start a workflow recipe.
- resume_workflow_run — Resume workflow run
Resume the current pause or checkpoint using its revision from get_workflow_run a workflow run.
- cancel_workflow_run — Cancel workflow run
Cancel a workflow run.
- retry_workflow_run — Retry workflow run
Pick a failed or canceled run up where it stopped, using its current revision from get_workflow_run.
- rewind_workflow_run — Rewind workflow run
Re-run a workflow run from an earlier step, using its current revision from get_workflow_run.
- decide_workflow_items — Decide workflow items
Answer an engine run paused on `items`: for every failed item the run is waiting on, retry it, edit its prompt and retry, or skip it.
- record_run_step — Record run step
Record the current result of an agent-driven workflow run, in score order.
- create_share_link — Create share link
Mint a public permalink for a ready generation, a verified upload, or a whole group.
- revoke_share_link — Revoke share link
Take a share link down for good.
- predict_virality — Predict virality
Score how a short video is likely to perform: a headline number and a timeline of attention, emotion and reward signals.
- archive_virality_prediction — Archive virality prediction
Put a prediction away, or bring it back with `archived: false`.
- delete_virality_prediction — Delete virality prediction
Delete a prediction for good.
recipes.read
Reads the public catalog and the account's own recipes. 6 tools.
- get_recipe — Get recipe
Get one recipe by id — a look or a guided recipe, with its recommended models, creative guidance, and media slots.
- list_recipes — List recipes
Search and page through the RECIPE catalog — templates that ask you questions and then make something.
- list_presets — List styles
Search and page through Style, Motion, Lighting and Framing presets.
- get_preset — Get style
Read one style in full — its reader-facing `description` and the `prompt_fragment` a provider receives.
- get_own_recipe — Get own recipe
Read one recipe you own, whole: the authored arrangement (`config`) on an arm row, the doctrine (`writer`) beside it on a reprompt row, or the private wor…
- list_own_recipes — List own recipes
Page through the recipes you authored, saved or remixed — your private shelf, which list_recipes never shows.
recipes.write
Writes the account's own recipes; every save is private. 7 tools.
- create_recipe — Create recipe
Author a private recipe from nothing.
- save_recipe_from_generation — Save recipe from generation
Turn a finished image or clip into a private recipe that makes more of it.
- remix_recipe — Remix recipe
Copy a catalog recipe you can read onto your own shelf, as it is today — a curator re-authoring the original later cannot change your copy.
- update_recipe — Update recipe
Change anything about a recipe you own — its words, its model set, its document, its medium or its kind.
- set_recipe_cover — Set recipe cover
Set a recipe's cover from a ready generation you made (an image for an image recipe, a clip for a video one — the clip's own poster is used), or remove it…
- submit_recipe — Submit recipe
Offer a recipe you own to the official catalog, or withdraw the offer with `submitted: false`.
- delete_recipe — Delete recipe
Permanently delete a recipe you own, its cover and its public page if it had one.
recipes.publish
Puts one of the account's own recipes on the public catalog under its author's byline. 1 tool.
- publish_recipe — Publish recipe
Put a recipe you own on the public wall under your byline, or take it down with `published: false`.
storyboards.write
Authors, edits, renders and deletes storyboards. Reading a board rides media.read, and the two board tools that spend need generation.write as well. 29 tools.
- create_storyboard — Create a storyboard
Make a film three ways: from a brief you have written as scenes, from media the account already holds, or from a video you have already analysed.
- add_scene — Add a scene
Add one scene to a film.
- update_scene — Update a scene
Change one scene by its 1-based number: title, description, image or motion prompt, length (or auto_duration where the clip model offers it), hold_motion,…
- move_scene — Move a scene
Move one scene to sit right after another (after_scene 0 puts it first).
- delete_scene — Delete a scene
Delete one scene by number.
- set_scene_image — Set a scene's still
Use an image the account already holds — a generation or an upload — as one scene's still, replacing the one it has.
- set_scene_clip — Attach a clip to a scene
Attach existing footage to one scene: an owned ready clip generation, a verified video upload, or a finished storyboard render.
- connect_scenes — Connect two scenes
Draw an arrow from one scene to another, by number — a branch or a convergence makes a second video path through the board.
- disconnect_scenes — Disconnect two scenes
Remove the arrow from one scene to another, by number.
- add_storyboard_sound — Add a sound to a film
Place ready audio the account already holds — a voice-over, music or an audio upload — on a film as a sound card.
- update_storyboard_sound — Update a sound card
Change one sound card, addressed by its number in the answer's sounds array or by id: where it starts, its source window, length or gain.
- remove_storyboard_sound — Remove a sound card
Take one sound card off a film, by its number in sounds or its id.
- add_storyboard_note — Add a note to a film
Put a sticky note on a film's canvas, optionally near a scene and in a color.
- add_storyboard_text — Add text to a film
Put a text element on a film's canvas — a title or body text — optionally near a scene.
- update_storyboard — Update a film
Change a film's own properties in one call; only the fields you send change.
- update_storyboard_annotation — Update a note or text
Change one note or text element on a film's canvas, by the [id] the brief prints (note_… or text_…): its words, a note's color, or a text's size.
- remove_storyboard_annotation — Remove a note or text
Take one note or text element off a film's canvas, by the [id] the brief prints (note_… or text_…).
- generate_scene_images — Generate scene stills (also needs
generation.write)Make the still pictures of the scenes you name.
- animate_scenes — Animate scenes (also needs
generation.write)Film the scenes you name, or every scene whose still is ready and whose clip is not.
- render_storyboard — Render a storyboard
Assemble a film's derived videos into MP4s.
- export_storyboard_video — Export a rendered video
Copy a finished film into the library as an ordinary clip, and get the file's link.
- undo_storyboard — Undo on a storyboard
Take back YOUR last gesture on a film, or redo the one you took back.
- cancel_storyboard_work — Cancel a storyboard's work
Stop what a film has in flight: every generation and render on the board, or one video's render when you name it.
- delete_storyboard — Delete storyboard
Delete a film for good — the board, its scenes, its history — and stop anything it is still rendering or filming.
- continue_scene — Continue a shot into the next scene
Give a scene a still that is the LAST frame of another scene's clip, so the next shot picks up exactly where the previous one ended.
- match_scene_motion — Match a scene's source motion
Cut the stretch of source video a scene was read from, so a clip model can be shown the original's camera and timing.
- save_storyboard_template — Save storyboard as template
Freeze a board's scenes, prompts, durations and connections into a named template.
- apply_storyboard_template — Start a film from a template
Make a new storyboard from a template: every scene and connection, unshot.
- delete_storyboard_template — Delete storyboard template
Delete a template.
social.read
Reads the connected social accounts and their posts. 3 tools.
- list_social_accounts — List social accounts
The TikTok, Instagram, YouTube and X accounts this reader connected, each with its status (`needs_reconnect` means posts to it will fail until the reader…
- list_posts — List posts
Read the social calendar.
- get_social_insights — Read how posts did
How the reader's published posts are doing: each post's latest views, likes, comments and shares per account (results), and, with timezone (an IANA zone,…
social.write
Drafts, schedules, edits and withdraws posts. 2 tools.
- schedule_post — Schedule post
With post_id and remove: true, remove a finished or canceled post from Kuro's calendar and Needs attention only.
- write_caption — Write a caption
Write a caption and hashtags for an image, clip or set already in the account (generation_id or upload_id), sized for the smallest of the platforms named,…
What a client is told when it connects
The server's instructions, sent at initialize, verbatim.
Kuro makes images, clips, voice-overs and music in the user's account.
1. Agree before spending. For an open idea, pitch 3-5 concepts, recommend one and wait; otherwise state the format (vertical 9:16 by default), model and price in one line. quote_generation prices a request or a whole plan and creates nothing.
2. A quick image comes back finished; get_generation waits for anything slower.
3. For a film, carousel, talking head, week of posts, remake or demo: get_skill first.
4. list_models(model_id) before a model's first use. Choose with get_benchmark for the task: it names the recipes made for the job (prefer one that fits) and the tier the account's priority for that kind selects. Images and clips each have one; none saved for the kind: at its first request ask once what matters most (best, balanced or lowest cost, with prices), then set_preferences (meanwhile an image takes the best tier, a clip waits). Each tier says who pays: the user's own key costs no credits. Not affordable: the best affordable tier, and say so.
5. Reuse before making: get_account_context for who the user is and what they make, list_subjects for a named person or thing, then list_media.
6. Retry a failure with regenerate_generation. Vary an idea by calling the generate tool again. Change one exact picture with edit_image.
7. A clip is one short shot. Longer motion: chain the last frame (extract_video_frame), then join_clips. Speech is the exception: lines of at most 15 seconds, each from the same portrait, never a chained frame.
8. Never offer purchases, upgrades or checkout links; explain a limit instead (a key the user already has can be connected in Settings). A key out of funds: ask, never switch payer yourself.
9. Link results as [Open in Kuro](app_url), using the URL exactly as returned.
10. Need a picture as a file (for a page or artifact)? get_download_url with as: image.
11. If no tool fits or a tool fails without a clear reason, call send_feedback, then tell the user.