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

# Exports

> Quote, create, prepare, list, inspect, and download rendered karaoke exports

Exports are rendered video artifacts created from a project. Cloud exports run
as async jobs and use credits. Local export preparation returns the server-built
payload needed by a local renderer and does not queue a cloud render.

## Endpoints

| Method | Path                                  | Purpose                                       |
| ------ | ------------------------------------- | --------------------------------------------- |
| `GET`  | `/projects/{projectId}/exports`       | List exports for a project.                   |
| `POST` | `/projects/{projectId}/exports`       | Create a cloud export.                        |
| `POST` | `/projects/{projectId}/exports/quote` | Quote credits for a cloud export.             |
| `POST` | `/projects/{projectId}/exports/local` | Prepare a local export render payload.        |
| `GET`  | `/exports/{exportId}`                 | Fetch one export and its signed download URL. |

Full request and response schemas are in **API reference**.

## Quote a cloud export

```bash theme={null}
curl -X POST https://api.youka.io/api/v1/projects/prj_abc123/exports/quote \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "resolution": "1080p",
    "quality": "high",
    "transparent": false
  }'
```

Use this before `POST /exports` when you need to show the credit cost or check
`sufficientBalance`.

## Create a cloud export

```bash theme={null}
curl -X POST https://api.youka.io/api/v1/projects/prj_abc123/exports \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: export-prj_abc123-1080p" \
  -d '{
    "resolution": "1080p",
    "quality": "high",
    "transparent": false,
    "presetId": "preset_abc123"
  }'
```

The response includes `exportId` and `taskId`. Poll [tasks](/en/api/tasks) or
`GET /exports/{exportId}` until the export reaches a terminal status.

## Prepare a local export

```bash theme={null}
curl -X POST https://api.youka.io/api/v1/projects/prj_abc123/exports/local \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "resolution": "720p",
    "quality": "average",
    "transparent": false
  }'
```

This returns composition inputs, asset URLs, render options, title metadata, and
the suggested output filename. Use it when integrating with a local renderer.

## List and inspect

```bash theme={null}
curl "https://api.youka.io/api/v1/projects/prj_abc123/exports?page=1&pageSize=50" \
  -H "Authorization: Bearer yk_..."
```

```bash theme={null}
curl https://api.youka.io/api/v1/exports/exp_abc123 \
  -H "Authorization: Bearer yk_..."
```

Finished exports include a signed `url`. Download it before the URL expires.

## Export request fields

| Field              | Type                                  | Description                                  |
| ------------------ | ------------------------------------- | -------------------------------------------- |
| `resolution`       | `"540p" \| "720p" \| "1080p" \| "4k"` | Output resolution. Defaults to `1080p`.      |
| `quality`          | `"low" \| "average" \| "high"`        | Encoding quality. Defaults to `average`.     |
| `stemVolumes`      | `Record<string, number>`              | Per-stem volume overrides keyed by stem id.  |
| `playbackRate`     | `number`                              | Speed multiplier from `0.1` to `4`.          |
| `toneFrequency`    | `number`                              | Pitch multiplier from `0.01` to `2`.         |
| `transparent`      | `boolean`                             | Render with a transparent background.        |
| `presetId`         | `string`                              | Apply a preset before rendering.             |
| `settingsOverride` | `object`                              | Patch project settings for this export only. |

## What's next

* [Tasks](/en/api/tasks) - poll export tasks
* [Project settings](/en/api/project-settings) - understand `settingsOverride`
* [SDK exports](/en/sdk/exports) - the same flow in TypeScript
* [CLI exports](/en/cli/exports) - the same flow from the terminal
