modelos

ByteDance: Seedance 1.0 Pro

Markdown · JSON

ByteDance: Seedance 1.0 Pro

Seedance 1.0 Pro gera vídeo sem som a partir de texto ou de uma imagem inicial. Descreva a ação e a câmara ou anime uma composição existente, com duração de 2–12 segundos, 24 fps e controlos explícitos do enquadramento e da resolução da saída.

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 1.0 Pro gera um vídeo a partir de texto ou de uma cena guiada por imagem. O seletor doubao-seedance-1-0-pro-250528 suporta ambos os modos de entrada, pelo que o ponto de partida pode ser um conceito escrito ou uma composição visual existente. Utilize instruções de texto para criar uma cena nova ou forneça uma imagem quando o sujeito, a disposição e a vista inicial devem ser estabelecidos visualmente. Este perfil 1.0 produz vídeo sem som; o som sincronizado pertence ao perfil 1.5 Pro descrito separadamente.

Para gerar vídeo a partir de texto, especifique o sujeito, o ambiente, o movimento, o enquadramento e a câmara numa única cena coerente. O exemplo documentado avança gradualmente de um campo de margaridas para uma vista próxima de uma flor com orvalho nas pétalas. Essa estrutura é útil para outras apresentações: estabeleça o cenário, aproxime-se do sujeito e termine no detalhe importante. Para um conceito de produto, descreva o material e a iluminação além da ação e dê à câmara um percurso realizável no plano curto.

Para gerar vídeo a partir de imagem, coloque a referência num elemento content do tipo image_url e explique o que deve mudar face à vista inicial. Um retrato preparado pode definir a pessoa e o recorte, enquanto as instruções descrevem uma pequena rotação, cabelo em movimento ou um recuo suave da câmara. Uma imagem estática de produto pode estabelecer o objeto e o fundo, enquanto o prompt pede uma apresentação gradual e controlada. Mantenha o movimento pedido compatível com a composição de origem; uma imagem de um lado de um objeto não fornece uma vista exata, não mostrada, de todos os outros lados.

O campo de imagem aceita um URL acessível ou um URL de dados que contenha dados de imagem Base64. Os formatos documentados são JPEG, PNG, WEBP, BMP, TIFF e GIF. As imagens devem ter menos de 30 MB, com uma proporção entre largura e altura estritamente entre 0.4 e 2.5 e cada dimensão estritamente entre 300 e 6000 píxeis. Prepare uma fonte nítida com o recorte pretendido em vez de depender de uma miniatura que já perdeu os detalhes distintivos. Para gerar vídeo a partir de imagem, o guia recomenda enquadramento adaptativo para seguir as proporções da referência.

A duração documentada para 1.0 é de dois a doze segundos e a frequência é de 24 fps. Os controlos de saída incluem os níveis 480p, 720p e 1080p, com 1080p como predefinição de Pro; o guia exclui 1080p no cenário com imagem de referência. Os formatos fixos incluem 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9. Escolha uma combinação compatível com imagens para um plano guiado por imagem, em vez de transferir todas as definições de vídeo a partir de texto sem alterações. Inspecione o enquadramento efetivamente devolvido antes de colocar o vídeo numa composição gráfica.

Os controlos de seed e marca de água estão documentados juntamente com camerafixed. A instrução de câmara fixa não é suportada no cenário com imagem de referência e, onde se aplica, o guia não garante uma câmara perfeitamente imóvel. As instruções de parâmetros inseridas no prompt têm precedência sobre os campos opcionais separados. Mantenha uma única definição de referência para duração, resolução e proporção e faça a descrição da câmara concordar com ela. Isto evita que as instruções da cena se sobreponham silenciosamente às definições selecionadas para o pedido.

A utilização é medida em tokens de vídeo: largura da saída × altura da saída × frequência de fotogramas × duração da saída / 1024. A tarefa concluída comunica esta quantidade como usage.completion_tokens. Guarde a utilização comunicada com o vídeo concluído e as definições pedidas.

O fluxo de trabalho devolve primeiro um identificador de tarefa e, após o processamento, a localização do vídeo concluído. Preserve o identificador ao verificar se a tarefa está em fila ou em execução; uma tarefa concluída com sucesso fornece content.video_url e informação de utilização. A retenção documentada dos ficheiros gerados é de sete dias. Guarde o vídeo concluído, a imagem de origem e o prompt exato como registo da revisão, depois inspecione o aspeto do sujeito, o movimento, a continuidade com a imagem e a composição final em todo o resultado.

Ailoot Ultra · Vídeo POST /v1/videos doubao-seedance-1-0-pro-250528

doubao-seedance-1-0-pro-250528

ByteDance /doubao-seedance-1-0-pro-250528

Introdução

Seedance 1.0 Pro gera vídeo sem som a partir de texto ou de uma imagem inicial. Descreva a ação e a câmara ou anime uma composição existente, com duração de 2–12 segundos, 24 fps e controlos explícitos do enquadramento e da resolução da saída.

