# Get started with your AI agent

> From zero to a first published video with an AI agent: the prompt to paste, what only you do (accounts, keys, channel, license), the first test Short, two-step publishing and how to learn from the insights.

Source: https://praeko.app/docs/en/get-started-with-agent

Node 22 or newer · Nothing publishes without your yes · Remotion is not MIT

You open your AI agent in an empty folder and paste **one prompt**. The agent creates the project, checks the machine, runs your brand interview, builds the first video and prepares publishing. **You only approve and do what only you can do**: create the account, store keys, connect the channel and accept the license. This page is the route; the details of each piece are on the pages it links to.

## 0. Who it is for and what the agent needs

| You have | Path | What to use |
|---|---|---|
| An agent **with a terminal** (shell) | CLI | The agent runs `praeko studio …` and does everything, from the project to the render. This is the path of this guide. |
| An agent **without a terminal** (for example, Claude Desktop without a shell) | Local MCP | The [`@praeko/studio-mcp`](https://praeko.app/docs/en/studio/mcp) server runs on your machine and does the steps with tools (`studio_new_episode`, `studio_render`…). It **never publishes**. |

On both paths, **the remote `praeko` MCP server publishes** ([`praeko.app/mcp`](https://praeko.app/docs/en/mcp)), always in two steps: the preview and the `confirm`. They are two servers with different roles: the local one (`praeko-studio`) creates and renders the video; the remote one (`praeko`) looks at your account, uploads the media and publishes. Connect your agent to the remote one from its page in [AI agents](https://praeko.app/docs/en/agents).

On the machine: Node 22, `ffmpeg` and Chrome (`praeko studio doctor` checks and says how to fix; see the [Studio requirements](https://praeko.app/docs/en/studio#requisitos)). The agent, the voice and the render are on you; Praeko neither bills nor brokers the agent.

> **Video engine license** **Remotion**, the default engine, is not MIT: free for individuals and companies of up to 3 people; above that it needs a license. HyperFrames (`--engine hyperframes`) is Apache-2.0. Read [Licenses](https://praeko.app/docs/en/studio#licencas) before the first render.

## 1. The starting prompt

Create an empty folder, open the agent in it and paste the prompt below, replacing what is between `<` and `>` with your answers. The agent creates the project with `init --yes` (no questions in the terminal), runs `doctor`, runs the brand interview **by talking** and **never asks for or reads keys**.

**Prompt to paste into the agent**

```text
You will take me from zero to the first video of my channel with Praeko Studio, in this empty folder. Do everything you can yourself. Rules:
- Never ask for, read or print keys (voice, Praeko or any network). If a key is needed, tell me the command to run in MY terminal.
- Do not spend voice credit or publish anything without my yes, after showing me what will happen.
- If you have no terminal, stop and tell me: the path without a terminal uses the local Studio MCP server.

1. Ask which AI agents I use (it can be more than one, for example claude,codex) and pass the list in --agent. Then create the project (use my answers below; leave out what I do not know):
   npx @praeko/studio@latest init <folder> --yes --agent <agents-i-use> --name "<channel name>" --handle "@<handle>" --lang en --about "<what the channel is about>" --audience "<who it is for>" --tone "<tone of voice>" --accent "#f4b942" --background "#14110f" --font "Arial Black"
2. Go into the folder and run `praeko studio doctor` (if the `praeko` command does not exist, use `npx praeko-studio doctor`). Explain anything missing (Node 22, ffmpeg, Chrome, fonts) and how to fix it.
3. Read the project instructions. If `brief.md` does not exist, or `playbook.md` still has TODO, run the brand interview BY TALKING: one short question at a time, all skippable (name, audience, tone, colors, font, up to 3 references, voice: only the nickname and the provider). Write `brief.md` and `playbook.md` and adjust `brand.json`. Tell me what you filled in.
4. Stop and hand me the list of what ONLY I can do (Praeko account and key, voice key, channel, license notice), with the exact commands. After my "done", go on to the first video.
```

Each answer becomes an `init` flag: `--name`, `--handle`, `--lang`, `--about`, `--audience`, `--tone`, `--accent`, `--background`, `--font`. If you already have a brand folder with tokens, use `--brand <folder>`. Whatever is left out, the agent asks in the conversation and writes to `brief.md`, `playbook.md` and `brand.json`. Studio's instructions for your agent (the *skill*) are written by `--agent`; see [Instructions for your agent](https://praeko.app/docs/en/studio#agents).

## 2. What only you do

The agent prepares the list and the commands; **you run them in your own terminal** (not in the agent's chat: some clients let you run a command with `!`, but check yours). No key goes through the conversation.

### Praeko account and key

- Sign in at `praeko.app` with Google and create a key under **Developers, API keys**. The recommended scope is **`write`**: it uploads media and creates posts, without touching keys or webhooks. See [Authentication and scopes](https://praeko.app/docs/en/auth#scopes). Praeko is a closed beta today: the [waitlist](https://praeko.app/#lista) gives access.
- Store the key without showing it to the agent: keep it in the `PRAEKO_KEY` variable of your terminal (from a password manager, not written in a project file) and run `echo $PRAEKO_KEY | praeko studio schedule --via praeko --key`, which stores it in the macOS Keychain or the secrets file. If you use the remote MCP server through sign-in (OAuth) you do not need it to publish.

### Voice key (only for the final voice)

The first video uses a draft voice and **needs no key**. For the final voice, use **your own voice** (or one you are authorized to use) on your own ElevenLabs account. In your terminal:

**In your terminal (the command asks for the key without showing it)**

```bash
praeko studio voice account add principal --voice my-voice --voice-id <YOUR_VOICE_ID>
praeko studio voice balance
```

Another way is `echo $ELEVENLABS_API_KEY | praeko studio voice config key elevenlabs/principal`. See [Keys and costs](https://praeko.app/docs/en/studio#chaves).

### Channel and license

- **Connect the channel** (YouTube, Instagram or TikTok) under **Channels** in the panel: signing in to the networks is yours, the agent does not do it. All three networks still depend on the apps' approvals (Meta and TikTok): if a connection does not show up or TikTok only publishes as a draft, that is today's limit. YouTube goes up private and scheduled.
- **Accept the license notice**: `praeko studio licenses --accept` records that you read it (`praeko studio docs licenses` shows the text).

## 3. The first video

With the project ready and the list above done, ask for a test Short. The voice is a draft (estimated and silent, free, no network), so nothing is spent; `check` warns that it is not for real publishing, and that is expected.

**Prompt for the first video**

```text
Make a test Short of about 30 seconds about <TOPIC> in this Praeko Studio project. Read the project instructions, brief.md and playbook.md, and run `praeko studio docs episode-yaml` before writing the YAML.
1. Create the episode: `praeko studio new my-test --title "<title>"`. Write the script (script.txt) and show it to me. Go on only after my yes.
2. Draft silent voice, which costs nothing: `praeko studio voice my-test --quality draft`. Do not use `--quality final`: it spends characters from my voice account and only with my yes.
3. Write the scenes in episode.yaml and run, in this order: `praeko studio compile my-test`, `praeko studio check my-test`, `praeko studio render my-test --scale 0.5`, `praeko studio contact-sheet my-test` (look at the image and fix what is wrong), `praeko studio cover my-test` and `praeko studio package my-test`.
4. Show me the package to approve: the script, the contact sheet, the cover, the texts.md of each network and the check warnings (the draft voice is expected). Publish nothing.
```

What you approve here: the **script** (before any spend), the **frame mosaic** (`contact-sheet`), the **cover** and the `texts.md` of each network. For the final voice, the agent shows the text and the balance (`praeko studio voice balance`) and waits for your yes before `--quality final`. The AI content disclosure lives in `publication.json` (see [Compliance](https://praeko.app/docs/en/studio#conformidade)).

## 4. Publish, always after your yes

The remote `praeko` MCP server publishes, in **two steps**: the first call returns only the preview and a `confirmation_code` (valid for 10 minutes and one use); the agent shows the whole preview and only repeats the call with `confirm` after your yes. If any argument changes, the preview is redone. Details in [MCP server](https://praeko.app/docs/en/mcp).

| Your agent | Upload the file | Create the post |
|---|---|---|
| With a terminal | `create_media_upload`, the `curl` it returns (the key comes from `$PRAEKO_KEY`) and `complete_media_upload` | `create_post` or `schedule_post`, in the two steps |
| Without a terminal | `studio_upload` on the local Studio server (also in two steps; it returns only the `mediaId`) | `create_post` on the remote `praeko` server, with the `mediaId` |

**Prompt to publish**

```text
Publish the video my-test through the `praeko` MCP server, only after my yes at each step.
1. Call list_channels and tell me which channels you plan to publish to.
2. Upload the video and the cover: with a terminal, create_media_upload, run the curl it returns (the key comes from $PRAEKO_KEY in the environment; never ask for it or print it) and complete_media_upload. Without a terminal, studio_upload on the local Studio server.
3. Call create_post (or schedule_post, if I give you a time) WITHOUT confirm. Show the whole preview: channels, time in BRT and UTC, media, texts, warnings.
4. Only repeat the call with confirm when I say "go ahead and publish". If I change anything, ask for a new preview.
```

From the command line, without the remote MCP, `praeko studio schedule <slug> --via praeko --when "dd/mm hh:mm"` only **simulates** and `--send` really schedules (the agent never uses `--send` unless you ask). `praeko studio post` is direct publishing with your own credentials for each network, for advanced use. The video needs the final voice before it goes live.

## 5. Learn from the numbers

After a few posts, the agent reads the insights through the remote MCP server and proposes the next script. Read only: `get_insights` (views, likes, comments, followers, with comparison), `get_retention` (retention, impressions and CTR per post), `list_posts` and `get_calendar`. A missing number comes back as `null`, never 0. Reading and replying to comments is not a server tool: it stays in the panel and the API.

**Prompt to learn**

```text
Read how my channel is doing through the `praeko` MCP server and propose the next script. Read only, create nothing.
1. get_insights for the last 28 days, compared with the previous period, and get_retention for the same posts.
2. list_posts with state "sent" to tie each number to a title.
3. Tell me in three lines what worked and what did not, quoting the numbers. Where a number comes back empty (null), say there is no data; do not guess.
4. Propose ONE script for the next Short, with the hook and the reason, and wait for my yes before creating the episode.
```

## 6. So you do not get lost

### What the agent does and what you do

| Step | The agent does | You do |
|---|---|---|
| Project and environment | `init`, `doctor`, install Studio's instructions | Installs what `doctor` points to (Node, `ffmpeg`, Chrome) if the agent cannot |
| Brand | Interview by talking, writes `brief.md`, `playbook.md`, `brand.json` | Answers and approves the result |
| Accounts and keys | Says which command to run; **never** asks for or reads the key | Creates the account and the `write` key, stores the keys in your terminal, connects the channel |
| License | Reminds you of the notice | Reads it and runs `praeko studio licenses --accept` |
| Video | Script, draft voice, scenes, `compile`, `check`, `render`, cover, `package` | Approves the script, the mosaic, the cover and the texts; authorizes the final voice |
| Publish | Uploads the media, asks for the preview, shows everything | Says yes; sets the AI label in the network's app when needed |
| Learn | Reads `get_insights` and `get_retention` and proposes the next script | Picks the script and goes back to step 3 |

### Common errors

| Symptom | What to do |
|---|---|
| The agent says it has no terminal | Use the [local Studio MCP](https://praeko.app/docs/en/studio/mcp) path; or open an agent with a shell (see [AI agents](https://praeko.app/docs/en/agents)). |
| `no Praeko key found` or a key error on upload | Store a `write` key in your terminal (step 2). Never paste the key in the chat. |
| `ffmpeg` not found | Install it (`brew install ffmpeg` or `sudo apt install ffmpeg`) and run `praeko studio doctor`. |
| Old Node | Studio needs Node 22 or newer; `doctor` shows the version it found. |
| The first render is slow or fails | Remotion downloads Chrome Headless Shell on the first render (needs internet). Offline, install Chrome and set `CHROME_PATH`. |
| `check` warns the voice is estimated | Expected with the draft. Generate the final voice, with your key, before publishing. |
| The `confirm` was refused (`expired`, `arguments_changed`…) | 10 minutes passed or something changed after the preview: ask for a new preview and confirm without changing anything. |

More cases in [Studio troubleshooting](https://praeko.app/docs/en/studio#troubleshooting) and [Studio MCP](https://praeko.app/docs/en/studio/mcp).

### Final checklist

1. Node 22, `ffmpeg` and Chrome ok in `praeko studio doctor`.
2. License read and accepted (`praeko studio licenses --accept`).
3. Praeko `write` key stored in your terminal, and the agent connected to the remote `praeko` MCP server.
4. Channel connected in the panel (with the caveat on Meta and TikTok approvals).
5. `brief.md`, `playbook.md` and `brand.json` reviewed by you.
6. Script, mosaic, cover and texts approved; final voice only with your yes.
7. AI content label checked (`ai.synthetic`) and set in the network's app when needed.
8. Post preview read in full before the `confirm`.

### Links

- [From zero to your first video](https://praeko.app/docs/en/get-started): The same path through the API, the SDK and the CLI.
- [Praeko Studio](https://praeko.app/docs/en/studio): Commands, project, keys, licenses and troubleshooting.
- [Studio: local MCP](https://praeko.app/docs/en/studio/mcp): For the agent without a terminal.
- [Remote MCP server](https://praeko.app/docs/en/mcp): Publish in two steps and read insights.
- [AI agents](https://praeko.app/docs/en/agents): Connect your agent to Praeko.
- [SDK and CLI](https://praeko.app/docs/en/sdk): The praeko command line and the JavaScript client.
- [Authentication and scopes](https://praeko.app/docs/en/auth): read, write and admin keys.
