Skip to content
Back to search
100
MCP live MCP 2025-11-25 http

Playwright MCP Server

pro.aicut/aicut

Generate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.

Watch this dependency Share evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1495ms
last probe
Tools
71
callable
Resources
0
readable
Prompts
18
available
Score: 100/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
71 tools, 0 resources, 18 prompts returned.
pass 3 or more catalogue items 10/10
89 items in total; 3 or more earns these points.
pass Describes itself 10/10
97 characters; more than 30 earns these points.

Tools · 71

get_balance

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…

list_models

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…

get_recipe

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…

generate_video

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…

get_video

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)…

delete_video

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…

list_videos

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…

upscale_image

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…

edit_video

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…

list_reshot_templates

Free. Reshot gallery clips: who is where, when. `id` is a `reshot_video` `template`.

reshot_video

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…

upscale_video

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…

extend_video

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…

motion_control

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:…

generate_lipsync

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…

upload_media_widget

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,…

upload_media

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-…

list_uploads

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.

show_uploads

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.

import_link

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…

confirm_upload

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…

generate_image

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…

get_image

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)…

list_images

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…

show_images

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)…

generate_audio

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:…

get_audio

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)…

list_audio

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…

list_voices

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: `…

wait_for_generation

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…

show_generation

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…

analyze_video

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…

image_to_prompt

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…

get_analysis

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`. …

list_analyses

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 …

list_characters

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…

list_series

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…

list_series_ideas

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…

list_niches

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…

preview_niche_script

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…

generate_from_niche

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_…

browse_series

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…

list_studio_styles

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…

browse_studio_styles

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…

sandbox_exec

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…

reserve_studio_run

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, …

import_studio_reference

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`.

get_studio_run

What one run cost so far; `refunded_tokens` is null until it settles. Free.

list_trends

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…

get_recreate_brief

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…

generate_cast

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…

generate_cast_portraits

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…

regenerate_cast_portrait

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…

describe_cast_member

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…

generate_story_video

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…

regenerate_story_frame

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…

change_story_scene

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…

remove_story_scene

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…

fire_story_video

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…

render_story_video

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…

generate_fake_text_video

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: …

generate_image_story

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…

list_image_story_styles

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…

generate_explainer_video

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…

list_social_accounts

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 …

import_video

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…

prepare_post

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…

publish_post

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…

get_post_status

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…

review_post

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…

set_youtube_thumbnail

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

story-episode

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.

starter-video

Find a model, price the video, ask, generate, wait and report the url.

starter-image

Find a model, price the image, ask, generate and report the url.

starter-audio

Speech, music or a sound effect: find a model, price it, ask, generate, report.

fake-text

Write the chat script, show it, price it by characters, ask, generate in one call.

image-story

Write the narration script, show it, price it by image count, ask, generate in one call.

explainer

Write the script as JSON, make the pictures, price them with the video, ask once, generate in one call.

niche-run

Find a niche, read it in full, fill it in, price it, ask, run it in one call, wait and report the url.

talking-avatar

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.

motion-control

Take a character picture and a reference video, price the motion transfer by the clip's length, ask, run it and wait.

reshot

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.

restyle

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.

music-video

A song window, a fictional performer's character sheet, a direction, then one lip-synced take, each paid step priced and asked.

explainer-studio

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.

explainer-studio-reference

Fetch the reference video, sample its frames and write the style notes.

explainer-studio-voiceover

One ElevenLabs v4 take: voice table, take text, price and ask, check, revisions.

explainer-studio-remotion

The Remotion template: scenes, captions, fonts, preview, render, upload, delivery.

explainer-studio-3d

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"
    }
  }
}