Odel
aicut

aicut

@aicut-proMITUpdated 5 days ago

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

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

aicut MCP server

Generate AI story episodes, videos, images and audio straight from Claude, Claude Code, or any MCP client - no API key, no dashboard round-trip.

  • Server URL: https://mcp.aicut.pro/mcp
  • Transport: Streamable HTTP
  • Auth: OAuth 2.1 with dynamic client registration + PKCE. You sign in with your normal aicut account and approve once.
  • Setup page: https://www.aicut.pro/mcp

This repository is the public metadata for the hosted server: there is nothing to install and nothing to run locally.

Install

Claude Code

claude mcp add --transport http aicut https://mcp.aicut.pro/mcp

Then run /mcp, pick aicut, choose Authenticate, and approve in the browser tab that opens.

Claude (web and desktop)

Settings -> Customize -> Connectors -> Add -> Add custom connector, name it aicut, paste https://mcp.aicut.pro/mcp, hit Connect and approve.

Any other MCP client

Point it at https://mcp.aicut.pro/mcp over Streamable HTTP. Clients that implement the MCP OAuth flow register themselves; clients with no browser can use an aicut API key as a bearer token instead (keys are issued by hand - email support@aicut.pro).

Tools

50 tools. Read tools are annotated readOnlyHint; the tools that spend carry destructiveHint and idempotentHint: false, so a client asks before spending. Every generate_* tool takes estimate_only: true to price a request without creating anything - and on audio that is the only reliable quote, because audio models publish a per-character or per-second RATE rather than a price table. Generations spend tokens from the connected aicut account at the same prices as the app, and land in that account's library.

Catalog and account

ToolWhat it does
list_modelsThe curated video, image and audio catalog with the exact cost of every settings combination. Call this first - model ids and their accepted values cannot be guessed. Searchable and paged.
get_balanceTokens left on the account, and its plan tier.
list_voicesThe whole voice catalogue - ElevenLabs (stock, plus this account's cloned and custom voices), OpenAI and Amazon Polly in one shape, each with a verdict on what it can be used for. Paged.
list_charactersThe account's uploaded characters and generated story cast members, in one list.
list_seriesThe AI Video Story catalog: which series (niches) an episode can be made in, with their episode-length ladder, model defaults and prices.
list_series_ideasOne series' curated episode ideas.
browse_seriesPuts the series catalog on screen as a grid of covers whose demo clips play in place, on clients that render cards. Tapping selects, one Confirm writes the pick.

Video, image and audio

ToolWhat it does
generate_videoStarts a video generation. Asynchronous: returns a job id.
get_videoOne video by id, with its status and finished url.
list_videosThe account's recent videos, paginated.
delete_videoDeletes one of the caller's own videos. No refund.
generate_imageGenerates an image, and usually returns it finished in the same call.
get_imageOne image by id.
list_imagesRecent images, paginated.
generate_audioSpeech, music or a sound effect, chosen by model.
get_audioOne audio job by id.
list_audioRecent audio, paginated.
wait_for_generationThe long poll: waits server-side and answers whether a job is terminal.
show_generationReplays an earlier generation the user asks to see again.

Transforms - working from media you already have

What the server measures IS the price: a clip's length, a picture's dimensions, an audio's length. Media the server cannot measure is refused before anything is charged rather than charged and then failed.

ToolWhat it does
upscale_video2x or 4x an existing video.
upscale_imageMore pixels in an existing image, from three upscalers: a general-purpose one, one that goes to 10x and is priced per output megapixel, and a creative one that repaints detail as it enlarges. Priced from the picture's measured dimensions.
extend_videoContinues an existing video by a chosen number of seconds.
motion_controlA character picture plus a reference clip, and the character performs that clip's motion. The reference clip's length is the price.
generate_lipsyncA character picture plus audio generated on this account, and the character speaks or sings it, lip-synced. The result is exactly as long as the audio, and the audio's measured length is the price.

Video analysis

ToolWhat it does
analyze_videoReads an existing video instead of making one. Spends no tokens; capped per account per day.
get_analysisOne analysis by id.
list_analysesRecent analyses, paginated.

AI Video Story - the staged episode flow

An episode is made in stages, and each stage has its own price, so nothing large is bought in one blind step: the cast is written free and its portraits are bought; the episode's start frames are charged and PARK for review; firing buys the scene videos; rendering buys the final file.

ToolWhat it does
generate_castFREE. Writes a story cast for a series and returns it to read. Mints nothing.
generate_cast_portraitsBuys one image per cast member and saves the roster to the library.
regenerate_cast_portraitRedraws one cast member's face.
describe_cast_memberChanges what one cast member is, then redraws them.
generate_story_videoStage 1: writes the episode, generates the start frames, and parks for review. estimate_only quotes the whole episode with its stage split.
regenerate_story_frameRedraws one parked start frame.
change_story_sceneChanges what happens in one parked scene, then redraws its frame.
set_scene_keptFREE. Removes a parked scene, so its video is never generated and never charged.
fire_story_videoStage 2: generates the scene videos for the scenes you kept. Irreversible, and an episode cannot fire twice.
render_story_videoStage 3: the final render. Free-tier renders carry a watermark.

One-call formats

These two write and render in a single call: no fire step, no render step.

ToolWhat it does
generate_fake_text_videoThe fake-text chat-story format. The agent writes the message script; the server speaks it, measures the bubbles and renders it. The voice provider moves the price, so re-quote after changing it.
generate_image_storyThe AI image story format. The agent writes the narration; the server segments it, writes the image prompts, generates every scene image, speaks it and renders it. Price is driven by the image count.
list_image_story_stylesaicut's authored image-story looks. Optional on a create, and picking one forces the pricier edit-capable image model - re-quote after adding one.

Publishing to social

ToolWhat it does
list_social_accountsThe TikTok, YouTube and Instagram accounts this user has connected. An empty list means they must connect one in a browser - this API cannot.
prepare_postStages a post of one of the account's finished videos, named by aicut id. Publishes nothing, and expires after 30 minutes.
review_postThe consent card: shows the actual video, the destination account and the caption, visibility and disclosure controls, and re-stages the person's own choices. Publishes nothing.
publish_postIRREVERSIBLE: sends or schedules the prepared post. States the per-account rate ceiling rather than making an agent discover it.
get_post_statusWhat the platform says happened, from prepared through to posted or failed.

Trends

ToolWhat it does
list_trendsaicut's published trend feed. Read-only.
get_recreate_briefHow to recreate one trending video. Names the niche it can prove, and deliberately names no series.

Uploads - using your own footage and images

ToolWhat it does
upload_media_widgetThe in-card file picker. The person chooses a file, the card uploads and confirms it, and posts the finished url back. The agent's whole job is to call this and wait.
upload_mediaA signed upload target for a file on the user's own machine, plus the curl that fills it.
confirm_uploadThe second half: re-reads the uploaded object, checks its magic bytes against the declared type and measures a video, refusing anything that fails.

Docs and policies