> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.videogen.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.videogen.io/_mcp/server.

## 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 a `workflowRunId` (`vg_work_...`), the created `projectId`, and a `projectUrl` for 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`) and `POST /v1/workflows/runs/{workflowRunId}/cancel` to 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. Pass `selfOnly=true` to 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 optional `quality` (`STANDARD`, `HIGH`, `FULL_HIGH`, `ULTRA_HIGH`).
    - `GET /v1/projects/{projectId}/exports/{exportId}`: poll export status; the response includes a signed `downloadUrl` and `thumbnailUrl` when `status` is `succeeded`.
- **Workflow webhook events:** New `workflow_run.succeeded`, `workflow_run.failed`, and `workflow_run.cancelled` events for any workflow run started via the API. Payloads include `workflowRunId`, `workflowType`, `projectId`, `projectUrl`, and (on failure) an `error`. Subscribe via `POST /v1/webhooks/endpoints`.
- **File uploads support PDF and slideshow types:** `POST /v1/files/upload` now accepts `type: PDF` and `type: SLIDESHOW` alongside `IMAGE`, `VIDEO`, and `AUDIO`. Use these to upload source files for the slideshow workflow.
- **Music generation:** New `POST /v1/tools/generate-music` tool. Describe genre, mood, instrumentation, and tempo in `prompt` to generate background music; the response shape matches other tool endpoints (returns a `toolExecutionId`; poll or subscribe to webhooks for the resulting `AUDIO` file).
- **3D motion effect:** New `POST /v1/tools/image-3d-effect` tool. Takes an `imageStorageFileId` and 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](https://docs.videogen.io). Product naming simplified from "VideoGen Developer API" to "VideoGen API" across docs, READMEs, and SDK metadata. Old `videogen.docs.buildwithfern.com` URLs redirect.
- **Agent / LLM docs:** Pushed the Fern Agent Score to 100/100. `llms.txt` now lists every sitemap page (54/54, including the new workflows page and per-event webhook pages), the changelog has a dedicated overview so `/changelog.md` no longer 404s, and HTML/markdown parity warnings on AI-agent reference pages are resolved.
- **SDK example apps:** TypeScript `ai-social-content` and Python `ai-image-editor` example apps updated to the v1 SDKs and republished.