Add clips to project
add_clipsCreate new clips on a project. One tool, three sources:
kind="blank": empty slide clips you'll populate with add_elements / generate_media. Pass
clips: [{title?, duration?}, ...]. Note: create_project already creates clip 0; calling with N blank entries gives N+1 clips total.kind="pptx": extract slides from an uploaded .ppt/.pptx. Pass
mcp_upload_id(from upload_file), optionalslide_indices. Each slide becomes a slide_clip with native text/image/shape elements pre-populated.kind="video": cut clips from an uploaded video/audio. Pass
mcp_upload_idand optionallymime_type(default video/mp4),title,voiceover_text,cuts: [{start_seconds, end_seconds, heading?}],auto_elements. Withoutcutsthe whole upload becomes one clip. Pipeline (download → transcribe → insert) runs in the background; subsequent calls on the same upload hit a 24h cache and return synchronously. (To overlay a video ONTO an existing clip — picture-in-picture, b-roll, background loop — rather than insert it as its own clip, use add_elements(element_type='video') instead.)
All variants accept after_clip_id to control insertion position; appends at end if omitted.
Concurrency: whole-project mutation (conflict domain: the entire project) — serialize. Do not run it in parallel with ANY other mutation on the same project_id, including element/voiceover edits; run them one at a time. (Mutations to different projects run in parallel freely.)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cuts | No | kind='video' only: per-clip cuts. Each entry becomes one inserted clip. Omit to insert the full upload as a single clip. | |
| kind | Yes | Source for the new clips: 'blank' | 'pptx' | 'video'. | |
| clips | No | kind='blank' only: one entry per blank clip. Optionally set background_color/background + transition per clip at creation — no follow-up update_clips needed. | |
| title | No | kind='video' only: clip title (default 'Video'). | |
| mime_type | No | kind='video' only: MIME type (default 'video/mp4'). Audio MIME types insert the file as a sequential clip with auto-TTS; for background music, use add_audio instead. | |
| project_id | Yes | Project (guide) ID. | |
| after_clip_id | No | Insert after this clip ID; appends at end if omitted. | |
| auto_elements | No | kind='video' only: when true, run auto-element detection (zooms, spotlights, blurs). Default false. Only meaningful on cache miss; cache hits clone the originating run's auto-elements. | |
| mcp_upload_id | No | kind='pptx' or 'video': mcp_upload_id from the upload_file tool. | |
| slide_indices | No | kind='pptx' only: 0-based slide indices to insert. Omit to insert all slides. | |
| voiceover_text | No | kind='video' only: post-AI voiceover script (saved as v2). Original audio is always retained as the base transcript. |