v2.5.0 — Video to video
Restyle an existing video from a text prompt with POST /v1/workflows/video-to-video. Pass an uploaded video or a public link, and the output keeps the original’s length, timing, and cuts. The workflow is available to every account in the SDKs, CLI, MCP, the Zapier, Make, n8n, and Pipedream apps, OpenClaw, and the Python agent framework packages. This release also ends export polling cleanly when a finished export’s file is gone, and checks the full cost of large remix batches before they start.
Added
- Video to video workflow:
POST /v1/workflows/video-to-videotakes apromptand exactly one source:videoFileIdfor an uploaded video, orvideoUrlfor a public link to a video page or video file. The run imports a link itself, so there is no separate import step. Up to 120 seconds is restyled per run; choose the part withtrimStartSecondsandtrimEndSeconds. Optional fields areimageFileIds(up to 10 reference images),aspectRatio,quality(LOW,STANDARD,HIGH, orMAX; defaults toHIGH),audio(KEEP_ORIGINALorGENERATE),remixActions,autoExport, andisOutputTemporary. Private, login-only, and DRM-protected links cannot be imported. Credit use grows with the restyled length and the quality tier. - SDKs and CLI: TypeScript
workflows.videoToVideo/videoToVideoAndWait, Pythonworkflows.video_to_video/video_to_video_and_wait, andvideogen workflows video-to-video. - MCP: a
video_to_videotool. PassvideoFileIdfromupload_file, or a publicvideoUrlthat the run imports itself. It waits for the finished render by default. - Automation apps: a video-to-video action in Zapier, Make, n8n, and Pipedream. Map
videoFileIdfrom the upload step, or pass a publicvideoUrl. - Agent frameworks: a
video_to_videotool in the OpenClaw plugin and in the LangChain, LlamaIndex, CrewAI, OpenAI Agents, Pydantic AI, and Composio packages. - Import a file from a link:
POST /v1/files/import-urlstarts importing a video from a public link into your files and returns afileImportId. PollGET /v1/files/imports/{fileImportId}untilstatusissucceeded, then use itsfileIdanywhere a video file id is accepted. Videos up to 10 minutes long can be imported.
Changed
- Remix batches are priced before they start: A remix action that generates or transforms many assets, such as
CONVERT_IMAGES_TO_VIDEOS, now checks its full cost before any generation begins. If your balance cannot cover it, the action is refused up front instead of failing partway through. - MCP tool metadata: Every MCP tool now declares whether repeating a call is safe, and the server reports its title, description, website, and icon to clients that display them.
Fixed
- Exports whose file was deleted:
GET /v1/projects/{projectId}/exports/{exportId}now returnsstatus: "failed"witherror.codeexport_file_unavailablewhen a finished export’s file has since been deleted. Before, it returnedsucceededwith a nulldownloadUrl, so pollers never stopped. Start a new export to get a download link. A workflow run in this state keeps itsexportIdwith null download fields. - Export on the wrong project: When the
exportIdbelongs to another of your projects, the404message now says so and tells you to use theprojectIdyou passed when starting the export. The status andcode(not_found) are unchanged.