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

# Create a timeline interchange

POST https://api.videogen.io/v1/projects/{projectId}/timeline-interchange
Content-Type: application/json

Starts a timeline interchange job that converts a project into an editor interchange document (Final Cut Pro FCPXML, Adobe Premiere Pro XML, OpenTimelineIO, or an SRT caption sidecar). Returns immediately with an interchange job id; the file becomes available when the job completes. Unlike `POST /v1/projects/{projectId}/export` (which renders a flattened MP4), this preserves the project as an editable timeline of separate clips, tracks, and captions so you can keep editing it in a desktop video editor. Choose `mediaDelivery` to control how the document references media: `REMOTE_URLS` produces a single document that links to signed media URLs, while `BUNDLE` produces a zip containing the document plus every referenced media file for durable offline relinking.

Reference: https://docs.videogen.io/rest-api-reference/projects/create-timeline-interchange

## Authentication

- `Authorization` header (bearer token, required) — API key from [app.videogen.io/api](https://app.videogen.io/api). The full key is only shown once when you create it.

## Request

### Path parameters

- `projectId` (string, required) — The project id (e.g. `vg_proj_...`).

### Body (application/json)

This endpoint expects a CreateTimelineInterchangeRequest.

- `format` (enum, optional) — Editor interchange document format. `FCPXML` is Final Cut Pro (also imported by DaVinci Resolve and others). `PREMIERE_XML` is the Final Cut 7 `xmeml` XML that Adobe Premiere Pro imports natively. `OTIO` is OpenTimelineIO, the vendor-neutral format. `SRT` is a SubRip caption sidecar.
  - Allowed values: `FCPXML`, `PREMIERE_XML`, `OTIO`, `SRT`
- `mediaDelivery` (enum, optional) — How the interchange document references media. `REMOTE_URLS` produces a single document that links to signed media URLs. `BUNDLE` produces a zip containing the document plus every referenced media file, referenced by relative path, for durable offline relinking.
  - Allowed values: `REMOTE_URLS`, `BUNDLE`

## Response

### 202

Timeline interchange accepted.

- `interchangeJobId` (string, required) — Opaque timeline interchange job id (e.g. `vg_inte_...`). Poll `GET /v1/timeline-interchange/{interchangeJobId}` for completion.

## Examples

**Request**

```json
{
  "format": "FCPXML",
  "mediaDelivery": "BUNDLE"
}
```

**Response**

```json
{
  "interchangeJobId": "vg_inte_5cIo9qS3tZ6yN2wM4uD8xe"
}
```

**SDK Code**

```typescript
import { VideoGen } from "@videogen/sdk";

const client = new VideoGen({ apiKey: "sk_videogen_live_..." });

await client.projects.createTimelineInterchange({
  projectId: "vg_proj_9dTk3mQ1rZ7xP4vN2sB6wc",
  format: "FCPXML",
  mediaDelivery: "BUNDLE",
});
```

```python
from videogen import VideoGen

client = VideoGen(api_key="sk_videogen_live_...")

client.projects.create_timeline_interchange(
    project_id="vg_proj_9dTk3mQ1rZ7xP4vN2sB6wc",
    format="FCPXML",
    media_delivery="BUNDLE",
)
```