# Recast

> Parâmetros das seis ferramentas do Recast, que transformam um roteiro de filme em JSON num projeto renderizado, com validação grátis, cotação e elenco.

Source: https://nodaro.ai/pt-BR/docs/mcp/tools/recast

As **ferramentas do Recast** transformam um filme escrito como um único roteiro JSON num projeto real do Recast, que é renderizado no Nodaro e abre em [recast.nodaro.ai](https://recast.nodaro.ai). Esta página lista os parâmetros de cada ferramenta. [Recast](https://nodaro.ai/docs/mcp/recast) explica o ciclo de trabalho e o formato do roteiro; leia essa página primeiro.

As ferramentas do Recast só existem no Nodaro Cloud.

| Ferramenta | Permissão | Créditos |
| --- | --- | --- |
| `get_recast_authoring_skill` | nenhuma | Grátis |
| `validate_recast_script` | nenhuma | Grátis |
| `import_recast_script` | `workflows:write` | Grátis |
| `start_recast` | `workflows:execute` | O preço cotado, só com `confirm: true` |
| `resolve_recast_gate` | `workflows:execute` | Grátis |
| `get_recast_status` | `workflows:read` | Grátis |

## `get_recast_authoring_skill`
Retorna o guia de criação de um filme escrito em JSON: o formato do documento (`meta`, `slots`, `scenes`), o significado de cada campo, os valores permitidos, os limites, as regras de áudio e um exemplo completo já validado. O guia é gerado a partir do planejador que a própria plataforma usa.

Esta ferramenta não tem parâmetros.

## `validate_recast_script`
Verifica um roteiro escrito, de graça, quantas vezes você precisar. Nunca cobra nada e não salva nada.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `script` | object | **Obrigatório.** O roteiro escrito, ou uma análise exportada completa. |

**Retorna:** `valid`, `errors` e `warnings`. Cada erro tem um `path`, uma `message` e, normalmente, um `hint`. Corrija cada um e chame de novo até `valid` ser `true`.

## `import_recast_script`
Transforma um roteiro validado num projeto do Recast: cria o projeto e o workflow dele e armazena o roteiro como uma análise concluída. A importação é grátis.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `script` | object | **Obrigatório.** O roteiro validado. |
| `rights_attested` | boolean | **Obrigatório**, e somente `true`. Defina-o só depois que o usuário confirmar na conversa que o roteiro é obra dele ou que ele detém os direitos. |

**Retorna:** `recastId`, `jobId`, `warnings` e `appUrl`, o link para o projeto.

## `start_recast`
Faz a cotação e renderiza um Recast importado. Sem `confirm`, retorna só o preço. Com `confirm: true`, depois que o usuário aceitou esse preço, compra o planejamento e a renderização. Se for chamada de novo com uma execução em andamento, leva uma execução `planned` para a renderização sem nova cobrança, ou informa o progresso.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `recast_id` | string | **Obrigatório.** O `recastId` de `import_recast_script`. |
| `confirm` | boolean | `true` só depois que o usuário aceitar os créditos cotados. |
| `interactive` | boolean | Permite que o usuário escolha o elenco antes da renderização: 3 candidatos por elemento e um ponto de decisão de um entre três. Adiciona um acréscimo à cotação, então pergunte antes de confirmar. |
| `resolution` | string | A resolução de saída. Padrão: `720p`. |
| `segment_pack` | string | Como as cenas são agrupadas em partes: `scenes-max` (padrão, com menos emendas e o mais barato) ou `scenes` (partes mais curtas). |
| `anchor_mode` | string | Como as partes se conectam: `progressive` (o quadro inicial de cada parte vem da renderização anterior) ou `none` (sem condicionamento por quadro; a cotação deixa de incluir o acréscimo do quadro inicial). Omita-o para usar o padrão do servidor. |
| `provider` | string | Uma substituição do modelo de vídeo. Omita-o para usar o padrão do servidor. |

**Retorna:** a cotação ou o estado da execução.

## `resolve_recast_gate`
Registra a escolha do usuário num ponto de decisão interativo e faz a execução seguir. A escolha em si é grátis: o acréscimo foi aceito com `start_recast`. As opções são índices, a partir de 0, dos candidatos que `get_recast_status` mostra.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `recast_id` | string | **Obrigatório.** O Recast. |
| `picks` | object | O ponto de decisão do elenco ou da folha de identidade: cada ID de slot associado ao índice do candidato escolhido. |
| `gate` | string | A qual ponto de decisão `picks` responde: `cast` (padrão) ou `sheet`. |
| `segment`, `anchor_start`, `anchor_end` | integer | O ponto de decisão das imagens fixas das cenas: a cena e os quadros de abertura e de fechamento escolhidos. |
| `section`, `music_pick` | integer | O ponto de decisão da música: o trecho da música e o take escolhido. |
| `finish_auto` | boolean | Resolve este ponto de decisão e todos os restantes com o candidato mais bem avaliado pelo crítico automático, para que a execução termine sozinha. |

Os pontos de decisão abrem nesta ordem: o elenco, depois as folhas de identidade das pessoas, depois as imagens fixas das cenas e, por fim, a música. No ponto de decisão das folhas, as três folhas compartilham o rosto escolhido no ponto de decisão do elenco, então a escolha é só sobre o corpo e as roupas.

## `get_recast_status`
Retorna o progresso de um Recast: blueprint pronto, em planejamento, planejado, gerando (segmentos concluídos em relação ao total, com uma prévia ao vivo), concluído (com a URL do resultado) ou com falha. Sempre inclui o link para o projeto em recast.nodaro.ai. Nos clientes que exibem MCP Apps, mostra um cartão ao vivo com uma barra de progresso, a prévia que vai crescendo e os candidatos dos pontos de decisão como botões.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `recast_id` | string | **Obrigatório.** O Recast. |

Quando o status for `planned`, chame `start_recast` de novo para começar a renderização.

## Frequently asked questions

### Validar ou importar um roteiro do Recast custa créditos?

Não. validate_recast_script e import_recast_script são grátis. Os créditos só são gastos quando start_recast é chamado com confirm definido como true, depois que o usuário aceitou o preço cotado.

### O que significa rights_attested?

Registra que o usuário confirmou na conversa que o roteiro é obra dele ou que ele detém os direitos. Um roteiro escrito para o Recast é renderizado exatamente como está, inclusive com nomes de marcas, então um assistente nunca deve definir esse campo sem perguntar.

### O usuário pode escolher o elenco antes da renderização?

Sim. Inicie a execução com interactive definido como true. Ela pausa em pontos de decisão, em que o usuário escolhe um entre três candidatos, para o elenco, as folhas de identidade, as imagens fixas das cenas e a música. O modo interativo adiciona um acréscimo que faz parte da cotação.

### Onde o usuário pode ver e editar o Recast?

Em recast.nodaro.ai. get_recast_status sempre retorna o link direto para o projeto, onde o usuário pode trocar o elenco, refazer takes e fazer as escolhas interativas.
