account_usage
ChatGPTThe person's Cardboard subscription and what it has left: exports, usage, generative credits and when they renew. For questions like "what plan am I on?", "how many exports do I have left?" or "I want to upgrade", and before work their subscription may not cover.
add_media
ChatGPTAdds video, audio and photo files (JPEG, PNG, HEIC, WebP or GIF) attached to this chat to a project: Cardboard copies each into the project and prepares it as it does an upload from upload_media's card, so the person doesn't pick it again there. A photo joins as an image. The result names each file's media id, or why it wasn't added. Documents such as a brief, script or shot list stay in the chat, where you read them.
apply_timeline
ChatGPTChanges the timeline. edits are exact { oldText, newText } replacements copied from print_timeline, with its header rev; text outside them stays as it is, and edits saved since that rev merge in item by item. An edit that does not match exactly once changes nothing, and print_timeline shows the current text. source, the whole file, is for rewriting most of the timeline.
cancel_job
ChatGPTStop a running job: an export stops and leaves no file. Work that cannot stop once started says so and ends on its own; a generation always runs to the end.
caption_from_transcript
ChatGPTA <track kind="caption"> for the current timeline built from the media transcripts (transcribing any not cached yet, in seconds). Its items carry captionText and captionWordTimings, so later edits can restyle and retime them. With apply, the track goes onto the timeline above the footage and the result is a summary. Without it the timeline is not changed and the result is the JSX for apply_timeline; the first <track> draws on top, so a caption track placed after the footage draws under it and does not show.
capture_web_page
ChatGPTScreenshot a web page in a headless Chrome: the first screen, the full page, or one element. With a project the image is imported into it; without one it comes back in the result. With scroll it records the page scrolling instead, as a video clip for the project.
card_state
ChatGPTFor Cardboard's card: a fresh session and the project's latest preview and export.
check_timeline
ChatGPTReport what apply_timeline would change for the same edits or source, without writing.
create_project
ChatGPTCreate an empty project.
detect_scenes
ChatGPTShot changes in a video, as source seconds (offline).
detect_silence
ChatGPTSilent stretches in a media file’s audio (offline). Source seconds.
docs
ChatGPTCardboard's documentation by topic. cardboard is Cardboard's editing guide, the one its own editor agent follows, with these tools in place of cb: the editing loop, elements, seeing and hearing an edit, captions, generated media, color, the player in the chat and replies after an edit. The other topics each cover a command or technique (source, look, code, synced-captions, motion-graphics, color-grading, 3d-scenes, ...). No topic lists them.
download_media
ChatGPTDownload what a link points at into a project: the video behind a post on YouTube, X, Instagram, TikTok or another video site, or a video, audio or image file. An image joins the project as a photo. It joins the project with the same thumbnails, waveform and proxy as any other media.
export_video
ChatGPTRender the project in Cardboard's export pool, from the originals in Cardboard's storage. Hands back a job at once (an export takes minutes for a long edit): job_status follows the render and returns the export's id and a link to the file, and cancel_job stops it. Cardboard's card plays the project's newest preview or export and offers its newest export's download; show_preview opens it. For when the user wants the file; check an edit with look and verify_timeline instead.
filmstrip
ChatGPTEvenly spaced frames of a video tiled into one image, left to right then down, with the source time of each tile.
generate_image
ChatGPTGenerate a still image from a prompt with a hosted model and put it on the timeline as an image item. The still takes its place on the timeline at start straight away, and the finished image fills it when the run ends. Quality standard (default) or best (holds fine detail and spells lettering, signage and title text reliably; costs more). image lists project images (id or file name) to redraw or take from, such as a product shot to put in a new scene; standard takes up to 6, best up to 4, and an edit at best costs more than drawing from text. durationSeconds is how long the still sits on the timeline (default 5). Returns at once with the generation id; generation_status with wait: true waits on the run and fills the still when it ends. Costs credits; the error says what to fix.
generate_music
ChatGPTCompose instrumental music with Sonilo and place it on a "Music" track: a pending audio item is filled with the finished track. sections change the mood at seconds into the track, not timeline time: the first starts at 0, each at least 5 s after the one before, the last at least 5 s before the end. auto builds them from the timeline instead: quiet where people speak (cached transcripts), energy elsewhere, an accent where a title appears. dryRun returns the duration and sections it would send, free, without generating. Costs credits.
generate_sfx
ChatGPTGenerate a sound effect with ElevenLabs and place it on an "SFX" track: a pending audio item is filled with the MP3. Place one per moment, with start at the timeline second it belongs to. Costs credits.
generate_video
ChatGPTGenerate a video clip from a prompt with a hosted model and put it on the timeline. The clip takes its place on the timeline at start straight away, and the finished video fills it when the run ends. Quality standard (default, Kling: 5 or 10 s, 16:9 / 9:16 / 1:1, silent) or best (Veo 3.1: 4 / 6 / 8 s, 16:9 / 9:16, optional audio, costs more). model: "wan-3.0" takes any length from 2 to 30 s in one generation, 16:9 / 9:16 / 1:1 at 720p unless resolution says otherwise, with free synchronised audio; it cuts between listed scenes itself and keeps the same people across them, so a story of several scenes that fits in 30 s and starts from nothing is one Wan 3.0 run (name each recurring person once with their look, then the scenes in order) rather than a clip per scene. A 30 s take waits about twelve minutes. model: "gemini-omni-flash" is 3-8 s at 720p (1080p when resolution asks for it), 16:9 / 9:16, always with native audio, and holds a four-scene story in 8 s. image turns a project image into the first frame and routes on its own to Hailuo 02 (standard) or Kling 3 Pro (best), which animate a still faithfully; describe only the motion. ref lists stills and videos the model works from rather than starts on (a product, a place, a move to copy): name them @Image1, @Image2… and @Video1… in the prompt in the order given. model: "seedance-2.5" takes up to 9 stills and 3 videos (30 s of video in all; clip.mp4#2-8 sends seconds 2 to 8, and each second sent bills like a generated one at a lower rate); Seedance refuses any ref showing a real-looking person, so it takes no cast; MiniMax H3 and Wan 3.0 take stills only. People who must come back in another video, or in a scene you will redo on its own: write them as @Name in the prompt and describe the action, not the person. The first time a name is used, pass character: ["Name: who they are, hair, wardrobe"]; the job draws a reference sheet, keeps it in the project (the timeline header lists the cast; the sheet stills stay out of media listings) and later shots just say @Name. Cast everyone who recurs, kids included, or they change every shot. Cast shots at standard run 5-15 s on MiniMax H3 straight from the sheet stills; at best, 3-10 s on Kling 3 Pro from a drawn first frame for one person, or 2-30 s on Wan 3.0 from the sheet for two. A shot with more than one @Name goes to best on its own unless quality or model is given. motion only applies to the first-frame recipe. Open a cast shot medium or closer on one action so the face is large enough to keep; a wide, fast, many-body frame comes back with the face deformed. Returns at once with the generation id; generation_status with wait: true waits up to about half a minute at a time and fills the pending clip when the run ends. Costs credits; the error says what to fix.
generate_voice
ChatGPTNarrate text with a hosted ElevenLabs v3 voice and place it on the timeline: a pending audio item is filled with the MP3, and its word timings are stored as the media’s transcript. voice is an ElevenLabs voice id or the exact name of one of the account’s voices (default: its most recent); docs topic voice has the detail.
generation_status
ChatGPTThe state of a generation started by generate_video or generate_image. wait: true waits up to about 30 seconds: once the run ends it fills the pending clip it was placed for, otherwise it says how far the run has got, and a later call waits again.
grab_frame
ChatGPTOne frame of a video or image at a source time, returned as an image.
job_status
ChatGPTWaits on a job a Cardboard tool handed back in place of its result (export_video does after a few seconds, any other tool once it runs past about 40 seconds). Returns that tool's result once the job ends; a job still running after about 40 seconds comes back as it stands, with its progress (e.g. "Rendering 40%"), and a later call waits again.
list_media
ChatGPTMedia in a project, each marked present or missing. Cast reference-sheet stills are left out unless all is set.
list_projects
ChatGPTThe account’s Cardboard projects with their ids, the most recently edited first, as text that reaches only you: the person sees none of it. show_projects lists the same projects for them, in a card in the chat. Lists the newest 10 unless limit says otherwise, and total counts every one that matches; search keeps those whose name contains it.
list_voices
ChatGPTThe account’s own voices for generate_voice: favourites, recent voices and its clones.
look
ChatGPTComposited frames of the timeline as the player shows them, returned as images.
matte_media
ChatGPTSeparate the subject of a video or image from its background on a hosted GPU (costs credits); video mattes find people, image mattes the main subject. Returns a grayscale matte file, white = subject: MP4 for video, PNG for an image. Cached per media, stretch and mode.
measure_loudness
ChatGPTIntegrated loudness (LUFS), loudness range, true peak and mean/max volume of a media file (offline).
print_timeline
ChatGPTThe canonical timeline.tsx for a project: header (aspect, duration, media table, diagnostics, rev) and the tree. A timeline longer than one result comes back in parts by line, and from reads on. apply_timeline takes edits copied from this text.
probe_media
ChatGPTWhat a media file is: kind, duration, size, frame rate, codec, audio.
project_status
ChatGPTHow a project's uploads, edits, preview renders, playback in the chat and exports went in the last 6 hours, as the person's cards showed them, and why something failed when Cardboard can tell. now is where things stand; events is what happened, oldest first, each with how long ago. In an event, status and cause are Cardboard's verdict (cause from a fixed list); error is the failing part's own message, as evidence; measurements are the numbers behind it; involves names the file, timeline item id or second it concerns; retryMayHelp says whether the same work again could go differently. Its fields are for working out a cause. The person sees the cards, not this: what they want from it is a sentence or two on what they'll notice and what happens next, not the events, codes, field names or timings. Opens no card.
read_recipe
ChatGPTRead a file of the recipe a project was started from: its brief (recipe/RECIPE.md), its data such as recipe/structure.json, the person's answers (recipe/inputs.json, which lists their own files under the media field as they upload them), a file you wrote, or one of its pictures, which comes back as an image. A folder lists its files.
search_music
ChatGPTTracks from Cardboard's music library, ranked by how well each fits query, genre and mood; a filter nothing matches is dropped and the result says so. Each has its length, tempo, energy, sections with their times, the stretches quiet enough to sit under speech, a volume for each kind of mix, and the link download_media takes to bring it into a project. Free.
search_sfx
ChatGPTSound effects from Cardboard's library, ranked by how well each fits query within category. Each has its length, when it suits, a volume, and the link download_media takes to bring it into a project. Free.
search_transcript
ChatGPTFind a phrase across every media of a project that has a transcript (from transcribe_media). Returns source times per media and timeline times through the clips that play them.
search_voices
ChatGPTSearch the ElevenLabs voice library, most-used voices first; needs a query or a filter. Page with cursor.
send_feedback
ChatGPTSends a report to Cardboard's team: something in Cardboard that went wrong (bug), something the person asked for that Cardboard can't do yet (request), or anything else the person wants the team to hear (feedback). People at Cardboard read each report with the person's name and email, so it goes only once the person says yes. The result gives the report's reference.
show_preview
ChatGPTOpens Cardboard's player in the chat on a project's latest preview, and on its export once one finishes: the person watches the export there and saves the file with its Download button. apply_timeline, undo_timeline and caption_from_transcript with apply show the same player for each edit they make, which plays that edit's preview once it renders.
show_projects
ChatGPTLists the person’s Cardboard projects for them, in a card in the chat: the most recently edited first, each with a picture from its footage, how long it runs and when it was last edited. They can search the list there and pick a project. The result tells you how many there are and names the newest six, with when each was edited. In ChatGPT a pick puts "Let's work on …" in their message box for them to send; in Claude the card turns into that project's player and notes which project they opened, which reaches you with their next message.
show_recipes
ChatGPTWhat Cardboard can make: shows the person Cardboard's recipes in a card in the chat, the answer when they ask what Cardboard can make or do: finished edits by Cardboard's team, each a starting point that makes the person's own footage into that kind of video (a travel montage, a podcast clip, a brand launch film, captions for a talking video, an effect). Each plays its edit with its name, what it makes and its size; the person can open one to watch it with sound, switch to a kind, search them, and pick one there. When the person has said what they want to make, read the docs topic recipes, which lists every recipe with what it makes, and pass picks: only the recipes that make that whole kind of video, best first (one or two is fine; an effect, a title or a caption style is not a whole video), with heading saying what they are for; also: recipes of other kinds the same footage would suit, so they can change their mind; and filters: a few short guesses at what they want, each with the recipes it fits. The card shows those first and keeps every other recipe a tap away. Call show_recipes without them first if you do not yet know the slugs. search is for words the person asked to search for, not for finding what fits their idea: it finds recipes by what the words mean as well as the words themselves, and leads the card with them. The result names the matching recipes with their slugs, for start_recipe. A recipe marked usesGeneration makes some shots with generation, which costs credits.
start_recipe
ChatGPTMakes a new project from one of Cardboard's recipes: the recipe's brief, graphics and data in its recipe/ folder, the recipe's own media in the project, and the person's answers in recipe/inputs.json. When the recipe takes media, the result opens upload_media's card on the new project unless upload is false. answers holds the person's answers to the recipe's questions by id, as far as they have given them; the result names the questions still open.
timeline_history
ChatGPTSaved timeline revisions, newest first.
transcribe_media
ChatGPTThe transcript of a media file’s audio (any video or audio in the project), with per-word timings, in seconds. It uses Cardboard’s transcription, and the result is kept with the project for every later call. timeline: true maps times through the clips that play the media instead of source seconds.
undo_timeline
ChatGPTRestore the previous timeline revision, or a specific rev from timeline_history.
upload_media
ChatGPTOpens Cardboard's upload card in the chat, where the person picks video, audio or photo files (JPEG, PNG, HEIC, WebP or GIF) on their device and uploads them into a project; the card says when each has uploaded, and photos join the project as images. It is how footage and photos on the person's device reach Cardboard; video, audio and photos already attached to the chat go in with add_media instead. Documents such as a brief, script or shot list are not uploaded: the card takes none, and one attached to the chat is read there. On a phone, Photos hands over a copy of a video, which is fine for previews: before export_video, ask whether to replace those clips with their originals, and if so call this with replace for each.
verify_timeline
ChatGPTLint the timeline: overlaps, gaps, off-screen text, clips past their source, missing media.
waveform_image
ChatGPTThe audio of a media file drawn as an image.
waveform_levels
ChatGPTPeak and RMS audio levels (0-1) sampled across a media file; for finding silence, beats or the loudest moment.