Source: https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/
Canonical: https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/
Language: pt-pt

# ByteDance: Seedance 2.0

[Markdown](https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/index.md) · [JSON](https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/facts.json)

## [ByteDance: Seedance 2.0](https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/)

Seedance 2.0 gera e edita vídeo usando texto, imagens e referências de vídeo e áudio. Pode continuar filmagens existentes e gerar som sincronizado, com duração de 4–15 segundos, saída de 480p ou 720p e papéis explícitos das referências.

- [**Ailoot Ultra · Vídeo** `POST /v1/videos` `doubao-seedance-2-0-260128`](https://ailoot.ai/models/pt-pt/doubao-seedance-2-0-260128/#method-0)

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

Seedance 2.0 gera vídeo a partir de uma cena escrita ou de uma combinação de referências de imagem, vídeo e áudio. O seletor exato doubao-seedance-2-0-260128 identifica o perfil 2.0 padrão. Os fluxos de trabalho documentados incluem geração de vídeo novo, edição e extensão de filmagens existentes. Utilize referências para comunicar aspeto, movimento, linguagem de câmara e som, depois indique quais as partes da cena que devem controlar.

O texto pode ser fornecido sozinho. As combinações multimodais documentadas também permitem imagens ou vídeo com texto opcional, imagens com áudio, vídeo com áudio e imagens, vídeo e áudio em conjunto. Nestas combinações listadas, o áudio acompanha assim conteúdos visuais; não é descrito como um pedido autónomo de vídeo apenas a partir de áudio. Escreva claramente o resultado pretendido mesmo quando o texto é opcional, para que o papel de cada referência seja explícito em vez de inferido a partir de materiais sem relação.

O array content distingue elementos text, image\_url, video\_url e audio\_url. As referências multimodais usam papéis como reference\_image, reference\_video e reference\_audio. Uma imagem pode definir a pessoa, o objeto, o local ou o aspeto. Um vídeo pode demonstrar uma atuação, um movimento ou uma vista da câmara e o áudio pode estabelecer uma faixa ou os tempos. Indique a atribuição nas instruções: manter o sujeito da imagem, seguir a vista da câmara do vídeo e usar o áudio como fundo. Não peça a todas as referências para definir todas as propriedades ao mesmo tempo.

O exemplo publicitário documentado combina duas imagens de produto com um vídeo e uma referência áudio. Descreve uma vista inicial, uma sequência de ações, um detalhe próximo do produto e uma composição final, mantendo a voz de fundo coerente. A mesma estrutura pode organizar uma apresentação curta: estabelecer o objeto, demonstrar uma ação e terminar na sua característica reconhecível. Para uma edição, identifique as filmagens de origem e o elemento que deve mudar; para uma extensão, explique a ação que continua para além da cena existente, preservando o sujeito e a direção do movimento.

O perfil 2.0 documenta uma duração em segundos inteiros de quatro a quinze ou -1 para uma duração escolhida automaticamente dentro desse intervalo. A predefinição é de cinco segundos. As opções de resolução são 480p e 720p, com 720p por predefinição; 1080p está excluído para 2.0. As proporções fixas incluem 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9. A proporção adaptativa pode escolher o enquadramento a partir do prompt ou da referência: o trabalho de primeiro fotograma segue a imagem inicial e o trabalho multimodal usa a cena pretendida ou o primeiro conteúdo multimédia relevante, com o vídeo a ter prioridade sobre as imagens. Verifique no resultado da tarefa a proporção e a duração reais.

O som gerado é controlado separadamente dos conteúdos multimédia de referência. generate\_audio=true pede vozes, efeitos e música de fundo sincronizados com base no texto e no conteúdo visual; false pede um vídeo sem som. A predefinição documentada é true e recomenda-se diálogo entre aspas para a fala. Especifique quem fala e como o som se relaciona com a ação visível, depois inspecione as palavras efetivas, a atribuição das vozes e os tempos. Fornecer uma referência áudio e ativar som gerado são escolhas distintas do pedido.

O guia de 2.0 exclui os controlos antigos frames e camera\_fixed e não suporta processamento offline flex. Utilize o campo duration e descreva o movimento da câmara na própria cena. Seed e marca de água continuam a ser controlos documentados; o guia indica que o mesmo pedido e seed podem produzir resultados semelhantes sem garantir identidade exata. Evite tratar um seed como prova de reprodutibilidade ou um pedido repetido como um vídeo já inspecionado.

A utilização de tokens de vídeo é calculada como (duração do vídeo de entrada + duração do vídeo de saída) × largura da saída × altura da saída × frequência de fotogramas da saída / 1024. Os pedidos que contêm vídeo de entrada e os que não contêm vídeo de entrada têm categorias de faturação distintas. A consulta da tarefa comunica usage.completion\_tokens e usage.total\_tokens; guarde estas quantidades comunicadas com o vídeo concluído.

O fluxo de trabalho é assíncrono: o envio devolve um identificador de tarefa e a tarefa concluída fornece content.video\_url juntamente com a duração, a resolução, a proporção, a frequência de fotogramas e a utilização de tokens comunicadas. Preserve o identificador e guarde o vídeo concluído com as referências originais e o prompt. O campo de expiração tem 172 800 segundos por predefinição e aceita 3 600–259 200 segundos desde a criação da tarefa; uma tarefa que ultrapassa o intervalo passa ao estado expired. Reveja toda a saída, incluindo a junção da edição ou continuação, quanto ao aspeto das personagens, detalhe dos objetos, relações espaciais, continuidade da câmara e sincronização entre som e imagem.

**Ailoot Ultra · Vídeo** `POST /v1/videos` `doubao-seedance-2-0-260128`

[`doubao-seedance-2-0-260128`](https://ailoot.ai/models/pt-pt/#m=doubao-seedance-2-0-260128&route=Ultra&caller=doubao-seedance-2-0-260128&fmt=videos)

ByteDance /`doubao-seedance-2-0-260128`

### Introdução

Seedance 2.0 gera e edita vídeo usando texto, imagens e referências de vídeo e áudio. Pode continuar filmagens existentes e gerar som sincronizado, com duração de 4–15 segundos, saída de 480p ou 720p e papéis explícitos das referências.

Entradas aceites

Texto · Imagens · Vídeo · Áudio

Resultados

Vídeo

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Vídeo** `POST /v1/videos`

Entrada

`text`, `image`, `video`, `audio`

Saída

`video`

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites doubao-seedance-2-0-260128 | Predefinição— |
| Campo`content` | Tipo`array` | RequisitoObrigatório | Valores e limites Condições: Objetos nativos de texto/conteúdo multimédia; a matriz exterior não pode estar vazia. Este construtor genérico da Ailoot não valida os tipos dos nós internos. | Predefinição— |
| Campo`generate_audio` | Tipo`boolean` | RequisitoOpcional | Valores e limites Condições: Som sincronizado incorporado no vídeo. | Predefiniçãotrue |
| Campo`duration` | Tipo`integer` | RequisitoOpcional | Valores e limites Condições: Inteiro 4–15 ou -1; é devolvida a duração real da saída. | Predefinição5 |
| Campo`resolution` | Tipo`string` | RequisitoOpcional | Valores e limites 480p, 720p Condições: 1080p explicitamente não suportado para 2.0/fast. | Predefinição720p |
| Campo`ratio` | Tipo`string` | RequisitoOpcional | Valores e limites 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Condições: O modo adaptativo está explicitamente limitado a 2.0/fast/1.5; o exemplo de 2.5 utiliza apenas 16:9. | Predefiniçãoadaptive |
| Campo`watermark` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
| Campo`seed` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: -1 Máximo: 4 294 967 295 | Predefinição-1 |
| Campo`execution_expires_after` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: 3600 Máximo: 259 200 Unidade: segundos | Predefinição172 800 |
| Campo`service_tier` | Tipo`string` | RequisitoOpcional | Valores e limites default Condições: 2.0/fast excluem a opção offline flex; o âmbito de 2.5 não está estabelecido. | Predefiniçãodefault |
| Campo`safety_identifier` | Tipo`string` | RequisitoOpcional | Valores e limites | Predefinição— |
| Campo`tools` | Tipo`object` | RequisitoOpcional | Valores e limites Condições: Apenas 2.0/fast; type=web\_search documentado. | Predefinição— |

Combinações de materiais de entrada

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratocontent, model |
| Parâmetro`optional` | Contratogenerate\_audio, duration, resolution, ratio, watermark, seed, execution\_expires\_after, service\_tier, safety\_identifier, tools |
| Parâmetro`material_types` | Contratotext, image, video, audio |
| Parâmetro`additional_properties` | Contratotrue |
| Parâmetro`validation_scope` | ContratoA Ailoot verifica os tipos dos campos obrigatórios e se model e a matriz content não estão vazios. Os outros campos do pedido são preservados para o modelo selecionado. |
| Parâmetro`material_combinations` | Contratotext, image, video, image, audio, image, video, video, audio, image, video, audio |
| Parâmetro`optional_text_with_media` | Contratotrue |
| Parâmetro`reference_media_count_and_size_limits` | Contratonull |

Aliases do método: `/v1/videos/generations`

Ciclo de vida: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/videos/generations/{request_id}/content`

Crie uma única vez e conserve o id/polling\_url público devolvido.

Consulte periodicamente a tarefa original; transfira o content.video\_url real pertencente ao utilizador após succeeded.

### Tarifários

##### Cálculo do custo final

As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas estimadas para comparação

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Quantidade prevista | Unidade de faturação | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Unidade de faturação— | Custo Entrada · Tokens de entrada · Estimativa apenas para comparação **—** / 1K tokens Saída · Tokens de saída · Estimativa apenas para comparação **—** / 1K tokens Entrada · Leitura da cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação **—** / 1K tokens |
| ConfiguraçãoA entrada contém vídeo. | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação **$0.0096** por 1K tokens de vídeo |
| ConfiguraçãoA entrada não contém vídeo. | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação **$0.015768** por 1K tokens de vídeo |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Unidade de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$0.822402** estimativa antes da geração Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída. |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · Vídeo

curl · crie um vídeocurl · consulte a tarefa originalcurl · descarregue o vídeo que lhe pertence

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动"}]}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
```

```bash
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt
```

### Receber e guardar os resultados

#### Ailoot Ultra · Vídeo

JSON nativo com id/polling\_url público. Após a publicação, content.video\_url contém URL(s) assinados pertencentes à Ailoot; antes da publicação, os URLs das saídas selecionadas ficam vazios.

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Guardar todos os resultados concluídos

Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.

Conserve todos os URL reais em content.video\_url; index tem de identificar uma saída real devolvida.

##### Se for necessário verificar a resposta original

Conserve a resposta/cabeçalhos/id originais e consulte periodicamente essa operação; nunca volte a enviar uma criação de resultado desconhecido.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`provider_task_id` | Tipostring |
| Campo`polling_url` | Tipostring |
| Campo`status` | Tipostring when supplied |
| Campo`content.video_url` | Tipostring\|string\[\] |
| Campo`usage` | Tipoobject when supplied |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoJSON/model/tipos de campos obrigatórios ou índice de conteúdo inválido. | Passo seguinte |
| Resposta401 · `authentication_error` | CondiçãoChave API da Ailoot inválida. | Passo seguinte |
| Resposta404 · `not_found_error` | CondiçãoA tarefa/saída não existe ou não pertence ao mesmo utilizador/chave API/grupo. | Passo seguinte |
| Resposta502 · `result_pending_check` | CondiçãoEnvio/estado original incompleto; conserve o ID original, sem voltar a enviar. | Passo seguinte |
| Resposta503 · `result_pending_check` | CondiçãoO conteúdo multimédia/a rota/a liquidação original está em verificação; continue a operação original. | Passo seguinte |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`doubao-seedance-2-0-260128`](https://ailoot.ai/models/pt-pt/#m=doubao-seedance-2-0-260128&route=Ultra&caller=doubao-seedance-2-0-260128&fmt=videos)

#### Aliases dos caminhos dos métodos

`/v1/videos/generations`

#### IDs de chamada relacionados

[`doubao-seedance-2-0-260128`](https://ailoot.ai/models/pt-pt/#m=doubao-seedance-2-0-260128&route=Ultra&caller=doubao-seedance-2-0-260128&fmt=videos)

FAQ · ByteDance: Seedance 2.0

Que entradas e resultados estão disponíveis?

`POST /v1/videos` · `doubao-seedance-2-0-260128`: `text`, `image`, `video`, `audio` → `video`

Que campos utiliza o pedido?

`POST /v1/videos` · `doubao-seedance-2-0-260128`: `model`, `content`, `generate_audio`, `duration`, `resolution`, `ratio`, `watermark`, `seed`, `execution_expires_after`, `service_tier`, `safety_identifier`, `tools`

Que limites se aplicam?

`POST /v1/videos` · `doubao-seedance-2-0-260128`: `seed.minimum`: `-1`; `seed.maximum`: `4294967295`; `execution_expires_after.minimum`: `3600`; `execution_expires_after.maximum`: `259200`

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

## A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

## Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição

Escolha um plano com desconto para os pedidos regulares.

Código promocional até 50%

Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.

Custos no histórico

O modelo, os tokens e o montante são guardados para cada pedido.

[Escolher subscrição](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial

Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.

Licença de revendedor

Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.

Documentos no site

A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

[Pedir licença de revendedor](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
