# API de geração de vídeo

> Visão geral da API de geração de vídeo com IA da LMU AI: escolha entre Seedance e Wan, além das regras comuns de autenticação, tarefas assíncronas, cobrança, limites de concorrência e códigos de erro.

URL: https://docs.lmuai.ai/pt/docs/api/video-generation



A LMU AI oferece dois tipos de API de geração de vídeo **assíncronas**, ambas usando os **protocolos nativos** dos fornecedores: substitua o endereço no SDK oficial ou no comando curl pelo endereço da LMU AI e a chave pela sua chave de API da LMU AI; o corpo da requisição permanece inalterado. Esta página é a visão geral: escolha uma API na tabela abaixo e depois leia a página do respectivo provedor. As regras comuns aos dois provedores (autenticação, cobrança, limites de concorrência e códigos de erro) estão nesta página.

<Callout type="info" title="URL base">
  ```text
  https://api.lmuai.ai
  ```

  | Provedor                  | Criar tarefa                                                  | Consultar tarefa                              | Documentação                                                    |
  | ------------------------- | ------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- |
  | Seedance (Volcengine Ark) | `POST /api/v3/contents/generations/tasks`                     | `GET /api/v3/contents/generations/tasks/{id}` | [API de geração de vídeo Seedance](/pt/docs/api/seedance-video) |
  | Wan (Alibaba DashScope)   | `POST /api/v1/services/aigc/video-generation/video-synthesis` | `GET /api/v1/tasks/{task_id}`                 | [API de geração de vídeo Wan](/pt/docs/api/wan-video)           |
</Callout>

<Callout type="warn" title="A geração de vídeo precisa estar habilitada para o seu grupo">
  O grupo da chave de API precisa ter a "Geração de vídeo" habilitada; caso contrário, as chamadas retornam `403`. Os modelos que você pode realmente chamar dependem da sua chave de API; verifique-os com `GET /v1/models`.
</Callout>

## 1. Como escolher entre os dois [#compare]

|                        | Seedance (Volcengine Ark)                                   | Wan (Alibaba DashScope)                                                          |
| ---------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------- |
| Modelo de exemplo      | `seedance-2.5`                                              | `wan3.0-video`                                                                   |
| Cobrança               | Por tokens de saída                                         | Por "segundos reais × preço unitário da faixa de resolução"                      |
| Valores de resolução   | `480p` / `720p` / `1080p` (minúsculas)                      | `480P` / `720P` / `1080P` (maiúsculas), padrão `1080P`                           |
| Status da tarefa       | `queued` → `running` → `succeeded` / `failed` / `cancelled` | `PENDING` → `RUNNING` → `SUCCEEDED` / `FAILED` / `CANCELED`                      |
| Campo da URL do vídeo  | `content.video_url`                                         | `output.video_url`                                                               |
| Cancelamento de tarefa | Tarefas na fila (`queued`) podem ser canceladas             | Não há endpoint de cancelamento; uma tarefa enviada sempre é executada até o fim |

O nome do modelo deve corresponder **exatamente** ao nome habilitado para o seu grupo (diferencia maiúsculas de minúsculas). As duas APIs usam nomes de campos parecidos, mas com capitalização e caminhos diferentes; não os confunda ao copiar exemplos.

## 2. Autenticação [#auth]

Envie sua chave de API no cabeçalho de cada requisição:

```http
Authorization: Bearer YOUR_API_KEY
```

Não coloque sua chave de API em código de front-end no navegador, repositórios públicos, query strings de URL ou logs. Chame a API a partir do seu próprio servidor.

## 3. Fluxo de tarefas assíncronas [#flow]

1. **Criar**: o `POST` retorna apenas um id de tarefa; ele não espera pelo vídeo.
2. **Consultar**: faça `GET` na tarefa a cada 10 segundos, aproximadamente, até que ela atinja um estado final (sucesso / falha / cancelada).
3. **Imagens de referência**: as chamadas de API devem passar uma URL de imagem publicamente acessível (JPG / PNG / WebP); a página Geração de vídeo do console aceita upload de imagens locais.
4. **Download**: em caso de sucesso, obtenha o link do vídeo na resposta. Os links do provedor upstream são **válidos por 24 horas**, então faça o download o quanto antes; a plataforma guarda uma cópia de cada vídeo concluído, que você pode reproduzir e baixar na página Tarefas de vídeo do console.

<Callout type="info" title="A cobrança é liquidada mesmo que você pare de consultar">
  Após o envio, a plataforma acompanha a tarefa em segundo plano e a liquida normalmente, mesmo que você pare de consultá-la; tarefas com falha ou canceladas não são cobradas.
</Callout>

Para exemplos completos de criação e consulta, veja as páginas [Seedance](/pt/docs/api/seedance-video#poll-example) e [Wan](/pt/docs/api/wan-video#poll-example).

## 4. Cobrança e marcas d'água [#billing]

* Um valor estimado é congelado quando a tarefa é criada. Se o seu saldo for insuficiente, a requisição é rejeitada imediatamente (`402`) e nenhum vídeo é gerado.
* Em caso de sucesso, a tarefa é liquidada uma única vez conforme o uso real, e qualquer valor congelado em excesso é devolvido automaticamente; tarefas com falha ou canceladas são reembolsadas integralmente e não são cobradas.
* O Seedance é cobrado por tokens de saída; o Wan é cobrado por "segundos reais × preço unitário da faixa de resolução".
* Os vídeos concluídos trazem o selo "Gerado por IA" da plataforma, que não pode ser desativado pelos clientes.

## 5. Limites de concorrência [#limits]

Cada usuário e cada chave de API podem ter no máximo **5** tarefas em geração ao mesmo tempo. Acima disso, as requisições retornam `429` com um cabeçalho `Retry-After` (cerca de 60 segundos); aguarde e tente novamente.

## 6. Códigos de erro [#errors]

| HTTP                  | Significado                                                                                      | O que fazer                                                 |
| --------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| `401`                 | A chave de API é inválida ou está desativada                                                     | Verifique sua chave de API                                  |
| `402`                 | Saldo ou cota insuficiente para congelar o valor estimado                                        | Recarregue e tente novamente                                |
| `403`                 | A geração de vídeo não está habilitada para o grupo, ou o modelo não está disponível no grupo    | Use uma chave de API que ofereça suporte à geração de vídeo |
| `404 model_not_found` | O modelo ainda não está disponível (um nome digitado incorretamente também causa isso)           | Use o nome exato retornado por `GET /v1/models`             |
| `409`                 | A tarefa já começou a ser gerada e não pode ser cancelada (endpoint de cancelamento do Seedance) | Aguarde a conclusão da tarefa                               |
| `429`                 | O número de tarefas em andamento atingiu o limite                                                | Aguarde conforme o `Retry-After` e tente novamente          |

Para erros gerais, consulte [Códigos de erro](/pt/docs/guide/errors).

## 7. Páginas dos provedores [#providers]

* [API de geração de vídeo Seedance](/pt/docs/api/seedance-video): criar, consultar, listar e cancelar tarefas, com parâmetros, observações sobre imagens de referência de primeiro quadro e um exemplo completo de consulta periódica.
* [API de geração de vídeo Wan](/pt/docs/api/wan-video): criar e consultar tarefas, com parâmetros e um exemplo completo de consulta periódica.
