# Análise e listas de edição

> Analise um vídeo cena a cena, audite a análise, detecte silêncios, sincronize gravações e planeje e renderize listas de decisões de edição com o MCP.

Source: https://nodaro.ai/pt-BR/docs/mcp/tools/analysis-and-edl

As **ferramentas de análise e listas de edição** leem gravações existentes e as transformam em dados estruturados ou em montagens prontas. `video_analysis` e `video_audit` decompõem um vídeo cena a cena para que ele possa ser recriado, `silence_detect` e `audio_sync` medem gravações, e `plan_edit` e `apply_edl` planejam e renderizam cortes a partir de uma transcrição. Todas as ferramentas precisam da permissão `workflows:execute` e retornam um ID de job.

## `video_analysis`
Analisa um vídeo e o decompõe cena a cena, num formato feito para a recriação com IA. Funciona como o nó [**Análise de vídeo** (Video Analysis)](https://nodaro.ai/docs/nodes/video/video-analysis).

- **As cenas** são cortadas nos limites naturais e duram no máximo 8 segundos: uma geração de imagem ou de vídeo por cena.
- **`visualResolved`** é uma descrição autônoma de cada cena, pronta para usar como prompt. É o campo que as etapas seguintes leem.
- **Cada cena** também tem um enquadramento, um movimento de câmera e uma lista de camadas de áudio. A fala é citada palavra por palavra, a música e os efeitos sonoros são descritos para que possam ser gerados, e uma lista vazia significa silêncio.
- **Os slots** são as pessoas, os objetos e os lugares recorrentes, para que você possa substituí-los pelos seus próprios personagens.

**Permissão:** `workflows:execute`. **Créditos:** conforme o nível e a duração do vídeo, na tabela abaixo.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `video_asset_id`, `video_url` ou `youtube_url` | string | **Obrigatório, exatamente um.** Um ID de job de vídeo ou de upload do Nodaro, uma URL direta de vídeo ou um link do YouTube. Até 10 minutos; sem transmissões ao vivo. Informar zero ou duas origens retorna um erro. |
| `llm_model` | string | O nível: `pro` (padrão), `fast` (mais barato), `smart` (o mais preciso), `mixed` ou `mixed-fast`. |
| `selection_mode` | string | `choose` (padrão) ou `combine`, um resultado aprimorado e verificado, com o máximo de detalhes. `combine` é um pouco mais lento e é o recomendado. |
| `variations` | boolean | Também detecta os diferentes visuais de cada pessoa ou coisa, como uma troca de roupa, um sonho ou um disfarce, e vincula cada visual às cenas dele. Padrão: `false`. |
| `music_video` | boolean | Trata o clipe como um videoclipe: cada verso cantado é transcrito como fala. Padrão: `false`; nesse caso, os vocais que ninguém em cena interpreta fazem parte da camada de música. |
| `translate_speech_to_english` | boolean | Retorna as palavras faladas e cantadas em inglês. Padrão: `false`, o idioma original. |
| `translate_on_screen_text_to_english` | boolean | Retorna placas, legendas e títulos em inglês. Esse texto faz parte do prompt visual, então uma cena gerada de novo mostra o texto em inglês. Os nomes mantêm a forma original. Padrão: `false`. |
| `analysis_focus` | string | Uma orientação, com até 2.000 caracteres, por exemplo “focus on the product shots and on-screen text”. |

**Retorna:** um ID de job. A análise, com `meta`, `slots` e `scenes`, fica no `output_data` do job.

O preço depende do nível e da faixa de duração, a menor entre 60, 180, 360 ou 600 segundos que comporta o vídeo. As faixas de 60, 180 e 360 segundos têm 3 segundos de tolerância cada uma, então um vídeo de até 1:03 é cobrado na faixa de 60 segundos:

| Nível | Até 60 s | Até 180 s | Até 360 s | Até 600 s |
| --- | --- | --- | --- | --- |
| `fast` | 200 | 204 | 567 | 933 |
| `pro` | 238 | 256 | 704 | 1.162 |
| `mixed`, `mixed-fast` | 297 | 321 | 802 | 1.295 |
| `smart` | 455 | 554 | 1.394 | 2.284 |

[`list_models`](https://nodaro.ai/docs/mcp/tools/models-and-credits#list_models) retorna os preços atuais.

## `video_audit`
Assiste a um vídeo de novo, comparando-o com a análise dele, e corrige o que estiver errado. Cada correção é aplicada com verificações e informada, e o que não pôde ser corrigido é sinalizado, não alterado. Funciona como o nó [**Auditoria com IA** (AI Audit)](https://nodaro.ai/docs/nodes/video/ai-audit).

**Permissão:** `workflows:execute`. **Créditos:** conforme a duração, e mais barato quando você passa uma análise.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `video_url` | string | **Obrigatório.** O vídeo a auditar. |
| `analysis` | object | A análise de uma chamada anterior de `video_analysis` ou `video_audit`, passada como está. Sem ela, a ferramenta primeiro executa uma análise rápida, o que custa mais. |

**Retorna:** um ID de job. O `output_data` do job contém o relatório: o que foi verificado, o que mudou e o que ficou em aberto.

| Execução | Até 60 s | Até 180 s | Até 360 s | Até 600 s |
| --- | --- | --- | --- | --- |
| Com `analysis` | 237 | 319 | 730 | 1.181 |
| Sem `analysis` | 436 | 523 | 1.296 | 2.114 |

## `silence_detect`
Encontra os trechos de silêncio de uma gravação só pelo áudio: sem transcrição e sem imagens. Funciona como o nó [**Detectar silêncio** (Silence Detect)](https://nodaro.ai/docs/nodes/audio/silence-detect).

**Permissão:** `workflows:execute`. **Créditos:** 11.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `audio_url` | string | **Obrigatório.** Uma URL de áudio ou de vídeo. A faixa de áudio é lida nos dois casos. |
| `threshold_db` | number | O nível de silêncio em dBFS, de -90 a 0. Padrão: `-35`, um bom piso para fala. |
| `min_silence_ms` | integer | O menor silêncio a informar, de 1 a 600.000 ms. Padrão: `700`. |
| `pad_ms` | integer | A margem de fala mantida em volta de cada trecho, de 0 a 60.000 ms. Padrão: `120`. |

**Retorna:** um ID de job. O resultado é `output_data.json`, `{ ranges, durationMs }`. Passe esse objeto, e não o `output_data` inteiro, como o `silence` de `plan_edit`, ou use `ranges` para escrever uma lista de edição à mão.

## `audio_sync`
Mede a defasagem entre os relógios de 2 a 6 gravações de uma mesma conversa, como os arquivos das câmeras e um microfone principal, comparando o áudio delas. Funciona como o nó [**Sincronizar áudio** (Audio Sync)](https://nodaro.ai/docs/nodes/audio/audio-sync).

**Permissão:** `workflows:execute`. **Créditos:** de 11 com 2 origens a 55 com 6, conforme o número de gravações alinhadas à referência.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `sources` | array | **Obrigatório.** De 2 a 6 gravações, cada uma `{ id, url }`, com um ID único. URLs de áudio ou de vídeo. |
| `reference` | string | O ID da gravação usada como base para medir cada deslocamento. Padrão: a primeira. |

**Retorna:** um ID de job. O resultado é `output_data.json`: `{ reference, offsets, notes }`, em que cada deslocamento tem `sourceId`, `offsetMs`, `confidence` e `driftMsPerHour`. Um instante no relógio da referência é o instante na origem mais `offsetMs`. Confiança baixa e desvio de relógio são informados em `notes`, nunca corrigidos.

## `plan_edit`
Transforma uma transcrição com marcação de tempo numa lista de decisões de edição para uma gravação. Ela lê a transcrição, nunca as imagens. Funciona como o nó [**Plano de edição** (Edit Plan)](https://nodaro.ai/docs/nodes/video/edit-plan).

**Permissão:** `workflows:execute`. **Créditos:** de 33 a 1.628, conforme a duração da gravação, o modo e o nível. **Somente no Nodaro Cloud.**

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `mode` | string | **Obrigatório.** `tighten` remove silêncios, palavras de preenchimento e falsos começos numa única montagem. `clips` encontra clipes curtos para compartilhar, com uma lista de edição para cada um. `chapters` marca capítulos com títulos. |
| `transcript` | object | **Obrigatório.** A transcrição em nível de palavra, de [`transcribe`](https://nodaro.ai/docs/mcp/tools/audio#transcribe). |
| `sources` | array | **Obrigatório.** De 1 a 6 gravações, cada uma com uma `url` e, opcionalmente, o `id`, o `kind` (`video` ou `audio`), o `role` (`master-audio`, `camera`, `wide` ou `screen`), os `speakers` e o `offset_ms` no relógio mestre. O `id` é o ID que você deu à gravação no `audio_sync`, com até 200 caracteres. Ele é obrigatório com `offsets`. |
| `offsets` | object or string | O `output_data.json` de um job do `audio_sync`. A ferramenta grava cada deslocamento medido na origem com o mesmo `id`, no relógio da origem mestre. O `offset_ms` da própria origem prevalece. |
| `transcript_source_id` | string | O `id` da origem a partir da qual a transcrição foi feita, quando você souber. A ferramenta então confere se essa origem está no relógio da origem mestre. |
| `silence` | object | O resultado de `silence_detect`. |
| `plan_tier` | string | `economy`, `standard` (padrão) ou `premium`. |
| `count` | integer | Para `clips`: quantos clipes, de 1 a 50. |
| `target_duration_sec` | integer | Para `clips`: a duração de cada clipe, de 5 a 180 segundos. |
| `target_aspect` | string | `16:9`, `9:16`, `1:1` ou `4:5`. |
| `platform`, `instructions`, `style_guide` | string | Onde os clipes serão publicados e orientações em texto livre. |

A origem mestre é a que tem a função `master-audio` ou, se nenhuma tiver, a primeira origem. A ferramenta recusa a chamada antes de qualquer cobrança quando os deslocamentos deixariam o corte fora de sincronia:

- Uma origem não tem `offset_ms`, e o `audio_sync` não a mediu ou teve uma correspondência fraca com ela, com confiança menor que 0,5. Defina o `offset_ms` dela.
- A origem mestre tem um `offset_ms` diferente de 0.
- Outras origens usam deslocamentos medidos, mas o `audio_sync` não mediu a origem mestre, ou a correspondência dela é fraca.
- `offsets` não é um resultado do `audio_sync`, ou uma origem não tem `id` para a associação.
- A transcrição foi feita a partir de uma origem fora do relógio da origem mestre. Transcreva a origem mestre ou dê a essa origem a função `master-audio`.

**Retorna:** um ID de job. O plano fica no `output_data` do job, pronto para `apply_edl`.

## `apply_edl`
Renderiza uma lista de decisões de edição numa montagem pronta. Funciona como o nó [**Aplicar EDL** (Apply EDL)](https://nodaro.ai/docs/nodes/video/apply-edl), cuja página também informa o preço por minuto.

**Permissão:** `workflows:execute`. **Créditos:** cobrados por minuto de saída renderizada.

| Parâmetro | Tipo | Observações |
| --- | --- | --- |
| `edl` | object or string | **Obrigatório.** O plano de `plan_edit` ou uma lista que você escreveu. Os `segments` dela ficam em milissegundos inteiros num relógio `master`, e cada um indica uma das `sources` da EDL pelo ID. Uma renderização de vídeo precisa de uma origem de vídeo em cada segmento. |
| `sources` | array | URLs que substituem as URLs de origem da EDL, na mesma ordem. |
| `output` | string | `video` (padrão) ou `audio`. |
| `quality` | string | `proxy` para uma prévia rápida, ou `final` (padrão). |
| `crossfade_ms` | number | Um fade cruzado nas junções sem transição própria, de até 5.000 ms. Padrão: `0`, cortes secos. |
| `transcript` | object | Uma transcrição a remapear pelo corte, para que corresponda ao resultado. |

Uma renderização pode produzir no máximo 180 minutos. Uma lista malformada, ou longa demais, é recusada antes que qualquer coisa seja executada, com o segmento e a regra que ele viola.

**Retorna:** um ID de job. O arquivo renderizado é o resultado do job.

## Editar uma gravação a partir da transcrição
### Transcreva a gravação
Chame [`transcribe`](https://nodaro.ai/docs/mcp/tools/audio#transcribe) na gravação. Os tempos das palavras ficam em `output_data.json.words`, no job.

### Encontre os silêncios
Chame `silence_detect`. Esta etapa é opcional, mas ajuda o `tighten`.

### Planeje o corte
Chame `plan_edit` com a transcrição, os silêncios e a gravação, no modo `tighten`, `clips` ou `chapters`. Confira o plano e altere-o se precisar.

### Renderize
Chame `apply_edl` com o plano. Use `quality: "proxy"` primeiro, para uma prévia rápida.

A receita `podcast-editing` conduz um assistente pelas mesmas etapas; veja [Receitas de conteúdo](https://nodaro.ai/docs/mcp/recipes). Com várias câmeras e um microfone separado, execute `audio_sync` primeiro e passe o `offset_ms` de cada origem para `plan_edit`.

## Frequently asked questions

### O que video_analysis retorna?

Uma decomposição do vídeo cena a cena, com cenas de no máximo 8 segundos. Cada cena traz uma descrição visual pronta para prompt, o enquadramento, o movimento de câmera e as camadas de áudio, e as pessoas, os objetos e os lugares recorrentes vêm como slots que você pode substituir.

### Qual pode ser a duração de um vídeo em video_analysis?

Até 10 minutos, a partir de um ID do Nodaro, de uma URL direta ou de um link do YouTube. Transmissões ao vivo do YouTube são recusadas. O preço depende do nível e de qual das quatro faixas de duração o vídeo ocupa.

### Como deixo a gravação de um podcast mais enxuta pelo MCP?

Transcreva a gravação, detecte os silêncios se quiser e chame plan_edit com o modo tighten. Renderize o plano com apply_edl. A receita podcast-editing conduz um assistente por essas etapas.

### O que é uma EDL?

Uma lista de decisões de edição (edit decision list). É uma lista de segmentos na ordem de reprodução, cada um indicando um intervalo de tempo de uma gravação de origem. apply_edl a renderiza numa montagem pronta.
