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.
Added
- Prompt to video workflow:
POST /v1/workflows/prompt-to-video-clipcreates an editable project from a text prompt and generates one short AI video clip (up to 15 seconds). VideoGen generates an opening frame (optionally guided by referenceimageFileIds), then animates it into a video. AcceptsdurationSeconds(1–15, default 10),aspectRatio, andquality(STANDARD|HIGH). Does not acceptremixActions. Distinct fromPOST /v1/tools/generate-video-clip(standalone clip, no project) and from longer narrated workflows such as script-to-video. - Content outline to video workflow:
POST /v1/workflows/content-outline-to-videocreates a project from a Markdown content outline (outlineMarkdown) and builds a full video from it. OptionalaspectRatioandinputFileIds(uploaded images/videos the agent may use). Returns a workflow run id; poll or use webhooks for completion. Does not acceptremixActions. - Generate motion graphic tool:
POST /v1/tools/generate-motion-graphicgenerates a standalone animated motion graphic from a textprompt(optionalfileIds,durationSeconds1–300,aspectRatio,numResults,isOutputTemporary). Suited to precise text/kinetic animation in a short clip. For longer narrated multi-scene videos, use a video workflow such as script-to-video. - List project exports:
GET /v1/projects/{projectId}/exportsreturns that project’s export ids (vg_expo_...), newest first. Fetch each export withGET /v1/projects/{projectId}/exports/{exportId}. - Export watermark mode:
POST /v1/projects/{projectId}/exportacceptswatermarkMode(NONE|VIDEO_GEN|AUTO, defaultAUTO). The API can export with a VideoGen watermark; setwatermarkModetoNONEonly with the Production API add-on. - Export end-screen mode:
POST /v1/projects/{projectId}/exportacceptsendScreenMode(NONE|VIDEO_GEN|AUTO, defaultAUTO), which appends a short “Made with VideoGen” end screen. Set bothwatermarkModeandendScreenModetoNONE(Production API add-on) to export without them. - Timeline interchange:
POST /v1/projects/{projectId}/timeline-interchangecreates an editable editor timeline from a project instead of a flattened MP4, keeping separate clips, tracks, and captions. Chooseformat(FCPXMLfor Final Cut Pro,PREMIERE_XMLfor Adobe Premiere Pro,OTIOfor OpenTimelineIO, orSRTfor a caption sidecar) andmediaDelivery(REMOTE_URLSlinks signed media URLs;BUNDLEreturns a zip with every referenced file for offline relinking). Returns avg_inte_...job id; pollGET /v1/timeline-interchange/{interchangeJobId}untilstatusissucceededfor the signed download URL and hydratedfile. The SDKs and CLI expose both operations (createTimelineInterchange/getTimelineInterchange, with*AndWaitvariants). - File list include flags:
GET /v1/filesacceptsincludeExportFilesandincludeProjectFiles(defaultfalse). When false, export MP4s and in-project generative files are omitted; setting either totruerequires the Production API add-on. - Pre-computed transcript on upload (Beta):
POST /v1/files/uploadaccepts optionaltranscript(Transcript: timedsegmentswithstartSeconds/endSeconds/text, optionallanguageCode). When set for audio/video, VideoGen skips re-transcription so caption timing can match your transcript. Voiceover-to-video docs note using this on the voiceoverfileId. - Voiceover scene ranges (Beta):
POST /v1/workflows/voiceover-to-videoaccepts optionalscenes(SceneDescriptionRange[]:startSeconds,endSeconds,description) to guide visuals over absolute time ranges. Ranges must be sorted and non-overlapping; omit to let the workflow choose visuals. - Temporary workflow outputs:
isOutputTemporaryonscript-to-video,voiceover-to-video,slideshow-to-video,storyboard-to-video, andprompt-to-video-clip. Whentrue, generated output files (and remix-produced outputs on those runs) are guaranteed for 24 hours, then may be archived/deleted. Project metadata is unaffected. Defaults tofalse. - Lottie file type:
LOTTIEis a validmediaType/ file-type enum value alongside image, video, audio, PDF, slideshow, and text. - Assistant API: conversational, asynchronous access to the VideoGen AI assistant. Start a chat with
POST /v1/assistants(acceptsmessage, plus optionalforceWorkflowSuggestionandautoGenerate); the 202 body returns{ messageId, assistantId, projectId, projectUrl }. Send follow-ups withPOST /v1/assistants/{assistantId}/messagesand act on suggestions/edits withPOST /v1/assistants/{assistantId}/actions/{actionId}(APPROVEorREJECT); those POSTs return{ messageId }. PollGET /v1/assistant/messages/{messageId}untilstatusissucceeded,failed, orcancelled, or subscribe toassistant_message.succeeded/assistant_message.failed/assistant_message.cancelledwebhooks (payload mirrors the assistant message GET). Fetch the full chat withGET /v1/assistants/{assistantId}, which returns every message in chronological order.AssistantMessageis discriminated byrole:usermessages carry the caller’s text and any attachments;assistantmessages carry the reply, optionalworkflowSuggestions, optionalactions(withAssistantActionKind:APPROVE_PLAN,APPLY_EDIT,RUN_TOOL,GENERATE,OPEN_IN_APPand arequiresAppflag), an optionalgenerationworkflow run when the turn kicked off a build, and an optionalerrorwhen it failed. Every API project also exposesassistantIdonProjectResponse. The TypeScript / Python / CLI SDKs expose the operations plusstartAssistantChatAndWait/sendAssistantMessageAndWait/actOnAssistantActionAndWait(*_and_waitin Python) built on a sharedpollAssistantMessage/poll_assistant_messagehelper. - Storyboard entity attachments:
POST /v1/workflows/storyboard-to-videoaccepts structured entity ids alongside scene prompts. Per-sceneactorEntityIdsandproductEntityIdsfeature the referenced entities’ reference images in that scene, and per-scenevisualStyleEntityIdguides its look. Request-levelactorEntityIdsandproductEntityIdsregister project-level entities that stay attached even when no scene references them. Prefer these structured fields over the legacy@[entity:...]mention tokens embedded inprompt/voiceoverScript; mention tokens are still parsed for backward compatibility. - Export delivery destinations:
POST /v1/projects/{projectId}/exportaccepts optionaldeliveryDestinations, an array ofExportDeliveryDestinationreferencing connected integrations. Each destination setsintegrationConnectionIdandtype(slack_channelorgoogle_drive_folder), plus the target-specific field (slackChannelIdorgoogleDriveFolderId). The finished export is delivered to every listed destination in addition to any defaults saved for the team. - SDKs 2.0.0: The TypeScript (
@videogen/sdk), Python (videogen), and CLI (@videogen/cli) clients were rewritten as first-party packages (no longer auto-generated). Each exposes aVideoGenclient with resource namespaces (workflows,tools,projects,files, and so on),*AndWait/*_and_waithelpers that start work and poll to completion, plus shared helpers for uploads, downloads, file hydration, public previews, and webhook verification. Python ships sync and async clients; the CLI mirrors the same operations asvideogen <resource> <command>. - Editor integrations: new companion apps built on the API. An Adobe Premiere Pro panel, a DaVinci Resolve import script, and a dependency-free “send to editor” CLI open a VideoGen project as a native, editable timeline (Final Cut Pro, DaVinci Resolve, and OpenTimelineIO editors). A Canva app and an updated After Effects panel generate assets and insert them into the open document.
- Native app sign-in: an OAuth 2.1 with PKCE relay lets editor integrations that cannot run a loopback redirect (such as the Premiere and Canva panels) sign in with a VideoGen account.
Changed
- Get project export:
GET /v1/projects/{projectId}/exports/{exportId}(summary renamed from “Get project export status”) returns signeddownloadUrl/thumbnailUrlwith*ExpiresAt, plusexportFileIdand hydratedfilewhenstatusissucceeded. Single-export GET re-signs URLs near expiry (24-hour signed URLs). - Tool execution URL signing: Docs for
GET /v1/tools/executionsandGET /v1/tools/executions/{toolExecutionId}clarify that list responses do not re-sign result URLs (checkdownloadUrlExpiresAt), while single-execution GET re-signs near expiry; executions remain retrievable indefinitely. Succeeded results always exposedownloadUrl/thumbnailUrl/ hydratedfilefields (nullable until success). - Storyboard to video always produces video clips. On
POST /v1/workflows/storyboard-to-video, the per-scenegeneration.typefield (AI_IMAGE/AI_VIDEO) is deprecated and ignored: every scene now renders as a video clip, with stills used only as intermediate first frames. Requests that still sendtypeare accepted for backward compatibility.LOWquality is no longer supported for storyboard to video and is rejected; useSTANDARDorHIGH.
Removed
- Breaking:
EDIT_WITH_AGENTremix action removed. Requests with"type": "EDIT_WITH_AGENT"are no longer accepted. Open-ended natural-language editing now runs through the new Assistant API (POST /v1/assistantsto start a chat,POST /v1/assistants/{assistantId}/messagesto continue it, andPOST /v1/assistants/{assistantId}/actions/{actionId}to act on the assistant’s suggestions and edits). For fixed polish steps, use targeted remix actions instead (for exampleENABLE_CAPTIONS/DISABLE_CAPTIONS,ADD_TRANSITIONS,SET_LOGO,SET_BACKGROUND_MUSIC,CONVERT_IMAGES_TO_VIDEOS,REGENERATE_IMAGES,CHANGE_NARRATOR, orTRANSLATE_PROJECT). See Remix actions. Only theEDIT_WITH_AGENTtype and itsprompt/mode/targetDurationSecondsfields are gone; every other remix action is unchanged.