Pular para o conteúdo
Entrar Lista de espera
Docs/Praeko Studio

Praeko Studio: vídeos com o seu agente

Node 22 ou mais novomacOS e LinuxRemotion não é MIT

O Praeko Studio faz vídeos curtos (9:16) e longos (16:9) a partir de um roteiro: voz, legenda palavra a palavra, cenas, capa e os textos de cada rede. Você opera com o seu próprio agente de código, na sua máquina: o agente escreve o roteiro e o episode.yaml, roda os comandos e, só depois do seu sim, publica pelo Praeko. A voz, o render e o agente são por sua conta; o Studio não chama nenhum modelo de linguagem e nenhum roteiro seu sai da máquina até você publicar.

Quer que o agente faça quase tudo?O guia Começar com o seu agente traz o prompt para colar numa pasta vazia, o que só você faz e o primeiro vídeo.

Requisitos

Item Detalhe
Node 22 ou mais novo.
ffmpeg e ffprobe No PATH. macOS: brew install ffmpeg; Debian e Ubuntu: sudo apt install ffmpeg.
Chrome O Remotion baixa o *Chrome Headless Shell* sozinho no primeiro render (internet nesse momento; cerca de 570 MB em disco, medido no macOS). Ou use um Chrome instalado com CHROME_PATH.
Fontes O modelo usa fontes do sistema (Arial Black, Menlo). Se faltarem, o doctor avisa; troque em brand.json por fontes que existam nos seus sistemas.
Sistemas macOS e Linux. Windows é melhor esforço e não foi testado.
Terminal O agente precisa de terminal (shell) para renderizar: é ele quem roda ffmpeg, o Remotion e os comandos do Studio. Sem terminal (por exemplo, o Claude Desktop sem shell), use o servidor MCP local do Studio (@praeko/studio-mcp); o servidor MCP remoto só publica e traz métricas, não renderiza vídeo.
Seu agente Claude Code, Codex, Gemini CLI, Cursor, opencode, Cline ou Windsurf, com a sua assinatura ou chave. O Praeko não cobra nem intermedeia o agente.

Instalar

npm install -g @praeko/studio
Sem instalar
npx @praeko/studio doctor
npx @praeko/studio init my-channel

O comando é praeko-studio e também praeko studio … quando o @praeko/cli está instalado: ele entrega ao Studio, procurando no projeto, ao lado da CLI, na instalação global e no PATH.

Licenças: leia antes do primeiro render

O Remotion não é MITO código do Praeko Studio é MIT. O Remotion, o motor padrão (de vídeos e capas), é *source-available*: grátis para pessoas, organizações sem fins lucrativos e empresas de até 3 funcionários; empresas com 4 ou mais pessoas precisam da Company License (remotion.pro/license). Quem instala e roda o Remotion é você, então a licença é sua. O Remotion também vende planos para quem automatiza renders por programa ou agente, e o FAQ deles não diz se um agente local entra: pergunte a eles antes de usar em escala. Não prometemos "grátis para sempre".
Componente Licença
@praeko/studio, studio-core, studio-kit MIT
Remotion (remotion, @remotion/cli) Remotion License (não MIT); você instala
HyperFrames (--engine hyperframes, opcional) Apache-2.0
ffmpeg, Chrome Termos próprios; o Studio não os redistribui
Modelo OmniVoice do VoiceStudio (voz local opcional) CC-BY-NC: uso não comercial; não use em conteúdo monetizado

O Remotion é o motor padrão dos vídeos e das capas; com --engine hyperframes o vídeo e a capa saem pelo HyperFrames e nada do Remotion é usado. Texto completo e fontes: praeko studio docs licenses (o LICENSES.md do pacote); praeko studio licenses --accept registra que você leu.

Seu primeiro vídeo em 10 minutos

1

Conferir o ambiente

bash
praeko-studio doctor

Mostra Node, ffmpeg, Chrome, fontes, se há chaves (nunca o valor), as contas de voz ElevenLabs (saldo e renovação quando a chave lê; a voz final e em quais contas ela tem id; avisa se duas contas mostram o mesmo saldo), a rede e as licenças, com uma linha de correção por item. Com --offline não chama a rede e mostra só a configuração.

2

Criar o projeto

bash
praeko-studio init my-channel --name "My Channel" --agent claude
cd my-channel

