ByteDance: Seedance 1.5 Pro
Seedance 1.5 Pro gera vídeo a partir de texto ou de uma imagem e pode criar vozes, efeitos e música de fundo sincronizados. O áudio pode ser ativado ou desativado; o perfil documentado oferece cenas de 4–12 segundos, enquadramento adaptativo e processamento online ou flex.
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.5 Pro gera vídeo a partir de texto ou de uma imagem e pode gerar som em conjunto com a imagem. O seletor exato é doubao-seedance-1-5-pro-251215. O seu controlo de áudio distingue-o dos perfis Seedance 1.0 sem som: generate_audio=true pede áudio sincronizado, enquanto false pede vídeo sem som. Utilize uma cena escrita para um conceito novo ou uma imagem para estabelecer o sujeito inicial e a composição.
Descreva a ação visual e o som como partes da mesma cena. Identifique o sujeito, o cenário, o movimento e a câmara, depois explique as vozes, os efeitos sonoros ou a música de fundo pretendidos. Uma cena de retrato pode mostrar uma pessoa a abrir os olhos enquanto a câmara recua lentamente, com vento no ambiente. Para uma cena de produto, ligue o som ao acontecimento visível, como uma tampa a abrir ou um objeto a tocar numa superfície, em vez de acrescentar uma lista de efeitos sem relação.
O modelo pode gerar vozes, efeitos e música de fundo a partir do prompt e do conteúdo visual. O guia recomenda colocar o diálogo falado entre aspas duplas. Mantenha a fala suficientemente curta para a ação e as pausas pedidas e distinga quem fala quando participa mais de uma personagem. Reveja as palavras efetivas, a atribuição das vozes e a sincronização com a imagem. Uma instrução sonora orienta a execução gerada; não é uma entrada separada de referência de voz carregada no pedido documentado deste perfil.
A geração de vídeo a partir de imagem usa um elemento image_url juntamente com o texto. Forneça um URL de imagem acessível ou um URL de dados Base64 em formato JPEG, PNG, WEBP, BMP, TIFF ou GIF. Os limites documentados das imagens são menos de 30 MB, ambas as dimensões estritamente entre 300 e 6000 píxeis e uma proporção entre largura e altura estritamente entre 0.4 e 2.5. Prepare claramente o recorte e o sujeito pretendidos, depois descreva o movimento a partir dessa composição. O exemplo com imagem usa uma proporção adaptativa para seguir a referência.
O guia de duração específico do perfil lista segundos inteiros de quatro a doze ou -1 para o modelo escolher uma duração dentro desse intervalo. A duração predefinida é de cinco segundos. Seedance 1.5 Pro tem 720p por predefinição e a tabela de perfil conservada documenta 480p e 720p; o guia operacional dedicado não oferece 1080p para 1.5 Pro. As escolhas de proporção fixa incluem 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9, com adaptive como predefinição documentada de 1.5. Inspecione a duração e as proporções reais do vídeo, em vez de tratar os valores pedidos como um resultado já devolvido.
O pedido expõe dois níveis de processamento. service_tier=default seleciona processamento online, enquanto flex seleciona processamento offline para trabalho que tolera mais atraso. O nível não pode ser alterado depois de a tarefa ser enviada. Escolha-o para as necessidades temporais do fluxo de trabalho e guarde essa seleção no registo do pedido. O modo de áudio e o nível de processamento são escolhas separadas: um vídeo sem som não é automaticamente uma tarefa offline e ativar o áudio não seleciona um nível de processamento.
Mantenha as instruções de seed, marca de água e câmara coerentes com a cena. Os comandos de parâmetros inseridos no texto têm precedência sobre os parâmetros opcionais separados. O controlo de câmara fixa está excluído no cenário com imagem de referência e não garante um bloqueio visual onde se aplica. Para uma animação guiada por imagem, explique diretamente o movimento pretendido, em vez de presumir que um controlo de câmara elimina a necessidade de descrever o plano.
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. Áudio ativado ou desativado e processamento online ou flex continuam a ser categorias distintas na cobrança baseada na utilização.
O envio devolve um identificador de tarefa assíncrona. Acompanhe a tarefa até à conclusão, depois guarde o vídeo fornecido em content.video_url. A retenção documentada dos ficheiros gerados é de sete dias. O controlo de expiração é medido desde a criação, tem 172 800 segundos por predefinição e aceita valores de 3 600 a 259 200 segundos; uma tarefa por concluir passa ao estado expired após o intervalo configurado. Mantenha juntos o vídeo final, a imagem original e as instruções visuais e sonoras exatas, depois reveja todo o resultado quanto à ação, identidade, continuidade da câmara e alinhamento do som.
Ailoot Ultra · Vídeo POST /v1/videos doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215Introdução
Seedance 1.5 Pro gera vídeo a partir de texto ou de uma imagem e pode criar vozes, efeitos e música de fundo sincronizados. O áudio pode ser ativado ou desativado; o perfil documentado oferece cenas de 4–12 segundos, enquadramento adaptativo e processamento online ou flex.
- 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
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites doubao-seedance-1-5-pro-251215 | 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— |
Campoduration | Tipointeger | RequisitoOpcional | Valores e limites 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 |
Camporesolution | Tipostring | RequisitoOpcional | Valores e limites 480p, 720p Condições: Seedance 1.5 Pro suporta 480p e 720p; 1080p está excluído. A resolução predefinida documentada é 720p. | Predefinição720p |
Camporatio | Tipostring | RequisitoOpcional | Valores e limites 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Condições: A proporção predefinida documentada de Seedance 1.5 Pro é adaptive. As opções de proporção fixa mantêm-se inalteradas. | Predefiniçãoadaptive |
Camposervice_tier | Tipostring | RequisitoOpcional | Valores e limites default, flex Condições: default=online, flex=offline; escolha antes da criação. | Predefiniçãodefault |
Camposeed | Tipointeger | RequisitoObrigatório | Valores e limites Mínimo: -1 Máximo: 4 294 967 295 | Predefinição-1 |
Campocamerafixed | Tipoboolean | RequisitoObrigatório | Valores 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 |
Campowatermark | Tipoboolean | RequisitoObrigatório | Valores e limites | Predefiniçãofalse |
Campoexecution_expires_after | Tipointeger | RequisitoObrigatório | Valores e limites Mínimo: 3600 Máximo: 259 200 Unidade: segundos | Predefinição172 800 |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores e limites Condições: Som sincronizado incorporado no vídeo gerado, exclusivo de 1.5. | Predefiniçãotrue |
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 | Contratocamerafixed, content, execution_expires_after, model, seed, watermark |
Parâmetrooptional | Contratoduration, resolution, ratio, service_tier, generate_audio |
Parâmetromaterial_types | Contratotext, image |
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âmetroimage_constraints | Contrato{"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ção | Tabela de tarifas | Quantidade prevista | Gerar áudio | Escalão de serviço | Unidade de faturação | Custo |
|---|---|---|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Gerar áudio— | Escalão de serviço— | 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çãoNível de serviço offline (flex). Saída com áudio sincronizado. | Tabela de tarifas— | Quantidade prevista— | Gerar áudioCom áudio | Escalão de serviçoflex | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação $0.0024 por 1K tokens de vídeo |
| ConfiguraçãoNível de serviço offline (flex). Saída sem áudio sincronizado. | Tabela de tarifas— | Quantidade prevista— | Gerar áudioSem áudio | Escalão de serviçoflex | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação $0.0012 por 1K tokens de vídeo |
| ConfiguraçãoNível de serviço online (default). Saída com áudio sincronizado. | Tabela de tarifas— | Quantidade prevista— | Gerar áudioCom áudio | Escalão de serviçodefault | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação $0.0048 por 1K tokens de vídeo |
| ConfiguraçãoNível de serviço online (default). Saída sem áudio sincronizado. | Tabela de tarifas— | Quantidade prevista— | Gerar áudioSem áudio | Escalão de serviçodefault | Unidade de faturaçãopor 1K tokens de vídeo | Custo Saída · Estimativa apenas para comparação $0.0024 por 1K tokens de vídeo |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Gerar áudio— | Escalão de serviço— | Unidade de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação $0.1152 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-1-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
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-1-5-pro-251215
Aliases dos caminhos dos métodos
/v1/videos/generations
IDs de chamada relacionados
FAQ · ByteDance: Seedance 1.5 Pro
- Que entradas e resultados estão disponíveis?
POST /v1/videos·doubao-seedance-1-5-pro-251215:text,image→video- Que campos utiliza o pedido?
POST /v1/videos·doubao-seedance-1-5-pro-251215:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after,generate_audio- Que limites se aplicam?
POST /v1/videos·doubao-seedance-1-5-pro-251215:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200