# AutoClips API > Create, edit and check AutoClips videos (Character Explainer, 3D Animated Studio 2.0 and AutoClips V3) from code or from AI apps. REST API at https://app.autoclips.app/api/v1, MCP server at https://app.autoclips.app/api/mcp. How to call it: - Auth (REST): send `Authorization: Bearer `. Keys look like `ac_live_...` and are made in the app under Settings → API. Permissions (scopes): read, edit, spend, delete, publish. - Auth (MCP): connect to https://app.autoclips.app/api/mcp and sign in to AutoClips, or send an API key (`ac_live_...`, from Settings → API; its permissions apply) or the older Claude key (`acmcp_...`, from Settings → Claude). - Answers: success `{ "data": ... }`; error `{ "error": { "code", "message", "details", "docs_url" } }`; `details.issues` names each field that was wrong. Paged lists (such as GET /api/v1/credits/history) answer `items`, `next_cursor` and `has_more`. Send `cursor` (the last `next_cursor`) for the next page and `limit` (1–100, default 20; at most 50 for GET /api/v1/ce/projects) for the page size. Other lists (such as GET /api/v1/voices) answer with their own fields, shown with each operation. - Request fields: every operation's fields, with a request that works, are in https://app.autoclips.app/api/v1/openapi.json?operation= (or ?product=v3 for one product). Unknown fields are refused, so read them there instead of guessing. - Money: a paid operation needs `max_credits` or a `quote_token` (from POST /api/v1/quotes). Prices are upper bounds. The original `create_video` AI tool is an exception: it shows an estimate for the length asked, and the final price follows how long the written script really runs, so it can cost more. Autopilot is also an exception: it stops before a step that would go past its spending limit, but one step's final cost can run a little over. A quote to raise a spending limit is also an exception: it is only how much the limit grows, not what the run is charged. - Daily limit: Every account has a daily credit limit for API keys and AI apps together (all its keys, the Claude key and connected apps): 500 credits on the free plan, half the plan's monthly credits on a paid plan (at least 2,000). Change it in Settings → API. A request over it is refused before it runs, with 402 `daily_credit_cap_reached`. The website itself has no such limit. - Idempotency-Key: every paid request needs an `Idempotency-Key` header (a fresh UUID per new request; a retry with the same key never runs or charges twice), and so do these free ones: POST /api/v1/media/import, POST /api/v1/outros, POST /api/v1/outros/video, POST /api/v1/videos/publish, POST /api/v1/v3/projects, POST /api/v1/v3/characters, POST /api/v1/v3/voices/clone, POST /api/v1/ce/projects, POST /api/v1/studio/projects, POST /api/v1/studio/projects/{projectId}/soundtrack/own-track, POST /api/v1/studio/projects/{projectId}/attachments. - Replays: the same request with the same Idempotency-Key within 24 hours (in MCP, the same call with the same confirm_token) gets the first answer again, with `meta.idempotentReplay` true. On a paid request, its `meta.creditsCharged` is 0 and `meta.originallyCharged` is what the first request charged (for work charged as it runs, `creditsApproved` is 0 and `originallyApproved` is what the first request approved). A paid answer says in `meta` what it did with your credits: `creditsCharged` is what this request charged, and `creditsApproved` is what you approved for work that is charged as it runs (not a charge yet). - MCP: tools are grouped; pass `action`. A paid, delete or publish action first answers with a price (for a video charged step by step, a spending limit, with the expected price in the notes; to raise a spending limit, how much it grows) or preview and a `confirm_token`. Show it to the user and ask; only if they agree, call again with the same arguments plus the token. V3 Quick Create's and Character Explainer Quick Create's spending limits are the most each can charge. Autopilot stops before a step that would go past its spending limit, but one step's final cost can run a little over. - Before creating or editing, read the allowed values with GET /api/v1/options (MCP: `autoclips_options`). It needs the `read` permission. Send a value under the option's id, or, when the option lists `fields`, under the field each operation names. Offer the defaults instead of guessing. ## Quickstart (REST) Check that the key works (it answers with your account and what the key may do): ```bash export AUTOCLIPS_API_KEY="ac_live_..." curl 'https://app.autoclips.app/api/v1/me' \ -H "Authorization: Bearer $AUTOCLIPS_API_KEY" ``` A one-minute video about a topic, start to finish, in one call: 1. Read the choices with [GET /api/v1/options](https://www.autoclips.app/api#op-shared.options.get) and `product=v3`, or leave settings out for the defaults. 2. Ask for the spending limit: send `"operation": "v3.projects.quick_create"` and your input to [POST /api/v1/quotes](https://www.autoclips.app/api#op-shared.quotes.create). You get the most it can charge (the run is charged step by step, usually less), the expected price in its notes, and a `quote_token`. Nothing is charged. 3. Start it with [POST /api/v1/v3/projects/quick](https://www.autoclips.app/api#op-v3.projects.quick_create): the same input, the `quote_token` (or `max_credits`, at least the limit) and an `Idempotency-Key` header. It answers 202 with a `job` and the `project`. 4. Ask [GET /api/v1/jobs/{jobId}](https://www.autoclips.app/api#op-shared.jobs.get) again after `poll_after_seconds`, until `status` is final: at `succeeded`, `result.videoUrl` is your video; `failed` and `canceled` say why in `error`. A job that carries `stalled` has shown no progress for much longer than usual and may have stopped: tell the user instead of waiting. One that failed with the code `stalled` did stop: read the project to see where it got to and what can be done next. ```bash # 1. The spending limit curl -X POST 'https://app.autoclips.app/api/v1/quotes' \ -H "Authorization: Bearer $AUTOCLIPS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "operation": "v3.projects.quick_create", "input": { "topic": "The lighthouse keeper who vanished in 1900", "category": "mythology", "recipe": "quick" } }' # 2. Start it curl -X POST 'https://app.autoclips.app/api/v1/v3/projects/quick' \ -H "Authorization: Bearer $AUTOCLIPS_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{ "topic": "The lighthouse keeper who vanished in 1900", "category": "mythology", "recipe": "quick", "quote_token": "" }' # 3. Check on it until status is "succeeded" (or "failed" or "canceled", which say why) curl 'https://app.autoclips.app/api/v1/jobs/' \ -H "Authorization: Bearer $AUTOCLIPS_API_KEY" ``` ## Make a video - A whole AutoClips V3 video in one go: script, pictures, voice, music and render. POST /api/v1/v3/projects/quick or MCP `v3_projects` action=quick_create. Costs credits; answers with a job. Needs the `spend` permission. Follow the job with GET /api/v1/jobs/{jobId} (MCP: `autoclips_jobs`) until its status is final ("succeeded" holds the video link in its result; "failed" and "canceled" say why in error). A job that carries `stalled` may have stopped: tell the user instead of waiting. A job that failed with the code "stalled" did stop: read the project to see where it got to and what can be done next. - A whole Character Explainer video in one go: characters explain your topic over gameplay, with the script, their voices and the render (scene pictures and sound effects when you ask for them). POST /api/v1/ce/projects/quick or MCP `ce_projects` action=quick_create. Costs credits; answers with a job. Needs the `spend` permission. Follow the job with GET /api/v1/jobs/{jobId} (MCP: `autoclips_jobs`) until its status is final ("succeeded" holds the video link in its result; "failed" and "canceled" say why in error). A job that carries `stalled` may have stopped: tell the user instead of waiting. A job that failed with the code "stalled" did stop: read the project to see where it got to and what can be done next. Its job also carries `usualSeconds` while it works: about how long it usually takes in all, a guide and not a promise. - A whole 3D Animated Studio film: Autopilot writes it, designs the characters, films the clips and finishes the video. First POST /api/v1/studio/projects or MCP `studio_projects` action=create, then POST /api/v1/studio/projects/{projectId}/autopilot or MCP `studio_autopilot` action=start. Costs credits; answers with a job. Needs the `edit` and `spend` permissions. Follow the job with GET /api/v1/jobs/{jobId} (MCP: `autoclips_jobs`) until its status is final ("succeeded" holds the video link in its result; "failed" and "canceled" say why in error). A job that carries `stalled` may have stopped: tell the user instead of waiting. A job that failed with the code "stalled" did stop: read the project to see where it got to and what can be done next. - Original MCP tools, for a sign-in or the Claude key only (an API key never sees them: use the video tools above): `create_video` (an AutoClips V3 story video) and `create_character_video` (a Character Explainer video). Call once without confirm_token to get the price (for `create_video` an estimate: tell the user the final price follows how long the written script really runs), ask the user, and only if they agree call again with the same arguments plus the confirm_token. Follow the video with `get_video_status`; post it with `publish_video`. - Step by step, examples and every tool: [Make a video](https://www.autoclips.app/api#videos) ## Docs - [Developer guide](https://www.autoclips.app/api): every operation, option, error and example - [Connect an AI app](https://www.autoclips.app/mcp): one connector link for Claude, ChatGPT, Cursor, VS Code and any app that supports MCP; the user signs in to AutoClips, no key to copy - [OpenAPI 3.1](https://app.autoclips.app/api/v1/openapi.json): the machine-readable spec, also for ChatGPT custom GPT Actions. The whole API is large; https://app.autoclips.app/api/v1/openapi.json?product=v3 is one product (with the shared calls every video needs and the shared calls that work on its projects, such as the timeline), and ?operation= is one operation ## Account, media and publishing - [shared.account.voice_model.get](https://www.autoclips.app/api#op-shared.account.voice_model.get): GET /api/v1/me/voice-model; MCP autoclips_account action=voice_model. Your account's voice model: the one every new V3 and Character Explainer video starts on. - [shared.account.whoami](https://www.autoclips.app/api#op-shared.account.whoami): GET /api/v1/me; MCP autoclips_account action=whoami. Who this key belongs to and what it is allowed to do. - [shared.account.voice_model.set](https://www.autoclips.app/api#op-shared.account.voice_model.set): PUT /api/v1/me/voice-model; MCP autoclips_account action=set_voice_model. Change your account's voice model, the one every new V3 and Character Explainer video starts on. Free. Fields: voiceModel (required). - [shared.credits.history](https://www.autoclips.app/api#op-shared.credits.history): GET /api/v1/credits/history; MCP autoclips_account action=credit_history. Your credit history: what was spent or added, newest first. Fields: limit, cursor, type. - [shared.credits.get](https://www.autoclips.app/api#op-shared.credits.get): GET /api/v1/credits; MCP autoclips_account action=credits. Your credit balance, plan and plan limits. - [shared.quotes.create](https://www.autoclips.app/api#op-shared.quotes.create): POST /api/v1/quotes. Quote a paid operation before running it: its price, its spending limit, or how much a limit grows. Fields: operation (required), input. - [shared.options.get](https://www.autoclips.app/api#op-shared.options.get): GET /api/v1/options; MCP autoclips_options action=get. Every choice a product offers: allowed values, defaults, credit costs, plans and an example. Fields: product, option. - [shared.jobs.list](https://www.autoclips.app/api#op-shared.jobs.list): GET /api/v1/jobs; MCP autoclips_jobs action=list. List your jobs, newest first. Filter by status or product. Fields: status, product, limit, cursor. - [shared.jobs.get](https://www.autoclips.app/api#op-shared.jobs.get): GET /api/v1/jobs/{jobId}; MCP autoclips_jobs action=get. Check on long work: its status, step, percent done and result. - [shared.media.list](https://www.autoclips.app/api#op-shared.media.list): GET /api/v1/media; MCP autoclips_media action=list. List the pictures, videos and sounds in your library, newest first. Fields: type, projectId, source, limit, cursor. - [shared.media.get](https://www.autoclips.app/api#op-shared.media.get): GET /api/v1/media/{mediaId}; MCP autoclips_media action=get. Get one picture, video or sound from your library by its id. - [shared.media.delete](https://www.autoclips.app/api#op-shared.media.delete): DELETE /api/v1/media/{mediaId}; MCP autoclips_media action=delete. Delete a file from your library. Projects that already use it may stop rendering. Cannot be undone. - [shared.media.import](https://www.autoclips.app/api#op-shared.media.import): POST /api/v1/media/import; MCP autoclips_media action=import_url. Copy a file from a public https link (Google Drive, Dropbox or any direct link) into your library. Fields: url (required), name, projectId. - [shared.media.upload](https://www.autoclips.app/api#op-shared.media.upload): POST /api/v1/media. Upload 1 to 10 files (multipart/form-data, field "file") into your library. Fields: projectId. - [shared.media.upload_links.get](https://www.autoclips.app/api#op-shared.media.upload_links.get): GET /api/v1/media/upload-links/{linkId}; MCP autoclips_media action=upload_link_status. Check an upload link: waiting, uploading, uploaded, failed, expired or revoked, and the files that came in. - [shared.media.upload_links.create](https://www.autoclips.app/api#op-shared.media.upload_links.create): POST /api/v1/media/upload-links; MCP autoclips_media action=upload_link. Make a one-time upload link for the user. They open it on any device and drop files into your library. Fields: projectId, note. - [shared.voices.list](https://www.autoclips.app/api#op-shared.voices.list): GET /api/v1/voices; MCP autoclips_voices action=list. List the voices you can use: the AutoClips library and your own cloned voices. Fields: search, source, limit. - [shared.voices.delete](https://www.autoclips.app/api#op-shared.voices.delete): DELETE /api/v1/voices/{voiceId}; MCP autoclips_voices action=delete. Remove one of your own cloned voices from your AutoClips voices. Cannot be undone. - [shared.timeline.get](https://www.autoclips.app/api#op-shared.timeline.get): GET /api/v1/timeline/{product}/{projectId}; MCP autoclips_timeline action=get. Read a video's timeline: its revision, rows, clips with ids and times, captions, markers and render state. Fields: variantId, track, limit. - [shared.timeline.edit](https://www.autoclips.app/api#op-shared.timeline.edit): PATCH /api/v1/timeline/{product}/{projectId}; MCP autoclips_timeline action=edit. Change a timeline: up to 25 edits (cut, trim, move, add media, text, sounds, music, transitions, captions, style), saved together. Fields: variantId, expectedRevision (required), operations (required). - [shared.timeline.music](https://www.autoclips.app/api#op-shared.timeline.music): GET /api/v1/timeline/music; MCP autoclips_timeline action=music. Search the editor's Music tab for add_music: popular songs and the music library, with ids, lengths and moods. Fields: search, category, limit. - [shared.timeline.redo](https://www.autoclips.app/api#op-shared.timeline.redo): POST /api/v1/timeline/{product}/{projectId}/redo; MCP autoclips_timeline action=redo. Take back the last undo, until the next edit: the timeline goes back to how it was before that undo, saved as a new revision. Fields: variantId, expectedRevision (required). - [shared.timeline.render](https://www.autoclips.app/api#op-shared.timeline.render): POST /api/v1/timeline/{product}/{projectId}/render; MCP autoclips_timeline action=render. Make the new video from the saved timeline (Studio 2.0; not V3 yet). Answers with a job to follow; costs no credits. Fields: variantId. - [shared.timeline.render_cancel](https://www.autoclips.app/api#op-shared.timeline.render_cancel): POST /api/v1/timeline/{product}/{projectId}/render/cancel; MCP autoclips_timeline action=render_cancel. Stop the render that is running for this video. The timeline and earlier videos stay as they are. Fields: variantId. - [shared.timeline.render_status](https://www.autoclips.app/api#op-shared.timeline.render_status): GET /api/v1/timeline/{product}/{projectId}/render; MCP autoclips_timeline action=render_status. See whether this video is rendering, how far along it is, and the link to the last finished video. Fields: variantId. - [shared.timeline.sounds](https://www.autoclips.app/api#op-shared.timeline.sounds): GET /api/v1/timeline/sounds; MCP autoclips_timeline action=sounds. Search the sound effect library for add_sound_effect: ids, names, lengths and what each one sounds like. Fields: search, category, limit. - [shared.timeline.transcribe](https://www.autoclips.app/api#op-shared.timeline.transcribe): POST /api/v1/timeline/{product}/{projectId}/transcribe; MCP autoclips_timeline action=transcribe. Captions from a video scene's own speech: listen to one clip, put its words on the timeline as captions, saved as a new revision. Fields: variantId, expectedRevision (required), clipId (required), language. - [shared.timeline.undo](https://www.autoclips.app/api#op-shared.timeline.undo): POST /api/v1/timeline/{product}/{projectId}/undo; MCP autoclips_timeline action=undo. Take back the last edit made through the API: the timeline goes back to how it was, saved as a new revision. redo puts it back again. Fields: variantId, expectedRevision (required). - [shared.outros.list](https://www.autoclips.app/api#op-shared.outros.list): GET /api/v1/outros; MCP autoclips_outros action=list. Your outro library: the end cards you can add after a video. - [shared.outros.get](https://www.autoclips.app/api#op-shared.outros.get): GET /api/v1/outros/{outroId}; MCP autoclips_outros action=get. One outro with every setting: its design, words, handles, look, sound, spoken line and clip. - [shared.outros.create](https://www.autoclips.app/api#op-shared.outros.create): POST /api/v1/outros; MCP autoclips_outros action=create. Make an outro (end card) from a design, your words, handles and logo. Up to 50 in your library. Fields: name, template, aspectRatio, durationSeconds, sound, copy, look, brandId, fromBrand, syncFromBrand. - [shared.outros.update](https://www.autoclips.app/api#op-shared.outros.update): PATCH /api/v1/outros/{outroId}; MCP autoclips_outros action=update. Change an outro: send only the settings to change; everything else stays as it is. Fields: name, template, aspectRatio, durationSeconds, sound, copy, look, brandId, syncFromBrand, voiceOn, fit, keepClipSound. - [shared.outros.delete](https://www.autoclips.app/api#op-shared.outros.delete): DELETE /api/v1/outros/{outroId}; MCP autoclips_outros action=delete. Delete an outro from your library. This cannot be undone. Not while a video that uses it is being made. - [shared.outros.upload_video](https://www.autoclips.app/api#op-shared.outros.upload_video): POST /api/v1/outros/video; MCP autoclips_outros action=upload_video. Make a "Your video" outro from a video in your media library, or put a new clip on an outro. Answers with a job. Fields: mediaId (required), outroId, name, fit, keepClipSound. - [shared.social_accounts.list](https://www.autoclips.app/api#op-shared.social_accounts.list): GET /api/v1/social-accounts; MCP autoclips_publish action=accounts. List the social accounts connected in the app, which ones can be posted to from here, and which platforms are not connected. Fields: profileId. - [shared.videos.publish](https://www.autoclips.app/api#op-shared.videos.publish): POST /api/v1/videos/publish; MCP autoclips_publish action=publish. Post a finished video (V3, Studio 2.0 or Character Explainer) to connected accounts. Asks first; it cannot be undone. Fields: product (required), projectId (required), videoId, accountIds (required), title, description, hashtags, youtubePrivacy, youtubeCategoryId, aiDisclosure, again. - [shared.videos.publish_preview](https://www.autoclips.app/api#op-shared.videos.publish_preview): POST /api/v1/videos/publish/preview. See exactly what publish would post (the video, each account, each caption) without posting anything. Fields: product (required), projectId (required), videoId, accountIds (required), title, description, hashtags, youtubePrivacy, youtubeCategoryId, aiDisclosure, again. - [shared.keys.list](https://www.autoclips.app/api#op-shared.keys.list): GET /api/v1/keys. List your API keys (never the secrets). Website only. Fields: includeRevoked. - [shared.keys.create](https://www.autoclips.app/api#op-shared.keys.create): POST /api/v1/keys. Create an API key. The secret is shown once. Website only. Fields: name (required), scopes, dailyCreditCap. - [shared.keys.update](https://www.autoclips.app/api#op-shared.keys.update): PATCH /api/v1/keys/{keyId}. Rename a key, change its scopes or its daily credit cap. Website only. Fields: name, scopes, dailyCreditCap. - [shared.keys.rotate](https://www.autoclips.app/api#op-shared.keys.rotate): POST /api/v1/keys/{keyId}/rotate. Replace a key with a new secret (same name, scopes and cap). The old one stops working. Website only. - [shared.keys.revoke](https://www.autoclips.app/api#op-shared.keys.revoke): DELETE /api/v1/keys/{keyId}. Revoke a key. It stops working immediately. Website only. Cannot be undone. - [shared.connections.list](https://www.autoclips.app/api#op-shared.connections.list): GET /api/v1/connections. List the AI apps connected to your account (Claude, ChatGPT and others). Website only. Fields: limit, cursor. - [shared.connections.revoke](https://www.autoclips.app/api#op-shared.connections.revoke): DELETE /api/v1/connections/{clientId}. Disconnect an AI app or delete your MCP key. It loses access right away. Website only. Cannot be undone. - [Account, media and publishing options](https://www.autoclips.app/api#options-shared): 5 options: product, scopes, dailyCreditCap, mediaType, limit ## AutoClips V3 (cinematic stories) - [v3.projects.list](https://www.autoclips.app/api#op-v3.projects.list): GET /api/v1/v3/projects; MCP v3_projects action=list. Your V3 projects, most recently changed first, with their status. Filter by status or words in the title. Fields: limit, cursor, status, search. - [v3.projects.get](https://www.autoclips.app/api#op-v3.projects.get): GET /api/v1/v3/projects/{projectId}; MCP v3_projects action=get. One V3 project: status, settings, video link, and on request its script, cast, pictures, SEO and posting. Fields: include. - [v3.projects.create](https://www.autoclips.app/api#op-v3.projects.create): POST /api/v1/v3/projects; MCP v3_projects action=create. Make a free V3 draft from a topic, your story or a Reddit post, with its settings. Nothing is generated yet. Fields: topic, story, redditUrl, recipe, category, durationSeconds, aspectRatio, imageModel, style, secondsPerImage, scriptMode, sfxMode, animation, animationModel, directVideo, consistency, language, voice, voiceModel, captions, subjectWobble, hookIntro, cliffhanger, characterIds, publishing. - [v3.projects.update](https://www.autoclips.app/api#op-v3.projects.update): PATCH /api/v1/v3/projects/{projectId}; MCP v3_projects action=update. Change a V3 project's settings or auto-posting. What can change depends on how far the project got. Fields: recipe, category, durationSeconds, aspectRatio, imageModel, style, secondsPerImage, scriptMode, sfxMode, animation, animationModel, directVideo, consistency, language, voice, voiceModel, captions, subjectWobble, hookIntro, cliffhanger, publishing. - [v3.projects.delete](https://www.autoclips.app/api#op-v3.projects.delete): DELETE /api/v1/v3/projects/{projectId}; MCP v3_projects action=delete. Delete a V3 project for good. Not while it is generating or rendering. Cannot be undone. - [v3.projects.quick_create](https://www.autoclips.app/api#op-v3.projects.quick_create): POST /api/v1/v3/projects/quick; MCP v3_projects action=quick_create. Make a whole V3 video in one go: script, pictures, voice, music and render. Costs credits; answers with a job. Fields: topic, story, redditUrl, recipe, category, durationSeconds, aspectRatio, imageModel, style, secondsPerImage, scriptMode, sfxMode, animation, animationModel, directVideo, consistency, language, voice, voiceModel, captions, subjectWobble, hookIntro, cliffhanger, characterIds, series, music, publishing. - [v3.projects.retry](https://www.autoclips.app/api#op-v3.projects.retry): POST /api/v1/v3/projects/{projectId}/retry; MCP v3_projects action=retry. Carry on a V3 project that stopped with a problem, from where it stopped. Steps already paid for are not charged again. Costs credits. - [v3.script.edit](https://www.autoclips.app/api#op-v3.script.edit): PATCH /api/v1/v3/projects/{projectId}/script; MCP v3_script action=edit. Change the script: narration, mood or picture of a scene; add, delete or move scenes; pick a hook line; rename. Fields: expectedRevision (required), operations (required). - [v3.script.adjust_length](https://www.autoclips.app/api#op-v3.script.adjust_length): POST /api/v1/v3/projects/{projectId}/script/adjust-length; MCP v3_script action=adjust_length. Ask the AI writer for all the narration about 30% shorter or longer (results vary; the answer says), keeping the scenes. Fields: direction (required), expectedRevision (required). - [v3.script.generate](https://www.autoclips.app/api#op-v3.script.generate): POST /api/v1/v3/projects/{projectId}/script/generate; MCP v3_script action=generate. Write the project's script from its topic or story. Costs credits once per project; a long video is written in the background. Fields: replace, hookIntro, cliffhanger, series. - [v3.script.undo](https://www.autoclips.app/api#op-v3.script.undo): POST /api/v1/v3/projects/{projectId}/script/undo; MCP v3_script action=undo. Bring back the script as it was before the last change. Up to 5 steps back. Fields: expectedRevision (required). - [v3.stories.import](https://www.autoclips.app/api#op-v3.stories.import): POST /api/v1/v3/stories/import; MCP v3_script action=import_story. Read a Reddit post and return its title and text, ready to use as a V3 story. Fields: url (required). - [v3.topics.classify](https://www.autoclips.app/api#op-v3.topics.classify): POST /api/v1/v3/topics/classify; MCP v3_script action=classify_topic. Suggest the best V3 category for a topic (horror, history, space, …) with a confidence from 0 to 1. Fields: topic (required). - [v3.topics.ideas](https://www.autoclips.app/api#op-v3.topics.ideas): GET /api/v1/v3/topics/ideas; MCP v3_script action=topic_ideas. Today's topic ideas for V3 videos, each with its category. Optionally only one category. Fields: category. - [v3.cast.add_character](https://www.autoclips.app/api#op-v3.cast.add_character): POST /api/v1/v3/projects/{projectId}/cast/characters; MCP v3_cast action=add_character. Add a character from your library (or a preset) to the cast, then re-plan who appears in each scene. Fields: characterId (required). - [v3.cast.build](https://www.autoclips.app/api#op-v3.cast.build): POST /api/v1/v3/projects/{projectId}/cast/build; MCP v3_cast action=build. Build the cast: find recurring characters and places, draw their sheets, plan who appears in each scene. - [v3.cast.regenerate](https://www.autoclips.app/api#op-v3.cast.regenerate): POST /api/v1/v3/projects/{projectId}/cast/regenerate; MCP v3_cast action=regenerate. Redraw one character sheet or place picture, optionally from a new description. Fields: kind (required), id (required), description. - [v3.cast.remove_character](https://www.autoclips.app/api#op-v3.cast.remove_character): DELETE /api/v1/v3/projects/{projectId}/cast/characters/{castId}; MCP v3_cast action=remove_character. Remove a character from the cast, then re-plan who appears in each scene. Cannot be undone. - [v3.characters.list](https://www.autoclips.app/api#op-v3.characters.list): GET /api/v1/v3/characters; MCP v3_characters action=list. List your saved V3 characters and the AutoClips starter characters. Fields: presets. - [v3.characters.get](https://www.autoclips.app/api#op-v3.characters.get): GET /api/v1/v3/characters/{characterId}; MCP v3_characters action=get. Get one of your characters, or a starter character, by its id. - [v3.characters.create](https://www.autoclips.app/api#op-v3.characters.create): POST /api/v1/v3/characters; MCP v3_characters action=create_from_photos. Make a character from 1 to 5 photos in your media library. Free. Fields: name (required), description, photos (required). - [v3.characters.update](https://www.autoclips.app/api#op-v3.characters.update): PATCH /api/v1/v3/characters/{characterId}; MCP v3_characters action=update. Rename a character, change its description, give it a voice (or remove it), or switch back to an earlier sheet. Fields: name, description, voice, sheetUrl. - [v3.characters.delete](https://www.autoclips.app/api#op-v3.characters.delete): DELETE /api/v1/v3/characters/{characterId}; MCP v3_characters action=delete. Delete one of your characters. Videos already made keep it; starter characters cannot be deleted. Cannot be undone. - [v3.characters.build_sheet](https://www.autoclips.app/api#op-v3.characters.build_sheet): POST /api/v1/v3/characters/{characterId}/build-sheet; MCP v3_characters action=build_sheet. Turn a photo character's photos into a turnaround sheet. Costs credits; answers with a job. - [v3.characters.generate](https://www.autoclips.app/api#op-v3.characters.generate): POST /api/v1/v3/characters/generate; MCP v3_characters action=generate. Make a new character from a description: an AI draws its turnaround sheet. Costs credits; answers with a job. Fields: name (required), description (required), style, model. - [v3.characters.regenerate_sheet](https://www.autoclips.app/api#op-v3.characters.regenerate_sheet): POST /api/v1/v3/characters/{characterId}/regenerate-sheet; MCP v3_characters action=regenerate_sheet. Redraw the sheet of a character made from a description. Costs credits; answers with a job. Fields: model, style. - [v3.characters.save_from_project](https://www.autoclips.app/api#op-v3.characters.save_from_project): POST /api/v1/v3/projects/{projectId}/cast/{castId}/save; MCP v3_characters action=save_from_project. Keep a cast member of one of your V3 projects as a saved character. Free. Fields: name. - [v3.voices.clone](https://www.autoclips.app/api#op-v3.voices.clone): POST /api/v1/v3/voices/clone; MCP autoclips_voices action=clone. Clone a voice from a recording in your media library, for your V3 characters to speak with. Fields: mediaId (required), name (required). - [v3.assets.generate](https://www.autoclips.app/api#op-v3.assets.generate): POST /api/v1/v3/projects/{projectId}/assets/generate; MCP v3_production action=generate_assets. Make the pictures, voice and music for a project whose script is ready. Paid; answers with a job. Costs credits. Fields: voice, voiceModel, language, music. - [v3.timeline.build](https://www.autoclips.app/api#op-v3.timeline.build): POST /api/v1/v3/projects/{projectId}/timeline/build; MCP v3_production action=build_timeline. Put the finished pictures, voice and music together into a timeline, ready to render. Free. - [v3.render.cancel](https://www.autoclips.app/api#op-v3.render.cancel): POST /api/v1/v3/projects/{projectId}/render/cancel; MCP v3_production action=cancel_render. Stop a render that is running. Free; nothing is refunded because renders cost nothing. - [v3.render.start](https://www.autoclips.app/api#op-v3.render.start): POST /api/v1/v3/projects/{projectId}/render; MCP v3_production action=render. Render the video file. Free once the assets are paid; builds the timeline first if needed. Answers with a job. - [v3.seo.generate](https://www.autoclips.app/api#op-v3.seo.generate): POST /api/v1/v3/projects/{projectId}/seo; MCP v3_production action=seo. Write a title, description, tags and hashtags for posting the video. Free, limited per day. - [v3.scenes.set_image](https://www.autoclips.app/api#op-v3.scenes.set_image): PUT /api/v1/v3/projects/{projectId}/scenes/{scene}/image; MCP v3_scenes action=set_image. Put a picture from your media library on a scene (upload it with autoclips_media first). Fields: picture, mediaId (required). - [v3.scenes.use_web_image](https://www.autoclips.app/api#op-v3.scenes.use_web_image): POST /api/v1/v3/projects/{projectId}/scenes/{scene}/web-image; MCP v3_scenes action=use_web_image. Put a picture from search_images on a scene. It is saved to your media library too. Fields: picture, resultId (required). - [v3.scenes.edit_image](https://www.autoclips.app/api#op-v3.scenes.edit_image): POST /api/v1/v3/projects/{projectId}/scenes/{scene}/edit-image; MCP v3_scenes action=edit_image. Edit a scene's picture with AI from a plain-words instruction, and put the result on the scene. Costs credits. Fields: picture, instruction (required), model. - [v3.scenes.search_images](https://www.autoclips.app/api#op-v3.scenes.search_images): POST /api/v1/v3/projects/{projectId}/scenes/{scene}/image-search; MCP v3_scenes action=search_images. Search the web for pictures for a scene. Show them to the user, then use_web_image with the chosen resultId. Fields: query. - [AutoClips V3 (cinematic stories) options](https://www.autoclips.app/api#options-v3): 20 options: recipe, category, durationSeconds, scriptMode, hookIntro, cliffhanger, aspectRatio, imageModel, style, secondsPerImage, animation, animationModel, directVideo, consistency, captions, subjectWobble, sfxMode, music, language, voiceModel ## Character Explainer - [ce.projects.list](https://www.autoclips.app/api#op-ce.projects.list): GET /api/v1/ce/projects; MCP ce_projects action=list. Your Character Explainer projects, most recently changed first, with their status, thumbnail and video link. Fields: limit, cursor. - [ce.projects.get](https://www.autoclips.app/api#op-ce.projects.get): GET /api/v1/ce/projects/{projectId}; MCP ce_projects action=get. One Character Explainer project: where it is, and on request its settings, cast, script, price, video and post text. Fields: include. - [ce.projects.create](https://www.autoclips.app/api#op-ce.projects.create): POST /api/v1/ce/projects; MCP ce_projects action=create. Make a free Character Explainer draft from a topic or your own script, with its characters and settings. Fields: inputMode, topic, customScript, style, durationSeconds, language, scriptMode, customInstructions, characterPlacementX, characterPlacementY, characterSizeMultiplier, characterFloating, floatingIntensity, ttsModel, voiceEmotion, speechSpeed, overrideSpeechSpeed, visualMode, motionTheme, motionCaptionStyle, motionAuthorModel, intelligentVisualSourcing, motionAssetModel, motionAssetTier, motionSoundDesign, motionMusicMode, motionSfxMode, background, gameplayMediaId, gameplaySpeed, music, musicLibraryTrack, musicVolume, showCaptions, captionFont, captionSizeMultiplier, captionVerticalPosition, captionColor, captionHighlightColor, captionStrokeColor, watermarkType, watermarkText, watermarkTextColor, watermarkBackgroundColor, watermarkBackgroundOpacity, watermarkMediaId, watermarkImageOpacity, watermarkVerticalPosition, watermarkHorizontalPosition, watermarkScale, outroId, characters (required). - [ce.projects.update](https://www.autoclips.app/api#op-ce.projects.update): PATCH /api/v1/ce/projects/{projectId}; MCP ce_projects action=update. Change a Character Explainer draft's settings or characters. Only what you send changes. Fields: inputMode, topic, customScript, style, durationSeconds, language, scriptMode, customInstructions, characterPlacementX, characterPlacementY, characterSizeMultiplier, characterFloating, floatingIntensity, ttsModel, voiceEmotion, speechSpeed, overrideSpeechSpeed, visualMode, motionTheme, motionCaptionStyle, motionAuthorModel, intelligentVisualSourcing, motionAssetModel, motionAssetTier, motionSoundDesign, motionMusicMode, motionSfxMode, background, gameplayMediaId, gameplaySpeed, music, musicLibraryTrack, musicVolume, showCaptions, captionFont, captionSizeMultiplier, captionVerticalPosition, captionColor, captionHighlightColor, captionStrokeColor, watermarkType, watermarkText, watermarkTextColor, watermarkBackgroundColor, watermarkBackgroundOpacity, watermarkMediaId, watermarkImageOpacity, watermarkVerticalPosition, watermarkHorizontalPosition, watermarkScale, outroId, characters. - [ce.projects.delete](https://www.autoclips.app/api#op-ce.projects.delete): DELETE /api/v1/ce/projects/{projectId}; MCP ce_projects action=delete. Delete a Character Explainer project the way the app does. Not while it is being made. Cannot be undone. - [ce.projects.quick_create](https://www.autoclips.app/api#op-ce.projects.quick_create): POST /api/v1/ce/projects/quick; MCP ce_projects action=quick_create. Make a whole Character Explainer video in one go: script, voices and render, plus pictures and sound effects if you ask. Answers with a job. Costs credits. Its job carries `usualSeconds` (about how long it usually takes). Fields: inputMode, topic, customScript, style, durationSeconds, language, scriptMode, customInstructions, speechSpeed, overrideSpeechSpeed, voiceEmotion, background, gameplayMediaId, gameplaySpeed, music, musicLibraryTrack, musicVolume, showCaptions, captionFont, captionSizeMultiplier, captionVerticalPosition, captionColor, captionHighlightColor, captionStrokeColor, characterSizeMultiplier, characterFloating, floatingIntensity, watermarkType, watermarkText, watermarkTextColor, watermarkBackgroundColor, watermarkBackgroundOpacity, watermarkMediaId, watermarkImageOpacity, watermarkVerticalPosition, watermarkHorizontalPosition, watermarkScale, visualMode, characters (required), sceneImages, sceneImageStyle, soundEffects, reviewScript. - [ce.ideas.list](https://www.autoclips.app/api#op-ce.ideas.list): GET /api/v1/ce/ideas; MCP ce_projects action=ideas. Today's topic ideas for a Character Explainer video, the ones the app suggests. Free. - [ce.characters.list](https://www.autoclips.app/api#op-ce.characters.list): GET /api/v1/ce/characters; MCP ce_characters action=list. The characters you can cast: the app's built-in ones and your own, with the languages each can speak. Fields: language, type. - [ce.script.get](https://www.autoclips.app/api#op-ce.script.get): GET /api/v1/ce/projects/{projectId}/script; MCP ce_script action=get. Read the project's script: its scenes, opening lines, word count, about how long it runs, and whether it fits the paid length. - [ce.script.generate](https://www.autoclips.app/api#op-ce.script.generate): POST /api/v1/ce/projects/{projectId}/script; MCP ce_script action=generate. Write the project's script from its topic, or split your own script into scenes. Free; it runs in the background as a job. Its job carries `usualSeconds` (about how long it usually takes). Fields: replace, feedback. - [ce.script.review](https://www.autoclips.app/api#op-ce.script.review): POST /api/v1/ce/projects/{projectId}/script/review; MCP ce_script action=review. Approve or revise the script of a Quick Create that waits for your OK (reviewScript). Its job carries `usualSeconds` (about how long it usually takes). Fields: decision (required), feedback. - [ce.scenes.list](https://www.autoclips.app/api#op-ce.scenes.list): GET /api/v1/ce/projects/{projectId}/scenes; MCP ce_scenes action=list. Every scene of a Character Explainer project: words, speaker, picture, sound effect, plus the revision to change them. - [ce.scenes.update](https://www.autoclips.app/api#op-ce.scenes.update): PATCH /api/v1/ce/projects/{projectId}/scenes/{sceneNumber}; MCP ce_scenes action=update. Change one scene's words, who says them, or its picture idea. Free. Fields: expectedRevision (required), words, speaker, pictureIdea. - [ce.scenes.remove_picture](https://www.autoclips.app/api#op-ce.scenes.remove_picture): DELETE /api/v1/ce/projects/{projectId}/scenes/{sceneNumber}/picture; MCP ce_scenes action=remove_picture. Take the picture off a scene. No file is deleted. Free. Fields: expectedRevision (required), item. - [ce.scenes.rewrite](https://www.autoclips.app/api#op-ce.scenes.rewrite): POST /api/v1/ce/projects/{projectId}/scenes/{sceneNumber}/rewrite; MCP ce_scenes action=rewrite. Two AI rewrites of one scene's words, in context. Nothing is saved: update saves the one you pick. Fields: preset, instructions. - [ce.scenes.set_picture](https://www.autoclips.app/api#op-ce.scenes.set_picture): PUT /api/v1/ce/projects/{projectId}/scenes/{sceneNumber}/picture; MCP ce_scenes action=set_picture. Put one of your own pictures or videos (from your media library) on a scene. Free. Fields: expectedRevision (required), mediaId (required), item. - [ce.scenes.set_sound_effect](https://www.autoclips.app/api#op-ce.scenes.set_sound_effect): PUT /api/v1/ce/projects/{projectId}/scenes/{sceneNumber}/sound-effect; MCP ce_scenes action=set_sound_effect. Pick the sound effect a scene plays when it starts, or none. Free. Fields: expectedRevision (required), effectId (required). - [ce.sound_effects.suggest](https://www.autoclips.app/api#op-ce.sound_effects.suggest): POST /api/v1/ce/projects/{projectId}/sound-effects/suggest; MCP ce_scenes action=suggest_sound_effects. Let an AI pick a sound effect for every scene, and put them on (or only suggest them). Fields: apply. - [ce.pictures.generate](https://www.autoclips.app/api#op-ce.pictures.generate): POST /api/v1/ce/projects/{projectId}/pictures; MCP ce_scenes action=generate_pictures. Make an AI picture for each chosen scene and put it on the scene. Costs credits; answers with a job. Its job carries `usualSeconds` (about how long it usually takes). Fields: model (required), scenes. - [ce.render.start](https://www.autoclips.app/api#op-ce.render.start): POST /api/v1/ce/projects/{projectId}/render; MCP ce_render action=start. Make the video from a project whose script is ready. Paid; answers with a job. Costs credits. Its job carries `usualSeconds` (about how long it usually takes). - [ce.motion.get_repair](https://www.autoclips.app/api#op-ce.motion.get_repair): GET /api/v1/ce/projects/{projectId}/motion-repair; MCP ce_render action=repair_status. How the motion graphics repair of a project is going, and whether its design is ready to render. Free. - [ce.motion.repair](https://www.autoclips.app/api#op-ce.motion.repair): POST /api/v1/ce/projects/{projectId}/motion-repair; MCP ce_render action=repair_motion. Repair the motion graphics of a motion graphics project, for example after its video failed on them. Free. Fields: retry. - [ce.seo.update](https://www.autoclips.app/api#op-ce.seo.update): PATCH /api/v1/ce/projects/{projectId}/seo; MCP ce_projects action=update_seo. Change the title, description, tags or hashtags a finished video is posted with. Fields: title, description, tags, hashtags. - [ce.versions.list](https://www.autoclips.app/api#op-ce.versions.list): GET /api/v1/ce/projects/{projectId}/versions; MCP ce_render action=versions. Every version of a Character Explainer video: the original render and its edits, with links. - [Character Explainer options](https://www.autoclips.app/api#options-ce): 61 options: inputMode, topic, customScript, style, durationSeconds, language, scriptMode, customInstructions, characterCount, characterPosition, characterPersonality, characterPlacementX, characterPlacementY, characterSizeMultiplier, characterFloating, floatingIntensity, ttsModel, voiceEmotion, speechSpeed, overrideSpeechSpeed, visualMode, motionTheme, motionCaptionStyle, motionAuthorModel, intelligentVisualSourcing, motionAssetModel, motionAssetTier, background, gameplayMediaId, gameplaySpeed, motionSoundDesign, motionMusicMode, motionSfxMode, music, musicLibraryTrack, musicVolume, showCaptions, captionFont, captionSizeMultiplier, captionVerticalPosition, captionColor, captionHighlightColor, captionStrokeColor, watermarkType, watermarkText, watermarkTextColor, watermarkBackgroundColor, watermarkBackgroundOpacity, watermarkMediaId, watermarkImageOpacity, watermarkVerticalPosition, watermarkHorizontalPosition, watermarkScale, outroId, pictureModel, rewritePreset, soundEffect, sceneImages, sceneImageStyle, soundEffects, reviewScript ## 3D Animated Studio 2.0 - [studio.projects.list](https://www.autoclips.app/api#op-studio.projects.list): GET /api/v1/studio/projects; MCP studio_projects action=list. Your 3D Animated Studio projects, newest first. Search by words in the title or idea. Fields: limit, cursor, search. - [studio.projects.get](https://www.autoclips.app/api#op-studio.projects.get): GET /api/v1/studio/projects/{projectId}; MCP studio_projects action=get. One Studio project: status, settings, film link, and on request its script, cast, clips, videos and more. Fields: include. - [studio.projects.create](https://www.autoclips.app/api#op-studio.projects.create): POST /api/v1/studio/projects; MCP studio_projects action=create. Start a Studio project from an idea, with its settings and up to 16 pictures. Free. Fields: idea (required), writerModel, productionModel, durationSeconds, aspectRatio, quality, nativeAudio, musicSource, webSearch, enhanceBrief, inSceneText, textOnTop, imageModel, attachments. - [studio.projects.update](https://www.autoclips.app/api#op-studio.projects.update): PATCH /api/v1/studio/projects/{projectId}; MCP studio_projects action=update. Change a Studio project's settings or name. Some settings lock once the script or the clips exist. Fields: title, writerModel, productionModel, durationSeconds, aspectRatio, quality, nativeAudio, musicSource, webSearch, enhanceBrief, inSceneText, textOnTop, imageModel. - [studio.projects.delete](https://www.autoclips.app/api#op-studio.projects.delete): DELETE /api/v1/studio/projects/{projectId}; MCP studio_projects action=delete. Delete a Studio project for good. This cannot be undone. Not while it is being made or is open in the app. - [studio.projects.export](https://www.autoclips.app/api#op-studio.projects.export): GET /api/v1/studio/projects/{projectId}/export; MCP studio_projects action=export. Every file of a Studio project with a download link: pictures, sheets, clips, finished videos, music, script, captions. Fields: groups, fileId, cursor. - [studio.projects.rename](https://www.autoclips.app/api#op-studio.projects.rename): POST /api/v1/studio/projects/{projectId}/rename; MCP studio_projects action=rename. Give a Studio project a new name. Free. Fields: title (required). - [studio.ideas.brainstorm](https://www.autoclips.app/api#op-studio.ideas.brainstorm): POST /api/v1/studio/ideas/brainstorm; MCP studio_ideas action=brainstorm. Talk film ideas through with a Studio writer. Billed at the AI's actual cost (a few credits); asks first. Costs credits. Fields: prompt (required), history, writerModel, webSearch. - [studio.ideas.result](https://www.autoclips.app/api#op-studio.ideas.result): GET /api/v1/studio/ideas/results/{jobId}; MCP studio_ideas action=read_result. The whole answer of a brainstorm, or every trend idea uncut, from its job. Free. - [studio.ideas.trending](https://www.autoclips.app/api#op-studio.ideas.trending): POST /api/v1/studio/ideas/trending; MCP studio_ideas action=trending. Research what is trending right now and get ten film ideas with sources. Billed at the AI's actual cost; asks first. Costs credits. Fields: category, niche. - [studio.brief.get](https://www.autoclips.app/api#op-studio.brief.get): GET /api/v1/studio/projects/{projectId}/brief; MCP studio_ideas action=get_brief. A Studio project's production brief, and whether Autopilot will write the script from it. - [studio.brief.discard](https://www.autoclips.app/api#op-studio.brief.discard): DELETE /api/v1/studio/projects/{projectId}/brief; MCP studio_ideas action=discard_brief. Throw away a Studio project's brief, so the script is written from the idea as typed. Free. - [studio.brief.generate](https://www.autoclips.app/api#op-studio.brief.generate): POST /api/v1/studio/projects/{projectId}/brief; MCP studio_ideas action=write_brief. Turn a Studio project's idea into a production brief and save it; Autopilot then writes the script from it. Free. - [studio.brief.revise](https://www.autoclips.app/api#op-studio.brief.revise): POST /api/v1/studio/projects/{projectId}/brief/revise; MCP studio_ideas action=revise_brief. Change a Studio project's brief the way you describe, and save it. Free. Fields: changeRequest (required). - [studio.promotion.get](https://www.autoclips.app/api#op-studio.promotion.get): GET /api/v1/studio/projects/{projectId}/promotion; MCP studio_ideas action=get_promotion. The product a Studio film promotes: its details, placement, call to action and pictures. - [studio.promotion.extract](https://www.autoclips.app/api#op-studio.promotion.extract): POST /api/v1/studio/promotion/extract; MCP studio_ideas action=extract_product. Read a product page (or pasted product text) into product details for a promotion. Nothing is saved. Free. Fields: url, text, productName. - [studio.promotion.import](https://www.autoclips.app/api#op-studio.promotion.import): POST /api/v1/studio/projects/{projectId}/promotion/brand-pictures; MCP studio_ideas action=import_brand_pictures. Add pictures (and the logo) of one of your brands to the product a Studio film promotes. Pro and up. Fields: brandId (required), assetIds, includeLogo. - [studio.promotion.remove](https://www.autoclips.app/api#op-studio.promotion.remove): DELETE /api/v1/studio/projects/{projectId}/promotion; MCP studio_ideas action=remove_promotion. Stop promoting a product in a Studio film: its details and pictures are removed. Free. - [studio.promotion.set](https://www.autoclips.app/api#op-studio.promotion.set): PATCH /api/v1/studio/projects/{projectId}/promotion; MCP studio_ideas action=set_promotion. Set the product a Studio film promotes: details, placement, call to action, pictures. Free. Fields: product, placement, callToAction, website, brandId, pictures. - [studio.script.get](https://www.autoclips.app/api#op-studio.script.get): GET /api/v1/studio/projects/{projectId}/script; MCP studio_script action=get. The script: scenes with every line and who says it, the action, the cast and the places, plus its revision. Fields: includeText. - [studio.script.edit](https://www.autoclips.app/api#op-studio.script.edit): PATCH /api/v1/studio/projects/{projectId}/script; MCP studio_script action=edit. Change the script: lines and who says them, a scene's action or place, the title, names and descriptions, or the text. Fields: expectedRevision (required), operations (required). - [studio.script.generate](https://www.autoclips.app/api#op-studio.script.generate): POST /api/v1/studio/projects/{projectId}/script/generate; MCP studio_script action=generate. Write the project's script from its idea. Charged at the writer's actual use, up to the price approved; answers with a job. Costs credits. Fields: replace. - [studio.script.reanalyze](https://www.autoclips.app/api#op-studio.script.reanalyze): POST /api/v1/studio/projects/{projectId}/script/reanalyze; MCP studio_script action=reanalyze. Re-read the edited script text so its scenes, cast and places follow it. Charged at actual use; answers with a job. Costs credits. - [studio.script.undo](https://www.autoclips.app/api#op-studio.script.undo): POST /api/v1/studio/projects/{projectId}/script/undo; MCP studio_script action=undo. Take back the last script edit made here. Up to 5 steps back, while nothing else changed the script since. Fields: expectedRevision (required). - [studio.looks.get](https://www.autoclips.app/api#op-studio.looks.get): GET /api/v1/studio/projects/{projectId}/looks; MCP studio_looks action=overview. What each character, object and place has: direction, picture, references, sheet and voice, and what the next steps cost. - [studio.images.generate](https://www.autoclips.app/api#op-studio.images.generate): POST /api/v1/studio/projects/{projectId}/pictures; MCP studio_looks action=make_pictures. Draw the pictures of characters, objects and places from their directions. Each is a new version. Costs credits; answers with a job. Fields: items, kind, redo, change, imageModel, clearPlannedClips. - [studio.images.prepare](https://www.autoclips.app/api#op-studio.images.prepare): POST /api/v1/studio/projects/{projectId}/pictures/directions; MCP studio_looks action=prepare_pictures. The planning AI writes a picture direction for each character, object and place. Needed before make_pictures. Costs credits. Fields: items, planningModel. - [studio.sheets.generate](https://www.autoclips.app/api#op-studio.sheets.generate): POST /api/v1/studio/projects/{projectId}/sheets; MCP studio_looks action=make_sheets. Draw character sheets (every side, eight expressions) from their directions. Each lands as soon as it is done. Costs credits. Fields: characters, redo, change, imageModel, clearPlannedClips. - [studio.sheets.prepare](https://www.autoclips.app/api#op-studio.sheets.prepare): POST /api/v1/studio/projects/{projectId}/sheets/directions; MCP studio_looks action=prepare_sheets. The planning AI writes a character-sheet direction from each character's picture. Needed before make_sheets. Costs credits. Fields: characters, planningModel. - [studio.references.attach](https://www.autoclips.app/api#op-studio.references.attach): POST /api/v1/studio/projects/{projectId}/references; MCP studio_looks action=attach_pictures. Add pictures from your media library as references for the project, a character, object, place or clip, or as an item's own picture. Fields: to (required), id, mediaIds (required), as, clearPlannedClips. - [studio.characters.set_voice](https://www.autoclips.app/api#op-studio.characters.set_voice): PUT /api/v1/studio/projects/{projectId}/characters/{characterId}/voice; MCP studio_looks action=set_voice. Give a speaking character a voice from a recording (your media library or your own cloned voice), or remove it. Fields: mediaId, voiceId, remove, clearPlannedClips. - [studio.clips.update](https://www.autoclips.app/api#op-studio.clips.update): PATCH /api/v1/studio/projects/{projectId}/clips/{clipId}; MCP studio_clips action=update. Change one clip (lines, scenes, pictures, length, or in plain words); an AI rewrites its direction. Paid; does not render. Costs credits. Fields: changeRequest, lineEdits, narrationEdits, scriptEdits, removePictures, addPictures, pictureVersions, removeAttachedIds, useAttachedIds, matchNextClip, durationSeconds. - [studio.clips.catch_up](https://www.autoclips.app/api#op-studio.clips.catch_up): POST /api/v1/studio/projects/{projectId}/clips/{clipId}/catch-up; MCP studio_clips action=catch_up. Rewrite one clip around pictures re-made since it was written, as the app does before it renders. Free; a job. - [studio.clips.prepare](https://www.autoclips.app/api#op-studio.clips.prepare): POST /api/v1/studio/projects/{projectId}/clips/prepare; MCP studio_clips action=prepare. Plan every clip of the film: an AI writes one direction per clip from the pictures. Paid; answers with a job. Costs credits. Fields: planningModel, replaceRenderedClips. - [studio.clips.recover](https://www.autoclips.app/api#op-studio.clips.recover): POST /api/v1/studio/projects/{projectId}/clips/recover; MCP studio_clips action=recover. Put back the clip list behind the finished film when it went missing. Free. - [studio.clips.render](https://www.autoclips.app/api#op-studio.clips.render): POST /api/v1/studio/projects/{projectId}/clips/render; MCP studio_clips action=render. Render one clip (or a few that do not follow each other) with the video model. Paid; each clip answers with a job. Costs credits. Fields: clipIds (required), changeRequest, newTake, matchNextClip, join. - [studio.clips.rewrite_script](https://www.autoclips.app/api#op-studio.clips.rewrite_script): POST /api/v1/studio/projects/{projectId}/clips/{clipId}/rewrite-script; MCP studio_clips action=rewrite_script. Say in loose words how a clip's scenes should change; an AI proposes them in full (nothing is saved). Free. Fields: instruction (required), scenes, durationSeconds. - [studio.clips.select_version](https://www.autoclips.app/api#op-studio.clips.select_version): PUT /api/v1/studio/projects/{projectId}/clips/{clipId}/version; MCP studio_clips action=select_version. Choose which made version of a clip goes into the film (the app's version arrows). Free; join again to see it. Fields: versionId (required). - [studio.clip_jobs.list](https://www.autoclips.app/api#op-studio.clip_jobs.list): GET /api/v1/studio/projects/{projectId}/clip-jobs; MCP studio_clips action=list_jobs. The film's 20 latest clip renders: status, video, what each cost, and why one failed. - [studio.clips.get_job](https://www.autoclips.app/api#op-studio.clips.get_job): GET /api/v1/studio/projects/{projectId}/clip-jobs/{clipJobId}; MCP studio_clips action=get_job. One clip render, checked with the video model now (also a render started in the app). - [studio.render.cancel](https://www.autoclips.app/api#op-studio.render.cancel): POST /api/v1/studio/projects/{projectId}/render/stop; MCP studio_clips action=stop_render. Stop render_all after the clip being made now. Free. - [studio.render.start](https://www.autoclips.app/api#op-studio.render.start): POST /api/v1/studio/projects/{projectId}/render; MCP studio_clips action=render_all. Render every clip still to make, one after another, then join the film. Paid (the most it can cost); a job. Costs credits. Fields: changeRequest, speed. - [studio.video.stitch](https://www.autoclips.app/api#op-studio.video.stitch): POST /api/v1/studio/projects/{projectId}/stitch; MCP studio_clips action=stitch. Join the chosen clip videos into the film, with its soundtrack, text on top and outro, at its speed. Free; a job. Fields: speed. - [studio.review.get](https://www.autoclips.app/api#op-studio.review.get): GET /api/v1/studio/projects/{projectId}/review; MCP studio_review action=get. What the free check for mistakes flagged in each clip of the film, and what fixing each costs. - [studio.review.fix](https://www.autoclips.app/api#op-studio.review.fix): POST /api/v1/studio/projects/{projectId}/review/fixes; MCP studio_review action=fix. Fix one flagged moment: re-render only its seconds and splice them into the clip. Paid; answers with a job. Costs credits. Fields: clipId (required), flagId (required), versionId. - [studio.review.flag](https://www.autoclips.app/api#op-studio.review.flag): POST /api/v1/studio/projects/{projectId}/review/flags; MCP studio_review action=flag. Your word on a flag: looks_fine, restore, reword what the fix changes, or add a moment yourself. Free. Fields: clipId (required), change (required), flagId, fix, what, from, to, newSound, versionId. - [studio.review.start](https://www.autoclips.app/api#op-studio.review.start): POST /api/v1/studio/projects/{projectId}/review; MCP studio_review action=start. Check the film's clips for mistakes: the ones not checked yet, or whose check failed. Free. - [studio.autopilot.quote](https://www.autoclips.app/api#op-studio.autopilot.quote): POST /api/v1/studio/projects/{projectId}/autopilot/quote; MCP studio_autopilot action=quote. What an Autopilot film would cost with these settings: an estimate (its range), the steps, and your balance. Free. Fields: settings. - [studio.autopilot.status](https://www.autoclips.app/api#op-studio.autopilot.status): GET /api/v1/studio/projects/{projectId}/autopilot; MCP studio_autopilot action=status. How the project's Autopilot film is going: stage, progress, credits spent, the limit, and what to do next. - [studio.autopilot.control](https://www.autoclips.app/api#op-studio.autopilot.control): POST /api/v1/studio/projects/{projectId}/autopilot/control; MCP studio_autopilot action=control. Pause, resume, retry a stuck step, hand the project back to the app, or cancel Autopilot. Free; asks first. Fields: command (required). - [studio.autopilot.raise_cap](https://www.autoclips.app/api#op-studio.autopilot.raise_cap): POST /api/v1/studio/projects/{projectId}/autopilot/raise-cap; MCP studio_autopilot action=raise_cap. Approve more credits for an Autopilot film, or set a limit on one started in the app. Paid: you approve a spending limit on the extra. Costs credits. Fields: newCapCredits (required). - [studio.autopilot.start](https://www.autoclips.app/api#op-studio.autopilot.start): POST /api/v1/studio/projects/{projectId}/autopilot; MCP studio_autopilot action=start. Make the whole film automatically. Paid: what you approve is its spending limit (one step's final cost can run a little over). Costs credits. Fields: settings. - [studio.finish.text_get](https://www.autoclips.app/api#op-studio.finish.text_get): GET /api/v1/studio/projects/{projectId}/text-on-top; MCP studio_finish action=get_text. Every word Studio drew on top of a finished video: key, words, timing, look. Fields: videoId. - [studio.finish.outro](https://www.autoclips.app/api#op-studio.finish.outro): POST /api/v1/studio/projects/{projectId}/outro; MCP studio_finish action=outro. Add an outro from your outro library after the last scene, or take it off. Answers with a job. Fields: sourceVideoId, outroId. - [studio.finish.text_agent](https://www.autoclips.app/api#op-studio.finish.text_agent): POST /api/v1/studio/projects/{projectId}/text-on-top/ask; MCP studio_finish action=ask_text. Say in plain words how the text on top should change; an AI proposes the edits (nothing is changed). Fields: videoId (required), instruction (required). - [studio.finish.text_edits](https://www.autoclips.app/api#op-studio.finish.text_edits): POST /api/v1/studio/projects/{projectId}/text-on-top; MCP studio_finish action=edit_text. Change, move, restyle, hide or add the words drawn on top of a finished video. Answers with a job. Fields: videoId (required), edits (required), replaceAll. - [studio.finish.watermark](https://www.autoclips.app/api#op-studio.finish.watermark): POST /api/v1/studio/projects/{projectId}/watermark; MCP studio_finish action=watermark. Burn a text or logo watermark into a finished video, or take it off. Answers with a job. Fields: sourceVideoId, type, text, imageMediaId, template, font, textStyle, color, opacity, size, position, startSeconds, endSeconds. - [studio.soundtrack.update](https://www.autoclips.app/api#op-studio.soundtrack.update): PATCH /api/v1/studio/projects/{projectId}/soundtrack; MCP studio_finish action=soundtrack_settings. Set where the film's music comes from (Studio's, your own or a popular track), how loud it is, or mute it. Fields: source, popularMusicId, volume, muted. - [studio.soundtrack.directions](https://www.autoclips.app/api#op-studio.soundtrack.directions): POST /api/v1/studio/projects/{projectId}/soundtrack/directions; MCP studio_finish action=soundtrack_ideas. Three different soundtrack directions written for this film, to pick one for make_soundtrack. Fields: refresh. - [studio.soundtrack.generate](https://www.autoclips.app/api#op-studio.soundtrack.generate): POST /api/v1/studio/projects/{projectId}/soundtrack; MCP studio_finish action=make_soundtrack. Compose a new soundtrack take for the film, optionally in a chosen direction. Charged per take; answers with a job. Costs credits. Fields: direction. - [studio.soundtrack.set_custom](https://www.autoclips.app/api#op-studio.soundtrack.set_custom): POST /api/v1/studio/projects/{projectId}/soundtrack/own-track; MCP studio_finish action=use_own_track. Use a sound from your media library as the film's soundtrack: levelled and stored like an upload in the app. Free. Fields: mediaId (required), name. - [studio.publishing.headline](https://www.autoclips.app/api#op-studio.publishing.headline): POST /api/v1/studio/projects/{projectId}/publishing/headline; MCP studio_publishing action=headline. Put new headline words on a thumbnail you already made (no new picture). Fields: ratio (required), headline (required). - [studio.publishing.metadata](https://www.autoclips.app/api#op-studio.publishing.metadata): POST /api/v1/studio/projects/{projectId}/publishing/metadata; MCP studio_publishing action=metadata. Write the YouTube title and description, TikTok and Instagram captions, hashtags and a thumbnail headline. Fields: ratios. - [studio.publishing.thumbnail](https://www.autoclips.app/api#op-studio.publishing.thumbnail): POST /api/v1/studio/projects/{projectId}/publishing/thumbnail; MCP studio_publishing action=thumbnail. Draw a thumbnail (9:16, 1:1 or 16:9) with the film's characters and the package headline. Answers with a job. Costs credits. Fields: ratio (required), imageModel. - [studio.attachments.add](https://www.autoclips.app/api#op-studio.attachments.add): POST /api/v1/studio/projects/{projectId}/attachments; MCP studio_projects action=attach_text. Attach a text or Markdown file (notes, a brief, a script draft) for the writer to read. Before the script is written. Free. Fields: text (required), name. - [studio.timeline.open](https://www.autoclips.app/api#op-studio.timeline.open): POST /api/v1/studio/projects/{projectId}/timeline; MCP autoclips_timeline action=open_studio_cut. Studio 2.0: open a finished video on the timeline (as the app's Edit video does) and get its variantId for get, edit and render. Fields: videoId. - [3D Animated Studio 2.0 options](https://www.autoclips.app/api#options-studio): 27 options: writerModel, durationSeconds, webSearch, enhanceBrief, trendCategory, productionModel, joinMode, clipLength, aspectRatio, quality, inSceneText, textOnTop, imageModel, nativeAudio, musicSource, popularMusicId, musicVolume, videoSpeed, watermarkType, watermarkFont, watermarkTextStyle, watermarkTemplate, watermarkPosition, watermarkOpacity, watermarkSize, publishPlatforms, thumbnailRatios ## MCP tools - `autoclips_account`: [credit_history](https://www.autoclips.app/api#op-shared.credits.history), [voice_model](https://www.autoclips.app/api#op-shared.account.voice_model.get), [whoami](https://www.autoclips.app/api#op-shared.account.whoami), [credits](https://www.autoclips.app/api#op-shared.credits.get), [set_voice_model](https://www.autoclips.app/api#op-shared.account.voice_model.set) - `autoclips_jobs`: [list](https://www.autoclips.app/api#op-shared.jobs.list), [get](https://www.autoclips.app/api#op-shared.jobs.get) - `autoclips_media`: [list](https://www.autoclips.app/api#op-shared.media.list), [get](https://www.autoclips.app/api#op-shared.media.get), [upload_link_status](https://www.autoclips.app/api#op-shared.media.upload_links.get), [upload_link](https://www.autoclips.app/api#op-shared.media.upload_links.create), [delete](https://www.autoclips.app/api#op-shared.media.delete), [import_url](https://www.autoclips.app/api#op-shared.media.import) - `autoclips_options`: [get](https://www.autoclips.app/api#op-shared.options.get) - `autoclips_outros`: [list](https://www.autoclips.app/api#op-shared.outros.list), [get](https://www.autoclips.app/api#op-shared.outros.get), [create](https://www.autoclips.app/api#op-shared.outros.create), [update](https://www.autoclips.app/api#op-shared.outros.update), [delete](https://www.autoclips.app/api#op-shared.outros.delete), [upload_video](https://www.autoclips.app/api#op-shared.outros.upload_video) - `autoclips_publish`: [accounts](https://www.autoclips.app/api#op-shared.social_accounts.list), [publish](https://www.autoclips.app/api#op-shared.videos.publish) - `autoclips_timeline`: [get](https://www.autoclips.app/api#op-shared.timeline.get), [edit](https://www.autoclips.app/api#op-shared.timeline.edit), [music](https://www.autoclips.app/api#op-shared.timeline.music), [redo](https://www.autoclips.app/api#op-shared.timeline.redo), [render](https://www.autoclips.app/api#op-shared.timeline.render), [render_cancel](https://www.autoclips.app/api#op-shared.timeline.render_cancel), [render_status](https://www.autoclips.app/api#op-shared.timeline.render_status), [sounds](https://www.autoclips.app/api#op-shared.timeline.sounds), [transcribe](https://www.autoclips.app/api#op-shared.timeline.transcribe), [undo](https://www.autoclips.app/api#op-shared.timeline.undo), [open_studio_cut](https://www.autoclips.app/api#op-studio.timeline.open) - `autoclips_voices`: [list](https://www.autoclips.app/api#op-shared.voices.list), [delete](https://www.autoclips.app/api#op-shared.voices.delete), [clone](https://www.autoclips.app/api#op-v3.voices.clone) - `ce_characters`: [list](https://www.autoclips.app/api#op-ce.characters.list) - `ce_projects`: [ideas](https://www.autoclips.app/api#op-ce.ideas.list), [list](https://www.autoclips.app/api#op-ce.projects.list), [get](https://www.autoclips.app/api#op-ce.projects.get), [create](https://www.autoclips.app/api#op-ce.projects.create), [update](https://www.autoclips.app/api#op-ce.projects.update), [update_seo](https://www.autoclips.app/api#op-ce.seo.update), [delete](https://www.autoclips.app/api#op-ce.projects.delete), [quick_create](https://www.autoclips.app/api#op-ce.projects.quick_create) - `ce_render`: [versions](https://www.autoclips.app/api#op-ce.versions.list), [repair_status](https://www.autoclips.app/api#op-ce.motion.get_repair), [repair_motion](https://www.autoclips.app/api#op-ce.motion.repair), [start](https://www.autoclips.app/api#op-ce.render.start) - `ce_scenes`: [list](https://www.autoclips.app/api#op-ce.scenes.list), [update](https://www.autoclips.app/api#op-ce.scenes.update), [generate_pictures](https://www.autoclips.app/api#op-ce.pictures.generate), [remove_picture](https://www.autoclips.app/api#op-ce.scenes.remove_picture), [rewrite](https://www.autoclips.app/api#op-ce.scenes.rewrite), [set_picture](https://www.autoclips.app/api#op-ce.scenes.set_picture), [set_sound_effect](https://www.autoclips.app/api#op-ce.scenes.set_sound_effect), [suggest_sound_effects](https://www.autoclips.app/api#op-ce.sound_effects.suggest) - `ce_script`: [get](https://www.autoclips.app/api#op-ce.script.get), [generate](https://www.autoclips.app/api#op-ce.script.generate), [review](https://www.autoclips.app/api#op-ce.script.review) - `studio_autopilot`: [quote](https://www.autoclips.app/api#op-studio.autopilot.quote), [status](https://www.autoclips.app/api#op-studio.autopilot.status), [control](https://www.autoclips.app/api#op-studio.autopilot.control), [raise_cap](https://www.autoclips.app/api#op-studio.autopilot.raise_cap), [start](https://www.autoclips.app/api#op-studio.autopilot.start) - `studio_clips`: [list_jobs](https://www.autoclips.app/api#op-studio.clip_jobs.list), [get_job](https://www.autoclips.app/api#op-studio.clips.get_job), [update](https://www.autoclips.app/api#op-studio.clips.update), [stop_render](https://www.autoclips.app/api#op-studio.render.cancel), [catch_up](https://www.autoclips.app/api#op-studio.clips.catch_up), [prepare](https://www.autoclips.app/api#op-studio.clips.prepare), [recover](https://www.autoclips.app/api#op-studio.clips.recover), [render](https://www.autoclips.app/api#op-studio.clips.render), [rewrite_script](https://www.autoclips.app/api#op-studio.clips.rewrite_script), [select_version](https://www.autoclips.app/api#op-studio.clips.select_version), [render_all](https://www.autoclips.app/api#op-studio.render.start), [stitch](https://www.autoclips.app/api#op-studio.video.stitch) - `studio_finish`: [get_text](https://www.autoclips.app/api#op-studio.finish.text_get), [soundtrack_settings](https://www.autoclips.app/api#op-studio.soundtrack.update), [outro](https://www.autoclips.app/api#op-studio.finish.outro), [ask_text](https://www.autoclips.app/api#op-studio.finish.text_agent), [edit_text](https://www.autoclips.app/api#op-studio.finish.text_edits), [watermark](https://www.autoclips.app/api#op-studio.finish.watermark), [soundtrack_ideas](https://www.autoclips.app/api#op-studio.soundtrack.directions), [make_soundtrack](https://www.autoclips.app/api#op-studio.soundtrack.generate), [use_own_track](https://www.autoclips.app/api#op-studio.soundtrack.set_custom) - `studio_ideas`: [get_brief](https://www.autoclips.app/api#op-studio.brief.get), [get_promotion](https://www.autoclips.app/api#op-studio.promotion.get), [discard_brief](https://www.autoclips.app/api#op-studio.brief.discard), [write_brief](https://www.autoclips.app/api#op-studio.brief.generate), [revise_brief](https://www.autoclips.app/api#op-studio.brief.revise), [brainstorm](https://www.autoclips.app/api#op-studio.ideas.brainstorm), [read_result](https://www.autoclips.app/api#op-studio.ideas.result), [trending](https://www.autoclips.app/api#op-studio.ideas.trending), [extract_product](https://www.autoclips.app/api#op-studio.promotion.extract), [import_brand_pictures](https://www.autoclips.app/api#op-studio.promotion.import), [remove_promotion](https://www.autoclips.app/api#op-studio.promotion.remove), [set_promotion](https://www.autoclips.app/api#op-studio.promotion.set) - `studio_looks`: [overview](https://www.autoclips.app/api#op-studio.looks.get), [set_voice](https://www.autoclips.app/api#op-studio.characters.set_voice), [make_pictures](https://www.autoclips.app/api#op-studio.images.generate), [prepare_pictures](https://www.autoclips.app/api#op-studio.images.prepare), [attach_pictures](https://www.autoclips.app/api#op-studio.references.attach), [make_sheets](https://www.autoclips.app/api#op-studio.sheets.generate), [prepare_sheets](https://www.autoclips.app/api#op-studio.sheets.prepare) - `studio_projects`: [list](https://www.autoclips.app/api#op-studio.projects.list), [get](https://www.autoclips.app/api#op-studio.projects.get), [create](https://www.autoclips.app/api#op-studio.projects.create), [update](https://www.autoclips.app/api#op-studio.projects.update), [delete](https://www.autoclips.app/api#op-studio.projects.delete), [attach_text](https://www.autoclips.app/api#op-studio.attachments.add), [export](https://www.autoclips.app/api#op-studio.projects.export), [rename](https://www.autoclips.app/api#op-studio.projects.rename) - `studio_publishing`: [headline](https://www.autoclips.app/api#op-studio.publishing.headline), [metadata](https://www.autoclips.app/api#op-studio.publishing.metadata), [thumbnail](https://www.autoclips.app/api#op-studio.publishing.thumbnail) - `studio_review`: [get](https://www.autoclips.app/api#op-studio.review.get), [fix](https://www.autoclips.app/api#op-studio.review.fix), [flag](https://www.autoclips.app/api#op-studio.review.flag), [start](https://www.autoclips.app/api#op-studio.review.start) - `studio_script`: [get](https://www.autoclips.app/api#op-studio.script.get), [edit](https://www.autoclips.app/api#op-studio.script.edit), [generate](https://www.autoclips.app/api#op-studio.script.generate), [reanalyze](https://www.autoclips.app/api#op-studio.script.reanalyze), [undo](https://www.autoclips.app/api#op-studio.script.undo) - `v3_cast`: [add_character](https://www.autoclips.app/api#op-v3.cast.add_character), [build](https://www.autoclips.app/api#op-v3.cast.build), [regenerate](https://www.autoclips.app/api#op-v3.cast.regenerate), [remove_character](https://www.autoclips.app/api#op-v3.cast.remove_character) - `v3_characters`: [list](https://www.autoclips.app/api#op-v3.characters.list), [get](https://www.autoclips.app/api#op-v3.characters.get), [create_from_photos](https://www.autoclips.app/api#op-v3.characters.create), [update](https://www.autoclips.app/api#op-v3.characters.update), [delete](https://www.autoclips.app/api#op-v3.characters.delete), [build_sheet](https://www.autoclips.app/api#op-v3.characters.build_sheet), [generate](https://www.autoclips.app/api#op-v3.characters.generate), [regenerate_sheet](https://www.autoclips.app/api#op-v3.characters.regenerate_sheet), [save_from_project](https://www.autoclips.app/api#op-v3.characters.save_from_project) - `v3_production`: [generate_assets](https://www.autoclips.app/api#op-v3.assets.generate), [cancel_render](https://www.autoclips.app/api#op-v3.render.cancel), [render](https://www.autoclips.app/api#op-v3.render.start), [seo](https://www.autoclips.app/api#op-v3.seo.generate), [build_timeline](https://www.autoclips.app/api#op-v3.timeline.build) - `v3_projects`: [list](https://www.autoclips.app/api#op-v3.projects.list), [get](https://www.autoclips.app/api#op-v3.projects.get), [create](https://www.autoclips.app/api#op-v3.projects.create), [update](https://www.autoclips.app/api#op-v3.projects.update), [delete](https://www.autoclips.app/api#op-v3.projects.delete), [quick_create](https://www.autoclips.app/api#op-v3.projects.quick_create), [retry](https://www.autoclips.app/api#op-v3.projects.retry) - `v3_scenes`: [set_image](https://www.autoclips.app/api#op-v3.scenes.set_image), [use_web_image](https://www.autoclips.app/api#op-v3.scenes.use_web_image), [edit_image](https://www.autoclips.app/api#op-v3.scenes.edit_image), [search_images](https://www.autoclips.app/api#op-v3.scenes.search_images) - `v3_script`: [edit](https://www.autoclips.app/api#op-v3.script.edit), [adjust_length](https://www.autoclips.app/api#op-v3.script.adjust_length), [generate](https://www.autoclips.app/api#op-v3.script.generate), [undo](https://www.autoclips.app/api#op-v3.script.undo), [import_story](https://www.autoclips.app/api#op-v3.stories.import), [classify_topic](https://www.autoclips.app/api#op-v3.topics.classify), [topic_ideas](https://www.autoclips.app/api#op-v3.topics.ideas) Original tools (no `action`; they need a sign-in or the Claude key, never an API key): - `create_video`: Makes a narrated AutoClips V3 story video from a topic, start to finish. Shows an estimate for the length you ask for and waits for your yes; the final price follows how long the written script really runs, so a longer script costs more. - `create_character_video`: Makes a Character Explainer video: cartoon characters explain a topic over gameplay. Shows the most it can cost and waits for your yes. Every character must speak the video's language. - `get_video_status`: How a video from either tool is doing, its link when it is ready, and why it stopped if it did. - `list_characters`: The Character Explainer characters you can pick, and the languages each one speaks. - `list_voices`: Narrator voices, with your own cloned voices. - `get_credits`: Your credit balance and plan. - `list_social_accounts`: The social accounts you connected in the app. - `publish_video`: Posts a finished video made in your account to your connected accounts. - `list_ugc_ads`: Your recent UGC ads. - `get_ugc_ad`: One UGC ad: brief, settings, script and versions. - `get_ugc_timeline`: Every clip, caption and track in one UGC ad version. - `edit_ugc_timeline`: Changes a UGC ad timeline, up to 20 changes at once. - `render_ugc_timeline`: Exports a UGC ad timeline. No extra credits. - `configure_ugc_ad`: Settings for future UGC remakes. - `direct_ugc_ad`: Remakes part of a UGC ad: recast, refilm, redraw, new voice or re-cut. ## Optional - [Errors](https://www.autoclips.app/api#errors): invalid_request, idempotency_key_required, unauthorized, confirmation_required, quote_exceeds_max_credits, insufficient_credits, daily_credit_cap_reached, insufficient_scope, plan_required, forbidden, staging_not_allowlisted, not_found, method_not_allowed, conflict, revision_conflict, idempotency_key_reused, idempotency_in_progress, confirmation_invalid, gone, payload_too_large, unsupported_media_type, rate_limited, daily_limit_reached, internal_error, not_implemented, unavailable - [Limits](https://www.autoclips.app/api#limits): Credits per day through API keys and AI apps, per account: 500 on the free plan, or half the monthly credits on a paid plan (at least 2,000), changed in Settings → API; Requests per minute, per account: 120; Requests per minute, per network address: 240; New videos and projects, per day: 20; Free AI helpers (rewrites, suggestions, metadata, brainstorms), per day: 150; Uploads and imports, per day: 300; Upload links, per day: 200; Posts to social accounts, per day: 30; Request body: 1 MB unless an operation says otherwise; Quote and confirm tokens: 10 minutes, used once; Idempotency-Key replays: 24 hours - [AI apps (MCP) setup](https://www.autoclips.app/mcp): Claude connector URL https://app.autoclips.app/api/mcp; Claude Code: `claude mcp add --transport http autoclips https://app.autoclips.app/api/mcp`, then /mcp and sign in - [Credits, quotes and retries](https://www.autoclips.app/api#money): max_credits, quote_token, Idempotency-Key, daily caps - [Media from a chat](https://www.autoclips.app/api#media): upload links and import by link