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 .md to 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; accepts limit, cursor, and selfOnly (same contract as GET /v1/projects).
  • GET /v1/tools/executions: list tool executions started via the API, most recently created first. Cursor-paginated; accepts limit, cursor, and selfOnly.
  • GET /v1/resources/languages: list the languages a project can be translated into. Pass a languageCode from the response to the TRANSLATE_PROJECT remix 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), and TRANSLATE_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 return vg_proj_... project ids and vg_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/mcp package. 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-text renames model to quality and adds a MAX tier. Replace the model field with quality. Accepted values are now LOW, STANDARD, HIGH, and MAX (previously LOW, STANDARD, HIGH); it still defaults to STANDARD.
  • Breaking: text-to-speech now requires voiceId. Pass a voiceId from GET /v1/resources/tts-voices (only voices with supportsDirectToolExecution set to true are accepted). The previous default-voice fallback has been removed, so requests without voiceId now fail.
  • Image quality tier on the script and voiceover workflows: POST /v1/workflows/script-to-video and POST /v1/workflows/voiceover-to-video now accept quality (LOW, STANDARD, or HIGH, defaults to STANDARD), the tier used for AI-generated visuals. It only applies when visualStyle.type is AI_IMAGE or ENTITY; STOCK footage 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 optional removeFillers, removePauses, fillerWords, and minPauseSeconds controls.
  • New remix action CONVERT_IMAGES_TO_VIDEOS: animate every eligible still image into a short AI video clip in place, with optional motionPrompt, muteOutputVideos, and quality controls. 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-script is now POST /v1/workflows/script-to-video.
    • add-visuals-and-captions-to-voiceover is now POST /v1/workflows/voiceover-to-video.
    • add-narration-transitions-and-captions-to-slideshow is now POST /v1/workflows/slideshow-to-video.

    The workflowType field in workflow run responses and webhook payloads now returns SCRIPT_TO_VIDEO, VOICEOVER_TO_VIDEO, and SLIDESHOW_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-video drops captionStyle and logoFileId. Style captions with an ENABLE_CAPTIONS remix action, hide them with DISABLE_CAPTIONS, and add a logo with a SET_LOGO remix action instead. Captions are on by default when you omit remix actions. The voiceover-to-video and slideshow-to-video workflows still accept captionStyle and logoFileId directly. See Remix actions.

  • Breaking: remix action VIDEO_EDITOR_AGENT renamed to EDIT_WITH_AGENT. Update the type field on any natural-language edit remix action. Behavior is unchanged.

  • Breaking: generate-music no longer accepts durationSeconds. 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. Remove durationSeconds from any generate-music call.

  • Set clip length on video clips: POST /v1/tools/generate-video-clip now accepts durationSeconds, a whole number from 1 to 15 (defaults to 6). For longer, multi-scene, professionally edited videos, use a workflow such as POST /v1/workflows/script-to-video.

  • Documented sound effect duration: generate-sound-effect accepts durationSeconds from 1 to 30 (about 10 seconds when omitted).

  • List dashboard projects too: GET /v1/projects now accepts includeUiProjects. Pass includeUiProjects=true to include dashboard-created projects alongside API-created ones; it defaults to false, 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-clip replaces the single videoFileId with videoFileIds, an array of up to four reference video file ids. Callers passing videoFileId must rename the field and wrap the value in an array.
  • Reference audio for video clips: generate-video-clip now accepts audioFileIds, up to four uploaded audio file ids used for native lip-sync and soundtrack. As before, at least one of prompt, imageFileIds, videoFileIds, or audioFileIds must be provided, and prompt is 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 slideScripts is now index-based: in POST /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.