cutpro9.58 KB
View saved version →
---
name: cutpro
description: Create anything with AI through CutPro, in any language: images, videos, voice-overs, songs, soundtracks, sound effects, talking avatars and 3D models with any top model (Veo, Kling, Seedance, Wan, Nano Banana, GPT Image, Suno, ElevenLabs, MiniMax, Rodin), plus upscaling, background removal and editing of images and videos; consistent AI characters swapped into any video; clips of long videos and live streams; scheduled posts; and transcription. Use when the user wants to make, animate, edit, upscale or restyle an image or a video, an ad, a product photo, a UGC video, a thumbnail, a song, a jingle, a sound effect, a voice-over or narration, a talking avatar, a 3D asset, or an AI person; clip a YouTube, Twitch, Kick, TikTok or podcast video into shorts; follow a channel's lives; render, download or post to TikTok, Instagram, YouTube, Facebook, Threads, LinkedIn, Pinterest or Bluesky; connect a social account; or turn audio and video into captions (SRT, VTT, text).
license: MIT
---
# CutPro
Every CutPro tool maps to one endpoint of the CutPro API and answers with the API's own JSON. In clients that show MCP Apps, generations, AI characters, clips and renders open in a CutPro player that follows the job until it is ready, so there is no need to poll or paste links when the player is on screen. Errors come back as `{ "code": "...", "extra": { ... } }`: switch on `code`, never on wording. Talk to the user in their language.
## Spend and publish only after the user agrees
Tools that spend credits or publish (`create_generation`, `create_persona`, `regenerate_persona`, `create_persona_video`, `create_submission`, `retry_submission`, `create_transcription`, `create_monitor`, `start_monitor`, `create_post`, `publish_post`, `retry_post_item`) are marked destructive. Before calling one, say what it will do and what it costs, and wait for a yes. The price is always free to read first: `quote_generation` for anything generated, `get_persona_catalog` and `quote_persona_swap` for AI characters, `analyze_video` for clipping. When the price is above the balance (`get_balance`), say so before the user agrees, not after.
## Generate anything with any model
1. Pick the model. `list_featured_models` lists a handful of strong models of every kind; `list_models` is the full catalog, narrowed with `kind` (`image`, `video`, `speech`, `music`, `audio`, `avatar`, `model3d`, `tool`, `videoedit`) and `q`. When the user names a model ("with Veo", "use Suno"), match it by `name` or `id`. For an image, a video or a voice with no model named, `presets` (`fast`, `balanced`, `best`) picks one: send `kind` and `preset` instead of `model`.
2. Build the request. The shared fields are `prompt`, `seconds`, `aspect_ratio` (`9:16` for TikTok, Reels and Shorts), `voice`, `seed`, and the files: `image_ids` or `image_urls`, `audio_ids` or `audio_urls`, `video_id`. A model's own fields (a song's lyrics or instrumental switch, a 3D model's texture, an image's quality) go in `options`, named as in its `parameters`.
3. `quote_generation` with that request gives the exact total in credits and the `warnings` (fields the model does not take). `INPUT_INVALID` lists in `extra.missing` the required fields still to send in `options`. Tell the user the model, what will be made and the total, and wait for a yes.
4. `create_generation` with the same request, `credits` set to that total and `wait: 60`. `PRICE_CHANGED` charges nothing and brings the new total in `extra.credits`: tell the user and ask again.
5. While `status` is `processing`, call `get_generation` with `wait: 60`. A failed generation gives its credits back on its own. A ready video has an `edit_id` once opened (`open_generation_edit`), so it can be posted or scheduled (see Publish and schedule).
6. Show the result. `outputs` lists every file with its `kind` (`image`, `video`, `audio`, `file`) and `url`; a 3D model or an archive is a `file`. A model that writes answers `text`. `downloadPreview of the first 4,000 characters. Read full instructions →