Cria brand.json, src/, episodes/, os sons e as instruções para o seu agente (--agent claude,codex,gemini,cursor,opencode,cline,windsurf ou all), e roda npm install. Num terminal ele antes faz uma entrevista curta (nome, para quem é, tom de voz, cores, fonte, até 3 referências) e grava brief.md e um rascunho de playbook.md, que o seu agente lê antes do primeiro roteiro; o Studio não assiste às referências, o agente é quem as analisa. Sem terminal (ou com --yes) nada é perguntado. Os pacotes vêm do npm por versão, sem file:.

3

Pedir o vídeo ao agente

Abra o seu agente na pasta do projeto e cole:

Prompt para o agente
Faça um Short de 40 segundos sobre <TEMA> neste projeto do Praeko Studio.
Leia as instruções do projeto e rode `praeko studio docs episode-yaml` antes de escrever o YAML.
Use a voz draft, mostre o roteiro e as cenas para eu aprovar antes de gastar crédito de voz,
rode check e contact-sheet, e não publique nada sem eu pedir.
4

Voz rascunho, conferência e render

bash
praeko-studio new my-first --title "My first video"
praeko-studio voice my-first --quality draft
praeko-studio check my-first
praeko-studio render my-first --scale 0.5
praeko-studio contact-sheet my-first
praeko-studio cover my-first
praeko-studio package my-first

O agente faz estes passos por você. A voz draft é estimada e muda (grátis, sem rede) e serve para montar as cenas; check avisa até haver voz real. Para a voz final, --quality final usa a sua conta do ElevenLabs.

5

Simular a publicação

bash
echo $PRAEKO_KEY | praeko-studio schedule --via praeko --key
praeko-studio schedule my-first --when "20/12 17:30" --via praeko

Sem --send o comando só lê os canais e mostra o que faria. Veja Publicar.

Comandos

Todos começam por praeko studio (ou praeko-studio). praeko studio --help lista o mesmo.

Comando Faz
doctor [--json] [--offline] Confere o ambiente e mostra o aviso de licenças.
licenses [--accept] O aviso de licenças; --accept registra a leitura.
skill install [--agent …] [--lang en|pt] Grava as instruções do Studio no formato do seu agente.
docs [topic] Documentação da versão instalada: episode-yaml, long-yaml, voice, publish, hyperframes, licenses.
init <folder> Cria um projeto (--name, --handle, --agent, --lang, --no-install; --dev <studio> para quem contribui). Num terminal faz a entrevista de marca (Enter pula cada pergunta); com --yes ou sem terminal não pergunta nada e importa cores e fonte do ../brand/build/tokens.json (ou ../brand/tokens.json) quando existir, ou da pasta dada em --brand; as flags mandam sobre o tokens e a saída diz o que foi importado. Respostas por flag: --about, --audience, --tone, --accent, --background, --font, --brand <pasta>, --reference (até 3, com --reference-note), --voice-alias, --voice-provider.
brief [--only …] Reabre a entrevista num projeto existente (só as respostas escolhidas) e reescreve o brief.md; guarda brief.md.bak e não sobrescreve um playbook.md que você editou (grava playbook.md.new).
new <slug> [--long | --image] Cria um episódio (--title) e o registra em src/Root.tsx. --image cria um post de foto (format: image, um slide, sem voz nem vídeo).
voice <slug> --quality draft|final|local Gera a voz e os tempos por palavra. voice balance, voices, account, config key cuidam das contas.
compile <slug> Lê episode.yaml, confere âncoras e sobreposição, gera episode.spec.json.
cut <long> <slug> --from … --to … Short vertical fatiado da voz de um longo.
preview [slug] Abre o Remotion Studio (ou o preview do HyperFrames).
render <slug> [--scale 0.5] [--engine remotion|hyperframes] Renderiza em out/<slug>.mp4.
cover <slug> Renderiza a capa (out/<slug>-cover.png).
slides <slug> Renderiza um post de imagem em out/<slug>-slide-01.jpg: 1080x1350 (4:5), JPEG sRGB, só com Remotion. Por enquanto vai só para o Instagram (schedule --via praeko); o formato está em praeko studio docs image.
contact-sheet <slug> [--n 12] Mosaico de quadros para você (e o agente) olharem.
check <slug> Roteiro, voz, publicação, declaração de IA e, com vídeo, duração, volume e quadros vazios.
package <slug> Gera texts.md (YouTube, Instagram, TikTok, UTM) e confere limites.
schedule <slug> --when … --via praeko [--send] Agenda pelo Praeko; sem --send só simula.
post, queue, account <network> Avançado: publicação direta com credenciais suas de cada rede. queue install só no macOS.
migrate [--dry-run] Converte um projeto do Studio 0.1.x (nomes em português) para o layout em inglês, com backup em .studio-backup/.
help Mostra a lista de comandos (--lang pt traduz as mensagens).

