> ## Documentation Index
> Fetch the complete documentation index at: https://www.vozo.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Publish completed Vozo API videos to YouTube

The YouTube Export API publishes a completed Vozo video task to a connected YouTube channel. You can publish videos from Translate & Dub, Visual Translate, or Lip Sync. The API returns a new **export task ID**; poll the export task until it is `done` or `failed`.

## Before you start

* Connect and authorize your YouTube channel in Vozo. If the connection has expired, reauthorize it before creating an export.
* You need access to the Vozo API, YouTube export enabled for your account, and a Studio plan or higher.
* The source Vozo task must belong to the same user and be complete. Its video file must still be available.
* YouTube publishing is subject to both your account's 24-hour export quota and a system quota.
* Use an API key in the `Authorization: Bearer <api_key>` header.

## Workflow

**1. Get video categories**

Call [List categories](/docs/api_reference/endpoints/youtube_export/categories.md) to obtain a `category_id` valid for your connected channel's region. Only assignable categories are returned.

**2. Create an export**

Call [Create export task](/docs/api_reference/endpoints/youtube_export/create.md) with the completed source task, title, category, and privacy setting. Keep the returned `task_id`: it identifies the **YouTube export**, not the original Vozo task.

**3. Poll the export task**

Call [Get export task](/docs/api_reference/endpoints/youtube_export/get.md) with the export task ID. Once `status` is `done`, use `studio_url` to open the video in YouTube Studio. If it is `failed`, check `error_code`.

## Source tasks and modes

| `task_type` | Supported `source_mode` | Behavior |
| - | - | - |
| `translate_dub` | `initial_output`, `generate_new`, `use_existing` | Publish the original exported video, render the editable project again, or reuse an existing project export. |
| `visual_translate` | `initial_output`, `generate_new`, `use_existing` | Same choices for a Visual Translate video. |
| `lip_sync` | Omit `source_mode` | Always publishes the completed Lip Sync task's initial output. |

For Translate & Dub and Visual Translate, `source_mode` is required when the source task has an editable project. For a non-editable source task, omitting it selects `initial_output`. `generate_new` and `use_existing` require the associated editable project; `use_existing` also requires an existing exported video. `initial_output` requires a video output from the source task.

## Export status

| Status | Meaning |
| - | - |
| `pending` | Export task accepted but not yet started. |
| `processing` | Publishing is in progress. |
| `done` | Publishing completed; `studio_url` is available when YouTube has returned a video ID. |
| `failed` | Publishing failed; `error_code` is present when a failure reason is available. |

> [!NOTE]
>
> These endpoints do not create or authorize a YouTube connection. Complete that setup in Vozo before using the export API.

## Common API errors

| Code | Meaning |
| - | - |
| `1300` | Source or export task was not found. |
| `1601` | YouTube account is not connected. |
| `1602` | YouTube export is disabled for this account. |
| `1603` | Account YouTube export quota is exhausted. |
| `1604` | System YouTube quota is exhausted. |
| `1605` | YouTube connection requires reauthorization. |
| `1710` | Current plan does not meet the Studio-plan requirement. |

For other failures, inspect the response's `code`, `message`, and optional `errors` fields. A publishing task may also reach `failed` after it was created; query its `error_code` for that outcome.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.