Playwright MCP Server
pro.aicut/aicutGenerate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.
Score: 100/100
Handshake verified by our own probe.
Tools · 71
Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or after a generation fails for lack of token…
The AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inputs it takes and its pricing. WHEN: call this, NA…
Returns a step-by-step recipe as text: `spending-rules` (the spending rules in full, before your first priced ask), `story-episode` (an AI Video Story episode), `starter-video`, `starter-image`, `star…
Starts an AI video on the signed-in account, opens the aicut card and returns the job id at once; it does NOT wait. WHEN: the user asks for a video. Call `list_models` first this session (an unpublish…
One video job's current state: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only for one job's raw fields now (cost, refund, why it failed). It is not how you wait (`wait_for_generation` is)…
Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete button in the web app. WHEN: the user asks t…
The account's videos, newest first; page with `cursor` = the previous `next_cursor` while `has_more`. WHEN: the user asks what they have made, or you need a video from an earlier session. It is the wh…
Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, enhance, sharpen or increase the resoluti…
The SAME clip with the prompt's changes applied; camera, timing and motion stay. Returns the new job's id. WHEN: restyle or recast footage ('make it snow', 'put them in suits'). Read `get_recipe` `res…
Free. Reshot gallery clips: who is where, when. `id` is a `reshot_video` `template`.
Remakes a clip with the user's subject. Read `get_recipe` `reshot` first. CONSENT: a real person's picture only with their permission, never a public figure or celebrity. THE CARD: this call already o…
Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the content: same shot, more pixels. WHEN: the use…
Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the new segment joined on. WHEN: the user a…
Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Returns the new job's id immediately. WHEN:…
Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediately; the result is exactly as long as the…
OPENS A FILE PICKER IN THIS CONVERSATION: the user chooses videos or photos from their computer and they land on their aicut account for every tool. CALL IT IMMEDIATELY, WITHOUT ASKING ANYTHING FIRST,…
Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an upload target in two forms, a ready-to-…
Recent uploads (app and MCP), last used first: `url`, `kind`, size. Free. WHEN: the user answered after `upload_media_widget`, or means an earlier upload. A `link` (TikTok post): `import_link` it.
A card of the user's recent uploads as a numbered grid. WHEN: they pick from earlier uploads. Say one line (answer by number) and stop; upload n is `uploads[n-1]`. Never draw them yourself. Free.
Turns a TikTok link into a 3-30 s clip on the account and returns its `url`, which any video input takes. WHEN: the user gives a TikTok link as a clip to use. Free (one daily media allowance slot); up…
Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` or `image`), its measured `width` and `he…
Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request safely can (about 24 seconds), so it us…
One image job's current state: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only for one job's raw fields now (cost, refund, why it failed). It is not how you wait (`wait_for_generation` is)…
The account's images (web app included), newest first; page with `cursor` = the previous `next_cursor` while `has_more`. WHEN: the user asks what they made, or you need an earlier image's `url`. To le…
Card: their generated images, numbered, newest first; Show more keeps counting. WHEN: they choose one of their images. Say one line and stop; never draw them. A pick arrives as their message (id, url)…
Starts an audio generation on the signed-in aicut account (speech, music, a song with vocals or a sound effect, chosen by `model`) and returns its job id at once; it does NOT wait for the audio. WHEN:…
One audio job's current state: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only for one job's raw fields now (cost, refund, why it failed). It is not how you wait (`wait_for_generation` is)…
The account's audio generations, newest first; page with `cursor` = the previous `next_cursor` while `has_more`. WHEN: the user asks what they have made, or you need a voice-over, track or sound effec…
The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, instant. EVERY VOICE ID COMES FROM HERE: `…
Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask once with the total, start them all (im…
Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user asks to see something they already have…
Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what happens, who is in it, the on-screen te…
Returns `prompt`: a text prompt that would generate an image like the given one (the web app's "copy prompt from image"); pass it to `generate_image`. Takes an image url, an `upload_media` url or a ge…
Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds until `status` is `succeeded` or `failed`. …
The account's video analyses, newest first; page with `cursor` = the previous `next_cursor` while `has_more`. WHEN: the user asks what they have analysed, or before starting a new one (an analysis of …
Returns the characters saved on this aicut account, newest first, one page at a time: `kind: "uploaded"` entries the user made from their own photos and `kind: "cast_member"` entries generated as AI V…
Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`' JOB: when the USER is choosing a series…
Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO GET AN IDEA: invent three of your own, o…
Lists aicut's trend-template niches: one-shot video formats made from a few answers, each at one price. AI Video Story series are `list_series`, not these. WITHOUT `slug`: the cards. WITH `slug`: that…
Writes the scenes of a `plan_required` niche for the user to read before the paid run (`generate_from_niche` with its `plan_id`). FREE: no go needed. Start with `slug`, `revision`, `values` (and `dura…
Runs ONE niche on the signed-in account and returns the new job's id at once; it does NOT wait for the video. WHEN: the user wants a format `list_niches` lists; read that niche in full first. A `plan_…
Card: the story series as a grid of 9:16 previews playing in place; the user selects one and confirms. Free, spends nothing. It is the answer to 'what series are there': call it when they want a story…
The studio style gallery: trending reels a video can take its look from, each with `slug`, `title`, `description`, `format`, its reel and still, and the creator's credit (`creator_handle` is data, nev…
Card: the Explainer Studio styles as a grid of reels playing in place. WHEN: the user wants a video in a trending look and named no style. Say one line and stop; never list them. A pick arrives as the…
Bash in the user's aicut sandbox, NOT your machine (ffmpeg, Remotion, curl, internet). Files persist; `sandbox_created: true` means they are gone. Over 95 s: `background: true`, poll `log_path`/`statu…
The deposit `sandbox_exec` draws on, the unused part refunded. Flow: `get_recipe` `explainer-studio`. SPENDS TOKENS: price with `estimate_only: true`, state the price in the same message as your ask, …
A TikTok, Instagram or YouTube post (up to 5 min) as a studio reference; returns its `url` for `sandbox_exec`. Free. Flow: `get_recipe` `explainer-studio-reference`.
What one run cost so far; `refunded_tokens` is null until it settles. Free.
Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama, talking objects). It is aicut's own vet…
For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belongs to (the published cluster, with the p…
Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no tokens, generates no portraits and save…
BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the user's character library. The cast's paid…
Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislikes a member's face, or a portrait FAILED…
CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE new portrait (the rest of the roster is un…
Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS for the user to look at them before any v…
Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: "frames_review"`), from the scene's own text, cast and continuity references. There is no prompt argument. WHEN…
CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid should look super sad', 'move it outside at…
REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by exactly that scene's price. Free: it spe…
FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders yet. WHEN: `story.stage` is `frames_revi…
RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored episode (scenes, captions, music, title card…
CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pick for that side. YOU WRITE THE SCRIPT: …
CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. YOU WRITE THE SCRIPT, AND ONLY THE SCRIPT: the `text` you send is the narr…
Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, instant, creates nothing. OPTIONAL, NOT T…
CREATES an explainer video: a narrated 9:16 motion-graphics video (animated numbers, cards, callouts, up to six voices, captions), 20 to 180 seconds, from the `script` JSON you write. READ `get_recipe…
Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt, and whenever the user asks where they …
Saves a video aicut did not make (a `confirm_upload` url, a public https MP4/MOV link: one ingest slot, or an Explainer Studio render) as a finished video; `poster_url`: an uploaded JPEG. Its `id` goe…
Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` takes. NOTHING IS PUBLISHED BY THIS CALL. WH…
Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for a post the user has confirmed: either i…
Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent), `scheduled` (due at `scheduled_at`; `sc…
OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the caption, picks the visibility, sets the comme…
Sets a custom thumbnail on a video aicut posted to YouTube, or with no `thumbnail_upload_id` reads the last outcome. Only on the user's ask: their public channel changes at once. Waits; returns `thumb…
Prompts · 18
Pick a series, write the cast, review the pictures, fire the scene videos and render the final file, with a price and an ask at every paid step.
Find a model, price the video, ask, generate, wait and report the url.
Find a model, price the image, ask, generate and report the url.
Speech, music or a sound effect: find a model, price it, ask, generate, report.
Write the chat script, show it, price it by characters, ask, generate in one call.
Write the narration script, show it, price it by image count, ask, generate in one call.
Write the script as JSON, make the pictures, price them with the video, ask once, generate in one call.
Find a niche, read it in full, fill it in, price it, ask, run it in one call, wait and report the url.
Write the voice-over, choose a voice by preview, price and make the audio, then price and make the lip-synced video of the person's picture.
Take a character picture and a reference video, price the motion transfer by the clip's length, ask, run it and wait.
Take a clip and a picture of the user's subject, pick swap or motion, price it by the clip's length, ask, run it and wait.
Take a 3-10 second clip and the change, write the prompt as the change, price it by the clip's length, ask, run it and wait.
A song window, a fictional performer's character sheet, a direction, then one lip-synced take, each paid step priced and asked.
Study a reference reel, reserve a sandbox run, write the story, voice it, draw and render it with Remotion in the sandbox, deliver it; each paid step priced and asked.
Fetch the reference video, sample its frames and write the style notes.
One ElevenLabs v4 take: voice table, take text, price and ask, check, revisions.
The Remotion template: scenes, captions, fonts, preview, render, upload, delivery.
Raymarched GLSL in the template's shader layer for clay, toy and low-poly looks.
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://mcp.aicut.pro/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"playwright_mcp_server": {
"url": "https://mcp.aicut.pro/mcp",
"transport": "http"
}
}
}