O projeto

Estrutura
my-channel/
  brand.json            # cores, fontes, handle, voz, links, hashtags
  voices.json           # (opcional) a sua voz; nunca chaves
  src/                  # index.ts, Root.tsx, brand.ts (o Root registra os episódios)
  public/               # sfx/, cover/avatar.png, audio/ (voz gerada)
  episodes/<slug>/
    script.txt          # o texto falado
    episode.yaml        # as cenas, declarativas
    scenes.tsx          # peças em TSX (capa e o que o YAML não cobre)
    publication.json    # textos de cada rede, hashtags, ai.synthetic
  out/                  # vídeos e capas renderizados
brand.json
{
  "name": "My Channel",
  "handle": "@mychannel",
  "avatar": "cover/avatar.png",
  "colors": { "background": "#14110f", "accent": "#f4b942", "text": "#f3ece0" },
  "fonts": { "title": "'Arial Black', system-ui, sans-serif", "mono": "Menlo, monospace" },
  "links": { "main": "https://example.com/" },
  "voice": "draft-silent",
  "pronunciation": { "example.com": "example dot com" },
  "bannedNames": [],
  "publishing": { "provider": "praeko", "hashtags": { "allowed": [], "banned": [] } }
}

O episode.yaml é declarativo: cada item liga a uma frase da voz com when: "frase", e praeko studio compile confere. O que o YAML não cobre vira uma peça em scenes.tsx, feita com as peças do @praeko/studio-kit (panel, box, line, bubble, code, window, phone, frame). O render é uma função pura do episódio compilado e dos arquivos do projeto.

episode.yaml
id: MyVideo
duration: 14
caption: 80
voice: audio/MyVideo.mp3
background: ["My video"]
outro: { start: 10, cta: FOLLOW THE PROFILE }
cover: { id: CoverMyVideo, component: CoverMyVideo }
scenes:
  - start: 0
    title: THE PROBLEM
    label: PROBLEM
    items:
      - { type: big, at: 0.2, color: accent, size: 92, text: "The cache took the deploy down" }
      - { type: box, when: "deploy", text: "cleared the cache" }

Formato completo: praeko studio docs episode-yaml, praeko studio docs long-yaml e, para um post de foto, praeko studio docs image.

Posts de imagem (uma foto)

praeko studio new <slug> --image cria uma peça de imagem: o mesmo publication.json, check, package e envio de um vídeo, mas sem roteiro, voz nem vídeo. O episode.yaml tem format: image e um slide (vários slides seriam um carrossel, que chega numa fase futura), que reaproveita os itens de uma capa e leva um texto alternativo (alt, obrigatório, até 1000 caracteres). praeko studio slides <slug> renderiza out/<slug>-slide-01.jpg em 1080x1350, JPEG sRGB (só com Remotion). O package grava as imagens e o alt no publication.json e o texts.md só com a legenda do Instagram. Só o Instagram aceita foto por enquanto (YouTube não tem post de imagem; a foto do TikTok é uma fase futura): praeko studio schedule <slug> --via praeko sobe a foto como mídia type: image e cria o post com kind: image. O alt vai pelo Instagram quando o Praeko publica pela Meta; pelo Buffer ele é ignorado e o item avisa alt_ignored.

Chaves e custos: você traz as suas

