ByteDance: Seedance 2.0 Fast
Seedance 2.0 Fast é o perfil multimodal Fast para geração, edição e extensão de vídeo. Aceita texto e referências de imagem, vídeo e áudio, suporta saída com som sincronizado ou sem som e documenta vídeos de 4–15 segundos a 480p ou 720p.
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 Fast é o perfil Fast com uma designação separada, selecionado com doubao-seedance-2-0-fast-260128. Suporta geração, edição e extensão de vídeo usando texto, imagens e referências de vídeo e áudio. O perfil é útil quando as instruções de uma cena precisam de mais do que uma descrição do aspeto: os conteúdos existentes também podem comunicar atuação, linguagem de câmara e som. O nome Fast distingue a identidade do pedido; não é uma promessa de que uma tarefa assíncrona individual termina num tempo fixo.
Comece pelo elemento que deve definir o novo plano. O texto, por si só, pode descrever uma cena nova. Uma imagem pode estabelecer uma personagem, um produto ou uma composição; um vídeo pode fornecer movimento ou uma sequência existente para rever ou continuar. As combinações de conteúdo documentadas incluem imagens com áudio, vídeo com áudio e imagens, vídeo e áudio juntos, com texto opcional a acompanhar os conteúdos visuais. Estas combinações não descrevem um pedido autónomo apenas de áudio, por isso associe as referências sonoras à fonte visual que devem orientar.
Mantenha explícitos os papéis das referências no array content e nas instruções. Os elementos image_url, video_url e audio_url podem ter os papéis reference_image, reference_video e reference_audio. Descreva qual a imagem que fornece o sujeito, qual o vídeo que fornece a câmara ou a ação e qual o áudio que fornece a banda sonora. Para um plano de produto, uma imagem pode definir a embalagem enquanto um vídeo ilustra um movimento junto do objeto. Especifique o final pretendido para que a sequência curta tenha uma vista final útil em vez de parar a meio de uma ação.
Para edição, identifique as filmagens de origem, a alteração e a continuidade a manter. Uma alteração do fundo ou da iluminação deve deixar claramente especificados o sujeito e a ação pretendidos. Para extensão, explique o que acontece a seguir e como o novo movimento se liga à cena existente. As referências orientam a geração; inspecione a junção efetiva e o vídeo completo quanto ao aspeto, à direção do movimento e aos tempos, em vez de presumir que a continuação preserva todos os detalhes ao nível do fotograma.
O intervalo documentado de 2.0 Fast é de quatro a quinze segundos inteiros, com -1 disponível para uma duração selecionada pelo modelo dentro desse intervalo. A duração predefinida é de cinco segundos. A resolução de saída é 480p ou 720p, com 720p por predefinição e 1080p excluído. Escolha entre os formatos fixos 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9 ou enquadramento adaptativo. O enquadramento adaptativo segue o contexto relevante do prompt ou da referência; um plano de primeiro fotograma segue a imagem inicial, enquanto o enquadramento multimodal pode dar prioridade ao vídeo sobre as imagens. Leia os campos devolvidos pela tarefa para obter a duração e a proporção reais.
Utilize generate_audio para escolher se o vídeo gerado inclui som sincronizado. A predefinição documentada é true; false pede silêncio. Com o áudio ativado, o perfil gera vozes, efeitos ou música de fundo a partir do prompt e do conteúdo visual e o guia recomenda colocar o diálogo entre aspas duplas. Indique o falante e a relação pretendida entre som e ação. Reveja a fala com uma pessoa fluente na língua e verifique o alinhamento do som em todo o vídeo, incluindo qualquer segmento editado ou estendido.
O guia de 2.0 Fast exclui os controlos antigos frames e camera_fixed e não suporta processamento offline flex. Descreva o comportamento da câmara na cena e use duration para a duração do vídeo. As opções de seed e marca de água continuam documentadas. O mesmo seed não garante uma saída idêntica, por isso guarde o resultado concluído ao comparar revisões em vez de depender apenas das definições do pedido.
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 envio devolve um identificador de tarefa antes de o vídeo concluído estar disponível. Acompanhe o estado de processamento, depois obtenha content.video_url após o sucesso e guarde a duração, a resolução, a proporção, a frequência de fotogramas e a utilização comunicadas com o resultado. O intervalo de expiração é medido desde a criação da tarefa, tem 172 800 segundos por predefinição e varia de 3 600 a 259 200 segundos. Guarde o vídeo final com as referências e o prompt, depois verifique a identidade do sujeito, o contacto com os objetos, a continuidade da câmara e os tempos do som ao longo de toda a sequência.
Ailoot Ultra · Vídeo POST /v1/videos doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128Introdução
Seedance 2.0 Fast é o perfil multimodal Fast para geração, edição e extensão de vídeo. Aceita texto e referências de imagem, vídeo e áudio, suporta saída com som sincronizado ou sem som e documenta vídeos de 4–15 segundos a 480p ou 720p.
- 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 |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites doubao-seedance-2-0-fast-260128 | Predefinição— |
Campocontent | Tipoarray | 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— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores e limites Condições: Som sincronizado incorporado no vídeo. | Predefiniçãotrue |
Campoduration | Tipointeger | RequisitoOpcional | Valores e limites Condições: Inteiro 4–15 ou -1; é devolvida a duração real da saída. | Predefinição5 |
Camporesolution | Tipostring | RequisitoOpcional | Valores e limites 480p, 720p Condições: 1080p explicitamente não suportado para 2.0/fast. | Predefinição720p |
Camporatio | Tipostring | 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 |
Campowatermark | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Camposeed | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: -1 Máximo: 4 294 967 295 | Predefinição-1 |
Campoexecution_expires_after | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: 3600 Máximo: 259 200 Unidade: segundos | Predefinição172 800 |
Camposervice_tier | Tipostring | 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 |
Camposafety_identifier | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campotools | Tipoobject | 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âmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratocontent, model |
Parâmetrooptional | Contratogenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Parâmetromaterial_types | Contratotext, image, video, audio |
Parâmetroadditional_properties | Contratotrue |
Parâmetrovalidation_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âmetromaterial_combinations | Contratotext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parâmetrooptional_text_with_media | Contratotrue |
Parâmetroreference_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.007536 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.013032 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 →
Exemplos de pedidos
Ailoot Ultra · Vídeo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-fast-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
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}/contentGET /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 |
|---|---|
Campoid | Tipostring |
Campoprovider_task_id | Tipostring |
Campopolling_url | Tipostring |
Campostatus | Tipostring when supplied |
Campocontent.video_url | Tipostring|string[] |
Campousage | 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-fast-260128
Aliases dos caminhos dos métodos
/v1/videos/generations
IDs de chamada relacionados
FAQ · ByteDance: Seedance 2.0 Fast
- Que entradas e resultados estão disponíveis?
POST /v1/videos·doubao-seedance-2-0-fast-260128:text,image,video,audio→video- Que campos utiliza o pedido?
POST /v1/videos·doubao-seedance-2-0-fast-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-fast-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200