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

# Node.js SDK

> Automate Youka from Node.js and Bun with the official TypeScript SDK

`@youka/sdk` is the official TypeScript SDK for the Youka API. Use it to create karaoke from audio or video, customize lyrics and styling, export MP4 videos, and build Youka workflows into Node.js or Bun apps.

## Install

<CodeGroup>
  ```bash npm theme={null}
  npm install @youka/sdk
  ```

  ```bash pnpm theme={null}
  pnpm add @youka/sdk
  ```

  ```bash yarn theme={null}
  yarn add @youka/sdk
  ```

  ```bash bun theme={null}
  bun add @youka/sdk
  ```
</CodeGroup>

## Requirements

* Node.js 20 or later, or Bun 1.1+
* A Youka API key in `YOUKA_API_KEY` (create one at [online.youka.io/account](https://online.youka.io/account) under **API keys**)

## Quick example

```ts theme={null}
import { YoukaClient } from "@youka/sdk";

const client = new YoukaClient({
  apiKey: process.env.YOUKA_API_KEY!,
});

const operation = await client.projects.create({
  source: { type: "path", path: "./song.mp3" },
  lyricsSource: { type: "transcribe" },
});

const { project } = await client.projects.wait(operation);
console.log(project.id, project.title);
```

## Reference

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/en/sdk/quickstart">
    End-to-end example: create, wait, export, download.
  </Card>

  <Card title="Authentication" icon="key" href="/en/sdk/authentication">
    Configure `YoukaClient` and handle API keys safely.
  </Card>

  <Card title="Account, credits, and billing" icon="credit-card" href="/en/sdk/account-billing">
    Identity, balance, pricing, checkout, and billing portal helpers.
  </Card>

  <Card title="Projects" icon="folder" href="/en/sdk/projects">
    Uploads, creation, listing, and deletion.
  </Card>

  <Card title="Stems" icon="waveform-lines" href="/en/sdk/stems">
    Trigger stem separation tasks.
  </Card>

  <Card title="Lyrics sync" icon="closed-captioning" href="/en/sdk/lyrics-sync">
    Re-run lyrics synchronization.
  </Card>

  <Card title="Exports" icon="file-video" href="/en/sdk/exports">
    Cloud and local export workflows.
  </Card>

  <Card title="Tasks" icon="list-check" href="/en/sdk/tasks">
    Inspect tasks and wait for completion.
  </Card>

  <Card title="Presets" icon="palette" href="/en/sdk/presets">
    Reusable render configurations.
  </Card>

  <Card title="Media" icon="image" href="/en/sdk/media">
    Upload backgrounds, logos, and intros.
  </Card>

  <Card title="Project settings" icon="sliders" href="/en/sdk/project-settings">
    Project-level render settings.
  </Card>

  <Card title="Errors" icon="triangle-exclamation" href="/en/sdk/errors">
    `YoukaRequestError` and `YoukaTaskError`.
  </Card>
</Columns>

## What's next

* [Quickstart](/en/sdk/quickstart) — the shortest path to a finished karaoke
* [API reference](/en/api) — every endpoint, auto-generated from OpenAPI
* [AI agents](/en/agents) — operating rules for agent authors
