modelos

ByteDance: Seedance 2.5

Markdown · JSON

ByteDance: Seedance 2.5

Seedance 2.5 cria vídeo a partir de texto e referências de imagem, vídeo ou áudio, com fluxos de trabalho documentados de edição e extensão. O seu exemplo específico de 2.5 combina uma imagem de produto com várias referências de movimento e ativa som gerado para uma sequência publicitária coordenada.

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.5 cria vídeo usando uma cena escrita e referências multimodais. O seletor exato doubao-seedance-2-5-260628 tem a sua própria operação e exemplo documentados. Essa operação descreve geração, edição e extensão de vídeo, com imagens, vídeo, áudio e texto como conteúdos de entrada. Utilize as referências para comunicar aspeto do sujeito, ação, movimento da câmara, estilo e som, depois explique o resultado a criar a partir delas.

As combinações de entrada incluem só texto, imagens ou vídeo com texto opcional, imagens com áudio, vídeo com áudio e imagens, vídeo e áudio em conjunto. As combinações listadas associam áudio a conteúdos visuais em vez de descreverem um pedido apenas de áudio. Organize cada elemento pelo seu papel: uma imagem estabelece um sujeito ou aspeto, um vídeo demonstra movimento ou uma cena existente e o áudio fornece uma referência sonora. Indique qual o papel relevante para o plano pedido, para que uma referência de fundo não seja confundida com a personagem principal.

O exemplo específico de 2.5 é uma sequência publicitária de produto. Fornece uma imagem e várias referências de vídeo, depois descreve um foco inicial, disposições ordenadas de produtos, planos de detalhe, uma ação em câmara lenta e uma composição final da marca. O pedido atribui os papéis reference_image e reference_video e usa referências individuais para composição, movimento, trabalho de câmara e impacto. Isto dá uma estrutura prática a um conceito de campanha: planeie os momentos visuais, identifique a referência de cada momento e especifique a disposição final.

Uma sequência escrita pode distinguir o que acontece de como é filmado. Descreva primeiro a ação do produto, depois a escala do plano, o percurso da câmara, o ritmo e a transição para a vista seguinte. Se uma referência define o produto e outra demonstra um movimento de câmara, indique essas responsabilidades separadas. Para uma cena com vários objetos, explique as suas posições e a ordem das interações. Inspecione o resultado gerado quanto à forma real do produto, à disposição e ao movimento, em vez de presumir que todos os detalhes das referências aparecem inalterados.

Para uma edição, identifique o vídeo existente e o elemento a rever, como o cenário, uma ação ou o estilo visual, indicando a continuidade a manter. Para uma extensão, descreva como a cena deve continuar a partir das filmagens fornecidas. Reveja a junção além do novo segmento: aspeto do sujeito, direção do movimento, posição da câmara e tempos do som afetam a perceção do resultado como uma única cena. Mantenha juntos o vídeo original e a revisão concluída, para que a alteração possa ser verificada face à continuidade pretendida.

O exemplo multimodal documentado de 2.5 define generate_audio=true e pede uma sequência de quinze segundos com enquadramento 16:9. Estes valores descrevem esse exemplo, não um limite universal de duração ou de materiais de referência. Dê à cena pedida uma intenção sonora clara, incluindo a relação entre música, efeitos e ação visível, depois avalie a saída audiovisual real. Uma referência sonora e a banda sonora gerada devem ser revistas em conjunto quanto ao ritmo e à execução pretendidos.

Escolha a duração, o enquadramento e a resolução a partir das definições oferecidas para este perfil específico. Guarde a configuração pedida com o prompt e compare-a com os campos efetivamente devolvidos pela tarefa. Utilize a duração, a resolução e a proporção devolvidas ao preparar o vídeo concluído para o seu destino. Preserve o identificador exato do perfil no registo da revisão, para que uma comparação posterior use a mesma edição selecionada.

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.

A geração é assíncrona. O envio devolve um identificador e o fluxo de tarefas configurado fornece o estado, seguido de content.video_url após o sucesso. Guarde o vídeo concluído com os conteúdos de origem e as instruções da sequência. Reveja todos os momentos planeados, as interações dos objetos, o aspeto das personagens, o enquadramento e o alinhamento do som em todo o resultado. Para uma revisão, identifique o detalhe concreto que falhou e preserve as partes da cena que resultaram, em vez de substituir todas as instruções por outras sem relação.

Ailoot Ultra · Vídeo POST /v1/videos doubao-seedance-2-5-260628

doubao-seedance-2-5-260628

ByteDance /doubao-seedance-2-5-260628

Introdução

Seedance 2.5 cria vídeo a partir de texto e referências de imagem, vídeo ou áudio, com fluxos de trabalho documentados de edição e extensão. O seu exemplo específico de 2.5 combina uma imagem de produto com várias referências de movimento e ativa som gerado para uma sequência publicitária coordenada.

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
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
doubao-seedance-2-5-260628
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—
Campogenerate_audioTipobooleanRequisitoOpcionalValores e limites
Condições: O exemplo de 2.5 define true, mas a descrição copiada do seletor enumera apenas 2.0/fast/1.5; não existe uma garantia mais ampla de definição/valor predefinido.
Predefinição—
CampodurationTipointegerRequisitoOpcionalValores e limites
Condições: O valor literal 15 do exemplo de 2.5 não é um máximo nem um valor predefinido.
Predefinição—
CamporesolutionTipostringRequisitoOpcionalValores e limites
Condições: Não se deduz qualquer valor predefinido/enum específico de 2.5 a partir de descrições copiadas.
Predefinição—
CamporatioTipostringRequisitoOpcionalValores e limites
Condições: O modo adaptativo está explicitamente limitado a 2.0/fast/1.5; o exemplo de 2.5 utiliza apenas 16:9.
Predefinição—
CampowatermarkTipobooleanRequisitoOpcionalValores e limitesPredefiniçãofalse
CamposeedTipointegerRequisitoOpcionalValores e limites
Mínimo: -1
Máximo: 4 294 967 295
Predefinição-1
Campoexecution_expires_afterTipointegerRequisitoOpcionalValores e limites
Mínimo: 3600
Máximo: 259 200
Unidade: segundos
Predefinição172 800
Camposervice_tierTipostringRequisitoOpcionalValores e limites
Condições: 2.0/fast excluem a opção offline flex; o âmbito de 2.5 não está estabelecido.
Predefinição—
Camposafety_identifierTipostringRequisitoOpcionalValores e limitesPredefinição—
Combinações de materiais de entrada

Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratocontent, model
ParâmetrooptionalContratogenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier
Parâmetromaterial_typesContratotext, image, video, audio
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âmetromaterial_combinationsContratotext, image, video, image, audio, image, video, video, audio, image, video, audio
Parâmetrooptional_text_with_mediaContratotrue
Parâmetroreference_media_count_and_size_limitsContratonull

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çãoA entrada contém vídeo.Tabela de tarifas—Quantidade prevista—Unidade de faturaçãopor 1K tokens de vídeoCusto
Saída · Estimativa apenas para comparação $0.012 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ídeoCusto
Saída · Estimativa apenas para comparação $0.02 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.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 →

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-2-5-260628","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
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-2-5-260628

Aliases dos caminhos dos métodos

/v1/videos/generations

IDs de chamada relacionados

doubao-seedance-2-5-260628

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

POST /v1/videos · doubao-seedance-2-5-260628: text, image, video, audio → video

Que campos utiliza o pedido?

POST /v1/videos · doubao-seedance-2-5-260628: model, content, generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier

Que limites se aplicam?

POST /v1/videos · doubao-seedance-2-5-260628: 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