What’s new in the VideoGen API. Each entry below covers a single release window with breaking changes, new endpoints, fixes, and SDK updates.
- Subscribe to releases via the RSS feed.
- For machine-readable history, fetch each entry as Markdown by appending
.mdto its URL (for example, /changelog/2026/5/5.md). - For the complete documentation index, see /llms.txt.
v2.0.21 — Built-in catalog entities on the Entities API
GET /v1/entities and GET /v1/entities/{entityId} now include VideoGen’s built-in catalog (stock actors, products, visual styles, and slideshow themes) alongside your team’s entities.
v2.0.20 — Slideshow theme optional for uploaded decks
Slideshow-to-video no longer requires a theme when you are converting an uploaded PDF or PowerPoint’s original pages.
v2.0.19 — Slideshow to video requires a theme
Slideshow-to-video now requires a slideshow theme so every generated slide shares one design system.
v2.0.20 — Entity ids on generate-image
POST /v1/tools/generate-image now accepts optional actor, product, and visual-style entity ids. The model uses them as identity/reference the same way in-app image generation does.
v2.0.21 — Spoken dialogue, start frame, and longer clips on generate-video-clip
POST /v1/tools/generate-video-clip now accepts spokenDialogue (the exact line the subject should speak as native, lip-synced speech) and voiceDescription (how that voice should sound). The model synthesizes the voice from that text. audioFileIds still accepts a reference recording for lip-sync from that file. You can pass spoken text, reference audio, or both.
v2.0.22 — Suppress background music on generate-video-clip
POST /v1/tools/generate-video-clip now accepts suppressBackgroundMusic. When true, the generated clip will not include a musical soundtrack. Spoken dialogue and environmental sound are still allowed. Use this when you will add background music separately, for example at the project level.
v2.0.19 — Add zoom remix action
You can now apply a Ken Burns zoom to every still image in a project with a remix action.
v2.0.18 — Actor entities replace avatar presenters
Avatar generation now uses reusable ACTOR entities exclusively.
v2.0.15 — MCP host attribution
This release lets MCP hosts identify themselves so connected integrations show up correctly in VideoGen.
v2.0.14 — Actor avatars, file controls, CLI OAuth, and motion graphics
This release adds actor-based avatar generation, team file controls, interactive CLI sign-in, and more control over motion graphics. It also expands the agent integration packages and removes several plan restrictions.
v2.0.13 — Assistant request cleanup
This release removes the unsupported workflow-suggestion override from assistant chat creation.
v2.0.11 — MCP OAuth in Cursor
This release fixes MCP OAuth in Cursor so protected tools receive the access token after Sign in with VideoGen.
v2.0.12 — Storyboard Auto duration, ChatGPT MCP deep links, and developer dashboard URL
This release lets storyboard-to-video pick scene lengths automatically, improves the hosted MCP experience in ChatGPT, and updates the in-app URL where you create API keys.
v2.0.9 — Entities API, SDK/CLI coverage, ChatGPT MCP connector, and client cleanup
This release adds the Entities API to the docs and SDKs, ships a ChatGPT MCP connector, expands the MCP tool surface, and removes an unsupported workflow method from the public clients.
v2.0.5 — Timed-word transcripts, script-to-video scene ranges, and assistant API refinements
This release reshapes transcripts around timed words, exposes both the structured transcript and its plain text on file reads, adds caller-provided scene ranges to script-to-video, marks the upload transcript and voiceover scene-range fields as stable, and refines the Assistant API.
v2.0.0 — Prompt-to-video, content outline, motion graphics, and rewritten SDKs
This release adds two workflows and a motion-graphic tool, opens up the VideoGen AI assistant as an asynchronous conversational Assistant API, adds timeline interchange for handing projects off to desktop editors, expands export and file controls (including deliver-on-completion destinations), lets you attach transcripts and scene ranges on voiceover runs, exposes structured entity attachments on storyboard scenes, removes the EDIT_WITH_AGENT remix action, and replaces the TypeScript, Python, and CLI clients with rewritten 2.0.0 packages.
v1.1.8 — Account lookup, run history, opaque project ids, and six new remix actions
This release adds endpoints for verifying your API key and listing past workflow runs and tool executions, fixes project and export ids so responses match the documented vg_proj_... and vg_expo_... format, and ships six new remix actions plus a CLI and MCP server for agents and scripts.
GET /v1/me: return the account and team behind the API key making the request (apiKeyId,apiKeyNickname,email,displayName,teamId). Takes no parameters. Use it as a connection test to confirm a key is valid before wiring up integrations.GET /v1/workflows/runs: list workflow runs started via the API, most recently created first. Cursor-paginated; acceptslimit,cursor, andselfOnly(same contract asGET /v1/projects).GET /v1/tools/executions: list tool executions started via the API, most recently created first. Cursor-paginated; acceptslimit,cursor, andselfOnly.GET /v1/resources/languages: list the languages a project can be translated into. Pass alanguageCodefrom the response to theTRANSLATE_PROJECTremix action. Returns the full catalogue in one response (not paginated).- Six new remix actions:
REGENERATE_IMAGES(re-generate every eligible image in a project),UPSCALE_ASSETS(upscale images and videos in place),CHANGE_NARRATOR(swap the voiceover to a different TTS voice),SHUFFLE_STOCK_VISUALS(replace stock footage clips with fresh matches),GENERATE_MUSIC(generate and set a background music track), andTRANSLATE_PROJECT(translate every piece of text and optionally re-narrate voiceovers in a target language). See Remix actions. - Fix: project and export ids now use the documented opaque format. Responses from
GET /v1/projects, workflow runs, remix calls, and export endpoints now returnvg_proj_...project ids andvg_expo_...export ids instead of raw UUIDs. Path parameters accept both the new opaque ids and legacy raw UUIDs stored from earlier responses. - VideoGen CLI: install
@videogen/cli(npm install -g @videogen/cli) for a self-contained binary generated from the same OpenAPI spec as the SDKs. See CLI. - MCP server for AI agents: point Cursor, Claude Desktop, or any MCP client at the VideoGen MCP server to run the full VideoGen API from an agent session (workflows, media tools, files, exports, and remix). Available as a hosted remote server (recommended, no install) or the local
@videogen/mcppackage. See Use with AI agents.
v1.1.5 — Quality tiers and new remix actions
This release renames the generate-text model field to quality, makes the text-to-speech voice required, adds an image quality tier to the script and voiceover workflows, and introduces three new remix actions. Update your generate-text and text-to-speech calls before upgrading.
- Breaking:
generate-textrenamesmodeltoqualityand adds aMAXtier. Replace themodelfield withquality. Accepted values are nowLOW,STANDARD,HIGH, andMAX(previouslyLOW,STANDARD,HIGH); it still defaults toSTANDARD. - Breaking:
text-to-speechnow requiresvoiceId. Pass avoiceIdfromGET /v1/resources/tts-voices(only voices withsupportsDirectToolExecutionset to true are accepted). The previous default-voice fallback has been removed, so requests withoutvoiceIdnow fail. - Image quality tier on the script and voiceover workflows:
POST /v1/workflows/script-to-videoandPOST /v1/workflows/voiceover-to-videonow acceptquality(LOW,STANDARD, orHIGH, defaults toSTANDARD), the tier used for AI-generated visuals. It only applies whenvisualStyle.typeisAI_IMAGEorENTITY;STOCKfootage is unaffected. - New remix action
RESIZE_PROJECT: change a project’s output aspect ratio and re-flow the video to the new ratio (for example, to a vertical 9:16 social format). See Remix actions. - New remix action
CLEAN_UP_TRANSCRIPT: tighten every transcript in a project by removing filler words and silent pauses, with optionalremoveFillers,removePauses,fillerWords, andminPauseSecondscontrols. - New remix action
CONVERT_IMAGES_TO_VIDEOS: animate every eligible still image into a short AI video clip in place, with optionalmotionPrompt,muteOutputVideos, andqualitycontrols. It runs asynchronously (one clip per image) and is skipped without error when a project has no eligible images.
v1.1.0 — Simpler workflow names and remix-driven edits
This release renames the video workflows to match the VideoGen app, moves caption and logo styling on the script workflow to remix actions, and renames the agent remix action. Update your workflow endpoints and request fields before upgrading.
-
Breaking: workflows renamed to match the app. The video workflow endpoints now use short names:
add-visuals-narrations-and-captions-to-scriptis nowPOST /v1/workflows/script-to-video.add-visuals-and-captions-to-voiceoveris nowPOST /v1/workflows/voiceover-to-video.add-narration-transitions-and-captions-to-slideshowis nowPOST /v1/workflows/slideshow-to-video.
The
workflowTypefield in workflow run responses and webhook payloads now returnsSCRIPT_TO_VIDEO,VOICEOVER_TO_VIDEO, andSLIDESHOW_TO_VIDEO. SDK methods follow the new names (workflows.scriptToVideo,workflows.voiceoverToVideo,workflows.slideshowToVideo). The old paths still accept requests for now but are deprecated and no longer shown in the docs or SDKs; migrate to the new paths. -
Breaking:
script-to-videodropscaptionStyleandlogoFileId. Style captions with anENABLE_CAPTIONSremix action, hide them withDISABLE_CAPTIONS, and add a logo with aSET_LOGOremix action instead. Captions are on by default when you omit remix actions. Thevoiceover-to-videoandslideshow-to-videoworkflows still acceptcaptionStyleandlogoFileIddirectly. See Remix actions. -
Breaking: remix action
VIDEO_EDITOR_AGENTrenamed toEDIT_WITH_AGENT. Update thetypefield on any natural-language edit remix action. Behavior is unchanged. -
Breaking:
generate-musicno longer acceptsdurationSeconds. Music tracks are a fixed length (about 30 seconds), so the field never changed the output and has been removed. Every request is now billed at the fixed 30-second length. RemovedurationSecondsfrom anygenerate-musiccall. -
Set clip length on video clips:
POST /v1/tools/generate-video-clipnow acceptsdurationSeconds, a whole number from 1 to 15 (defaults to 6). For longer, multi-scene, professionally edited videos, use a workflow such asPOST /v1/workflows/script-to-video. -
Documented sound effect duration:
generate-sound-effectacceptsdurationSecondsfrom 1 to 30 (about 10 seconds when omitted). -
List dashboard projects too:
GET /v1/projectsnow acceptsincludeUiProjects. PassincludeUiProjects=trueto include dashboard-created projects alongside API-created ones; it defaults tofalse, so existing calls still return only API-created projects. -
Automatic model selection: the image, video clip, sound effect, and music tools now route each request to the best available model for your inputs and settings, so you don’t pick a model.
v1.0.2 — Video clip reference media and per-team rate limits
This release expands the reference inputs accepted by generate-video-clip and moves rate limiting to a per-team basis. No tools or workflows were removed.
- Breaking:
POST /v1/tools/generate-video-clipreplaces the singlevideoFileIdwithvideoFileIds, an array of up to four reference video file ids. Callers passingvideoFileIdmust rename the field and wrap the value in an array. - Reference audio for video clips:
generate-video-clipnow acceptsaudioFileIds, up to four uploaded audio file ids used for native lip-sync and soundtrack. As before, at least one ofprompt,imageFileIds,videoFileIds, oraudioFileIdsmust be provided, andpromptis optional when any reference media is supplied. - Rate limits are now per team: per-endpoint hourly limits are shared across all API keys belonging to your team rather than scoped to a single key. The limit values are unchanged. See Rate limits.
- Slideshow
slideScriptsis now index-based: inPOST /v1/workflows/slideshow-to-video, each entry maps to the slide at its index, an empty string silences that slide, and fewer entries than slides leaves the remaining slides silent. Pass an empty array ([]) to silence every slide, or omit the field to narrate each slide from its speaker notes. Previously the entry count had to match the slide count exactly or the run failed. - Docs: Reworked the introduction’s “What you can build” into separate Workflows and Tools sections, and split the Workflows guide into a section per workflow, each linking to its endpoint reference.