O quê Quem paga Onde fica a chave
Agente de código Você (sua assinatura ou chave) No próprio agente
Voz final (ElevenLabs) Você, na sua conta Variável ELEVENLABS_API_KEY, cofre do macOS ou ~/.config/praeko/secrets.json (permissão 600)
Render Você (sua máquina) -
Publicar pelo Praeko Seu plano do Praeko PRAEKO_KEY ou praeko studio schedule --via praeko --key (a mesma chave da praeko CLI)
Guardar a chave da voz
echo $ELEVENLABS_API_KEY | praeko-studio voice config key elevenlabs/principal
praeko-studio voice account add principal --voice my-voice --voice-id <YOUR_VOICE_ID>
Adicionar mais uma conta de voz (ou só conferir)
praeko-studio voice account list
praeko-studio voice account add backup --from-env ELEVENLABS_API_KEY_2 --dry-run   # only checks the key and shows the plan, stores nothing
praeko-studio voice account add backup --from-env ELEVENLABS_API_KEY_2             # stores the key in the keychain and the voice in voices.json

Sem --from-env, o comando pede a chave no terminal (sem mostrá-la) ou lê da entrada padrão. --voice dá um apelido à voz e --voice-id informa o id; sem eles o comando procura o clone da sua voz na conta. Com mais de uma conta, o Studio escolhe pelo saldo e troca de conta se uma esgotar (--no-failover desliga).

A chave nunca vai para o projeto, o git, o log ou o chat com o agente. Use somente a sua voz ou uma voz que você tem autorização para usar. Detalhes: praeko studio docs voice.

Publicar pelo Praeko

O Studio não publica nada sozinho. Duas formas, as duas só depois do seu sim:

Instruções para o seu agente

bash
praeko-studio skill install --agent claude,codex,gemini,cursor,opencode,cline,windsurf --lang en
Agente Arquivo gravado no projeto
Claude Code .claude/skills/praeko-studio/SKILL.md + CLAUDE.md
Codex, opencode AGENTS.md
Gemini CLI GEMINI.md
Cursor .cursor/rules/praeko-studio.mdc
Cline .clinerules/praeko-studio.md
Windsurf .windsurf/rules/praeko-studio.md

O texto traz o fluxo do vídeo, o envio de arquivo local, a regra de dois passos e a declaração de IA. Em arquivos compartilhados (AGENTS.md, CLAUDE.md, GEMINI.md) o Studio grava só um bloco delimitado e preserva o resto. Os formatos de cada agente mudam com o tempo: confira na documentação do seu agente.

Problemas comuns

Sintoma O que fazer
ffmpeg não encontrado Instale (brew install ffmpeg ou sudo apt install ffmpeg) e rode praeko studio doctor.
O primeiro render demora ou falha por rede O Remotion está baixando o Chrome Headless Shell. Com internet, repita. Sem internet, instale o Chrome e defina CHROME_PATH.
O texto sai diferente ou quebra linha estranho Falta uma fonte do brand.json. O doctor mostra qual; instale-a ou troque por uma fonte aberta.
Linux: não há cofre de chaves O cofre do macOS (security) só existe no macOS. No Linux use ELEVENLABS_API_KEY, PRAEKO_KEY ou o arquivo ~/.config/praeko/secrets.json (permissão 600).
Windows Não foi testado. Prefira variáveis de ambiente para as chaves e abra um relato se algo falhar.
praeko studio diz que não achou o Studio Instale @praeko/studio (no projeto ou globalmente) ou rode com npx @praeko/studio.
check avisa que a voz é estimada Esperado com o rascunho. Gere --quality final (com a sua chave) antes de publicar.
Projeto do Studio 0.1.x (nomes em português) Rode praeko studio migrate --dry-run e depois praeko studio migrate: renomeia arquivos e chaves, com backup em .studio-backup/.

Conteúdo gerado por IA e conformidade

Voz sintética realista, ou imagem e vídeo gerados que pareçam reais, exigem o rótulo de conteúdo alterado ou sintético no YouTube, o "AI info" no Instagram e o rótulo de conteúdo gerado por IA no TikTok. Preencha "ai": { "synthetic": true } no publication.json: check e package avisam quando falta. Na publicação direta do Studio o YouTube recebe o campo (containsSyntheticMedia); pelo caminho do Praeko e no Instagram e no TikTok você marca o rótulo no app da rede antes de publicar, porque a API pública do Praeko ainda não leva esse campo. As regras de cada rede mudam: confira a política vigente.

PrivacidadeRoteiros, vozes e chaves ficam na sua máquina. O Praeko recebe só o vídeo, a capa e os textos que você mandar publicar. Não há telemetria.
Dúvida ou erro nesta página? contato@praeko.appVer .md

Digite para buscar páginas, rotas e códigos de erro.