# YouTube Generator — what you can do

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run pnpm skills:sync. -->

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run `pnpm skills:sync`. -->

# YouTube Generator — what you can do

`/admin/d/yt-studio` · pillar `apps`

Adapter-based AI YouTube video generation — pick a generator (fall-asleep + more), describe an idea, and get a publish-ready video with voice, visuals, captions, thumbnail & SEO. Renders run as durable jobs you can leave and come back to.

## Tabs

Every one is a real URL. A tab with its own section below carries a real job.

| Tab | Path | Group | What it is for |
|---|---|---|---|
| `generators` | `/admin/yt-studio` | - | - |
| `jobs` | `/admin/yt-studio/jobs` | - | - |
| `channels` | `/admin/yt-studio/channels` | - | - |
| `planner` | `/admin/yt-studio/planner` | - | - |

## Tools an agent can call here

These are **live page capabilities**: they exist only while that surface is open, and they
call the page's own mutators, so a change made through one is a change the operator can see. A tool
missing from this list is not callable — reach for the API or an adapter instead.

### `yt-studio:generator:…` — YouTube Generator — …

Source: `yt-studio/model/useGeneratorCapabilities.js`

What the page tells an agent about itself:

> The user is on the "${generator?.label || type}" YouTube video generator (${generator?.aspect || '16:9'}).
>
> To make a video, call generate_video with a topic (and optional minutes/voice). It queues a durable render the user can watch or leave; use get_current_job to report the stage/progress and, when done, the preview URL + publish-ready SEO.
>
> You can set_field (e.g. topic, minutes) or set_voice first. Report exactly what you did.

| Tool | Args | Does |
|---|---|---|
| `describe_generator` | — | Read the current YouTube generator: its type, label, aspect ratio, the input fields, and the current form values + selected voice. Call this first. |
| `get_current_job` | — | Report the current render job on this page: its status, stage and progress, and — when done — the preview video URL, thumbnail and publish-ready SEO (title/description/tags). |
| `set_field` | `name` `value` | Set an input field on the generator form (e.g. name "topic" or "minutes") before generating. |
| `set_voice` | `provider` | Choose the voice: "auto" (best available), "openai", "elevenlabs", or "say" (offline system voice). |
| `generate_video` | `topic` `minutes` `voice` | Generate a video NOW with the given topic (and optional minutes / voice). Starts a durable render job on the server — you can leave the page and it keeps going. Then call get_current_job to report progress and, when done, the video URL + SEO. |

## API

Mounted prefixes that serve this domain: `/api/yt-studio`

The full route table is `leumas-capabilities/reference/api-routes.md`.



---
Source: .claude/skills/leumas-studio/reference/domains/yt-studio.md
Canonical: https://docs.leumas.tech/p/skills/leumas-studio/domains/yt-studio
