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.
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: install
@videogen/mcpand point Cursor, Claude Desktop, or any MCP client at it to run the full VideoGen API from an agent session (workflows, media tools, files, exports, and remix). 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.
v1.0.1 — Cursor pagination on every list endpoint
All collection-returning endpoints now use a uniform cursor-based pagination contract. Responses still include the original array field (no rename), so v1 SDKs and existing callers keep working unchanged. Pagination is additive: two new fields (hasMore, nextCursor) and two new query params (limit, cursor) per endpoint.
GET /v1/projects: now returns{ projects, hasMore, nextCursor }. Acceptscursoralongside the existinglimit(1-200, default 50) andselfOnly. Previously capped silently at 200; full history is now reachable by paging.GET /v1/files: now returns{ files, hasMore, nextCursor }and acceptslimit(1-200, default 50) andcursor. Previously capped silently at 500.GET /v1/resources/avatar-presentersandGET /v1/resources/tts-voices: now returnhasMore/nextCursorand acceptlimit/cursor.GET /v1/webhooks/endpoints: now returnshasMore/nextCursorand acceptslimit/cursor.
v1.0.0 — Workflows, projects, and exports
First stable release of the VideoGen API. v1 adds end-to-end video workflows, project read access, MP4 export, and a music generation tool. No endpoints from v0.0.35 were removed or renamed; existing tool requests, webhooks, and file endpoints continue to work unchanged.
- Workflows: New
/v1/workflows/*endpoints that create a project and generate a finished video in a single call. Each call returns aworkflowRunId(vg_work_...), the createdprojectId, and aprojectUrlfor opening the project in the VideoGen app.POST /v1/workflows/script-to-video: turn a topic, idea, or full script into a narrated video.POST /v1/workflows/voiceover-to-video: take an uploaded voiceover audio file and add matching visuals and captions.POST /v1/workflows/slideshow-to-video: take an uploaded PDF or PowerPoint and generate an AI-narrated walkthrough.POST /v1/workflows/ai-video-clip: generate a short AI video clip from a prompt and up to four optional reference images (imageFileIds, capped at 4).GET /v1/workflows/runs/{workflowRunId}for status (pending,running,succeeded,failed,cancelled) andPOST /v1/workflows/runs/{workflowRunId}/cancelto stop an in-flight run.
- Projects: New
/v1/projects/*endpoints for reading and exporting projects created via workflows.GET /v1/projects: list the most recently updated API-created projects. PassselfOnly=trueto restrict results to the calling API key’s user; otherwise all API-created projects for the team are returned. Dashboard-created projects are excluded.GET /v1/projects/{projectId}: simplified project metadata (title, aspect ratio, status, URL, timestamps).POST /v1/projects/{projectId}/export: start an MP4 export with an optionalquality(STANDARD,HIGH,FULL_HIGH,ULTRA_HIGH).GET /v1/projects/{projectId}/exports/{exportId}: poll export status; the response includes a signeddownloadUrlandthumbnailUrlwhenstatusissucceeded.
- Workflow webhook events: New
workflow_run.succeeded,workflow_run.failed, andworkflow_run.cancelledevents for any workflow run started via the API. Payloads includeworkflowRunId,workflowType,projectId,projectUrl, and (on failure) anerror. Subscribe viaPOST /v1/webhooks/endpoints. - File uploads support PDF and slideshow types:
POST /v1/files/uploadnow acceptstype: PDFandtype: SLIDESHOWalongsideIMAGE,VIDEO, andAUDIO. Use these to upload source files for the slideshow workflow. - Music generation: New
POST /v1/tools/generate-musictool. Describe genre, mood, instrumentation, and tempo inpromptto generate background music; the response shape matches other tool endpoints (returns atoolExecutionId; poll or subscribe to webhooks for the resultingAUDIOfile). - 3D motion effect: New
POST /v1/tools/image-3d-effecttool. Takes animageStorageFileIdand returns a short video clip with a 3D parallax motion effect that simulates camera movement through the scene. - Hosted docs moved to a custom domain: API reference and guides now live at docs.videogen.io. Product naming simplified from “VideoGen Developer API” to “VideoGen API” across docs, READMEs, and SDK metadata. Old
videogen.docs.buildwithfern.comURLs redirect. - Agent / LLM docs: Pushed the Fern Agent Score to 100/100.
llms.txtnow lists every sitemap page (54/54, including the new workflows page and per-event webhook pages), the changelog has a dedicated overview so/changelog.mdno longer 404s, and HTML/markdown parity warnings on AI-agent reference pages are resolved. - SDK example apps: TypeScript
ai-social-contentand Pythonai-image-editorexample apps updated to the v1 SDKs and republished.
v0.0.35 — Consolidated image and video generation tools
- Breaking: Consolidated image and video generation into two tool endpoints:
POST /v1/tools/generate-image(text and/or reference images) andPOST /v1/tools/generate-video-clip(text prompt, reference images, and/or a source video). Replaces the separateprompt-to-image,image-to-image,prompt-to-video-clip,image-to-video-clip, andvideo-to-video-cliproutes. Other route renames:prompt-to-sound-effect→generate-sound-effect,audio-to-avatar-clip→generate-avatar,generate-tts→text-to-speech,remove-image-bg→remove-image-background,remove-video-bg→remove-video-background. - Watermark: New optional
watermarkModeon generation requests (AUTO,VIDEO_GEN,NONE).NONErequires the Production API add-on; otherwise the API returns a documented error. - Files:
POST /v1/files/{fileId}/archivearchives a file (setsarchived_at); archived files are omitted from list results. - Fix:
generate-imageandgenerate-video-clipexecutions now apply referenceimageFileIds/videoFileIdinputs end-to-end (previously ignored in some paths). - SDKs & examples: Example apps publishing flow, SDK custom-helper layout under language packages, TypeScript-based SDK generate/publish/validate scripts, and an Examples page in the docs.
- Agent / LLM docs: Expanded
llms.txtand<llms-only>parity so markdown exports include the same examples as tabbed guide pages (REST overview, webhook payloads, changelog, and key guides). - Agent / LLM docs: Fixed
llms.txtto use doc paths (/rest-api-reference/...,/webhook-events/webhook-events/...), list every sitemap page (including Examples and archive-file), remove non-doc same-origin links that broke agent checks, and setdynamic-snippets/ai-examplestofalseso HTML and markdown exports stay aligned for API reference pages.
v0.0.24 — Shorter resource IDs and multi-image inputs
- Breaking:
POST /v1/tools/image-to-imagenow acceptsimageStorageFileIds(an array) instead ofimageStorageFileId(a single string). Pass one or more source image IDs to combine or transform multiple inputs in a single call. - Libraries & SDKs docs: Added dedicated TypeScript and Python documentation pages with client setup, polling, file upload/download, and webhook verification examples
- Shorter IDs: All resource IDs (
vg_file_*,vg_tool_*,vg_work_*,vg_voic_*,vg_pres_*) now use a compact URL-safe format - SDK helpers sync: Custom helper functions (
pollExecutedTool,uploadFile,downloadFile,getHydratedFile,verifyWebhookSignature) are now correctly bundled in both the TypeScript and Python SDK packages - Fixed credit deduction for API-initiated video exports
v0.0.19 — Renamed candidates to results and expanded docs
- Renamed
candidatestoresultsin tool execution responses for clarity - Added MIT license to SDK packages
- Fixed nullable storage type issues in OpenAPI spec
- API playground available in the docs for testing endpoints directly
- Added webhook events reference, errors page, rate limits documentation, and changelog
v0.0.15 — Webhooks, file uploads, and semantic search
- Webhooks: Added
POST /v1/webhooks/endpointsandDELETE /v1/webhooks/endpoints/{id}for managing webhook subscriptions - File upload webhooks: New
file.*event types (file.upload.completed,file.playback_ready,file.download_ready,file.analysis_completed,file.analysis_failed) - File uploads: Added
POST /v1/files/uploadfor uploading your own media via the API - File search: Added
POST /v1/files/searchfor semantic search across generated and uploaded files - Public preview: Added
enable-public-previewanddisable-public-previewendpoints for files - Improved storage file schema with nullable fields and proper type annotations
- Python SDK (
videogen) published to PyPI
v0.0.11 — New image, video, and background-removal tools
- Added
image-to-imageandvideo-to-video-cliptool endpoints - Added
numCandidatesparameter to generate multiple results per request - Added
vectorize-image,remove-image-background, andremove-video-backgroundtool endpoints - Generic route helper for consistent error handling across all endpoints
- Cursor skill for using the VideoGen API with AI agents
- Documentation fixes and slug improvements
v0.0.7 — Tool type renames and image/video upscaling
- Breaking: Renamed all
GENERATE_*tool types toPROMPT_TO_*andGENERATE_VOICEOVERtoTEXT_TO_SPEECH - Added
upscale-imageandupscale-videotool endpoints - Wired tools and files to production, making the API fully functional
- External documentation linked from SDK README
v0.0.6 — Alpha release
First public release of the VideoGen API and TypeScript SDK (@videogen/sdk).
- OpenAPI spec and SDK generation pipeline
- Fern-powered documentation site
- Tool endpoints:
prompt-to-image,prompt-to-video-clip,text-to-speech,prompt-to-sound-effect,audio-to-avatar-clip - File management: list, get, and hydrate generated files
- Bearer token authentication