> 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.

## 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.

### Added

- **Entities API:** Create and manage reusable characters, products, and visual styles:
  - `GET` / `POST /v1/entities` (list / create; filter list by `entityType`: `ACTOR` | `PRODUCT` | `VISUAL_STYLE`)
  - `GET /v1/entities/{entityId}`
  - `POST /v1/entities/{entityId}/update`
  - `POST /v1/entities/{entityId}/archive`
  - `POST /v1/entities/{entityId}/references` and `POST /v1/entities/{entityId}/references/remove` (attach or detach reference images uploaded via `POST /v1/files/upload`)
  Entity ids use the `vg_enti_...` prefix. Use an entity in a workflow with `visualStyle: { type: "ENTITY", entityId }` (for `VISUAL_STYLE`) or the structured storyboard attachment fields where available.
- **Entities in the TypeScript, Python, and CLI clients:** `@videogen/sdk`, `videogen`, and `@videogen/cli` expose an `entities` resource with `listEntities`, `createEntity`, `getEntity`, `updateEntity`, `archiveEntity`, `addEntityReference`, and `removeEntityReference` (CLI: `videogen entities …`).
- **MCP:** The hosted MCP server now includes workflows, media tools, projects, files, entities, assistant, resources, and account tools. Connect with Sign in with VideoGen OAuth; see [MCP server](/libraries/mcp).- **Docs:** `llms.txt` and the API reference now cover Entities, Assistant routes, timeline interchange, supported languages, and `assistant_message.*` webhook events. Export docs document both `watermarkMode` and `endScreenMode` (set both to `NONE` with the Production API add-on to drop VideoGen branding).

### Changed

- **Breaking (SDKs / CLI only): `contentOutlineToVideo` removed.** TypeScript, Python, and the CLI no longer expose `contentOutlineToVideo` / `content_outline_to_video` / `content-outline-to-video`. Prefer `POST /v1/workflows/prompt-to-video-clip` or a narrated workflow such as script-to-video. Update any code that imported the removed methods.
- **Fix: API key creation when no team is selected.** Creating a developer API key no longer fails when no team is selected. Keys are attributed to your active team (or your personal team when needed).
- **Signed download URLs last 7 days.** Fresh `downloadUrl` / `thumbnailUrl` values (and matching `*ExpiresAt` fields) are valid for 7 days from when they were signed (previously 24 hours). Single-resource GETs still re-sign automatically when a URL is within an hour of expiring. Temporary files (`isTemporary` / `isOutputTemporary`) remain guaranteed for 24 hours only.