Entradas aceites
Texto · Imagens
Resultados
Vídeo

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Vídeo POST /v1/videos
Entrada
text, image
Saída
video
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
doubao-seedance-1-0-pro-250528
Predefinição—
CampocontentTipoarrayRequisitoObrigatórioValores 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—
CampodurationTipointegerRequisitoOpcionalValores e limites
Mínimo: 2
Máximo: 12
Condições: Esquema principal 1.x: 2–12; a descrição comum posterior indica 1.5 como 4–12 ou -1. O exemplo utiliza 5, documentado em ambas as fontes.
Predefinição5
CamporesolutionTipostringRequisitoOpcionalValores e limites
Condições: Os valores confirmados para texto para vídeo são 480p e 1080p. A entrada com imagem de referência exclui 1080p. O enum comum 720p entra em conflito com a descrição específica do modelo, pelo que o suporte de 720p continua por esclarecer em ambos os modos.
Predefinição1080p
CamporatioTipostringRequisitoOpcionalValores e limites
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
Condições: Valores predefinidos dependentes da cena/modelo; a documentação da entrada de imagem recomenda adaptive.
Predefinição—
Camposervice_tierTipostringRequisitoOpcionalValores e limites
default, flex
Condições: default=online, flex=offline; escolha antes da criação.
Predefiniçãodefault
CamposeedTipointegerRequisitoObrigatórioValores e limites
Mínimo: -1
Máximo: 4 294 967 295
Predefinição-1
CampocamerafixedTipobooleanRequisitoObrigatórioValores e limites
Condições: Obrigatório pela Ailoot; o controlo da câmara com imagem de referência está documentado como não suportado e o efeito não é garantido.
Predefiniçãofalse
CampowatermarkTipobooleanRequisitoObrigatórioValores e limitesPredefiniçãofalse
Campoexecution_expires_afterTipointegerRequisitoObrigatórioValores e limites
Mínimo: 3600
Máximo: 259 200
Unidade: segundos
Predefinição172 800
Combinações de materiais de entrada

Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratocamerafixed, content, execution_expires_after, model, seed, watermark
ParâmetrooptionalContratoduration, resolution, ratio, service_tier
Parâmetromaterial_typesContratotext, image
Parâmetroadditional_propertiesContratotrue
Parâmetrovalidation_scopeContratoA 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âmetroimage_constraintsContrato{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null}

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çãoTabela de tarifasQuantidade previstaUnidade de faturaçãoCusto
ConfiguraçãoTarifas base por tokenTabela de tarifasTarifa baseQuantidade 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çãoUltraTabela de tarifas—Quantidade prevista—Unidade de faturaçãopor 1K tokens de vídeoCusto
Saída · Estimativa apenas para comparação $0.0044 por 1K tokens de vídeo
ConfiguraçãoCusto estimado de geraçãoTabela de tarifas—Quantidade previstaestimativa para uma geraçãoUnidade de faturação—Custo
Saída · Custo estimado de geração · Estimativa apenas para comparação $0.2112 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 →

Exemplos de pedidos

Ailoot Ultra · Vídeo

curl · crie um vídeocurl · consulte a tarefa originalcurl · descarregue o vídeo que lhe pertence
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-pro-250528","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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
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
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
CampoTipo
CampoidTipostring
Campoprovider_task_idTipostring
Campopolling_urlTipostring
CampostatusTipostring when supplied
Campocontent.video_urlTipostring|string[]
CampousageTipoobject when supplied
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoJSON/model/tipos de campos obrigatórios ou índice de conteúdo inválido.Passo seguinte
Resposta401 · authentication_errorCondiçãoChave API da Ailoot inválida.Passo seguinte
Resposta404 · not_found_errorCondiçãoA tarefa/saída não existe ou não pertence ao mesmo utilizador/chave API/grupo.Passo seguinte
Resposta502 · result_pending_checkCondiçãoEnvio/estado original incompleto; conserve o ID original, sem voltar a enviar.Passo seguinte
Resposta503 · result_pending_checkCondiçã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-1-0-pro-250528

Aliases dos caminhos dos métodos

/v1/videos/generations

IDs de chamada relacionados

doubao-seedance-1-0-pro-250528

FAQ · ByteDance: Seedance 1.0 Pro
Que entradas e resultados estão disponíveis?

POST /v1/videos · doubao-seedance-1-0-pro-250528: text, image → video

Que campos utiliza o pedido?

POST /v1/videos · doubao-seedance-1-0-pro-250528: model, content, duration, resolution, ratio, service_tier, seed, camerafixed, watermark, execution_expires_after

Que limites se aplicam?

POST /v1/videos · doubao-seedance-1-0-pro-250528: duration.minimum: 2; duration.maximum: 12; seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

Mais detalhes

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 · Ver preços dos modelos

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 · Oferta e contrato de licença