ByteDance: Seedance 1.0 Pro Fast
Seedance 1.0 Pro Fast é o perfil Fast com uma designação separada para gerar vídeo sem som a partir de texto e de imagem. Aceita instruções de cena ou uma composição guiada por imagem, com saída de 2–12 segundos, 24 fps e controlos explícitos do enquadramento.
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 Fast é o perfil Fast identificado por doubao-seedance-1-0-pro-fast-251015. Gera vídeo sem som a partir de uma cena escrita ou de uma composição inicial guiada por imagem. O seletor exato distingue este perfil de Seedance 1.0 Pro; a palavra Fast não define um tempo de conclusão garantido para uma tarefa individual. Escolha o modo de entrada de acordo com o que deve estabelecer a cena, depois avalie o vídeo devolvido face a essas instruções.
Um plano guiado por texto começa com uma sequência concisa: o sujeito e o cenário, a ação, o percurso da câmara e a vista final. Para apresentar um produto, descreva o objeto na sua superfície, a luz sobre o material e um movimento curto que termina na característica mostrada. Para um conceito de local, passe de um plano geral amplo para um ponto focal reconhecível. Evite pedir a um vídeo curto várias cenas sem relação entre si, cujos sujeitos e cenários tenham de ser todos apresentados de raiz.
Um plano guiado por imagem começa com um elemento image_url no array content e uma instrução de texto para o movimento. Prepare o recorte, o fundo e a disposição do sujeito nessa imagem, depois indique quais os elementos que se movem e como se comporta a câmara. Isto permite transformar uma composição estática numa cena animada curta. É útil para um retrato, um objeto sobre uma mesa ou um conceito visual preparado, mas o resultado real continua a precisar de inspeção da identidade, da forma e do movimento ao longo de todo o vídeo.
As imagens de entrada podem usar um URL acessível ou um URL de dados Base64. Os formatos documentados são JPEG, PNG, WEBP, BMP, TIFF e GIF; a imagem deve ter menos de 30 MB, com ambas as dimensões estritamente entre 300 e 6000 píxeis e a largura dividida pela altura estritamente entre 0.4 e 2.5. Escolha uma fonte nítida com detalhes visíveis do sujeito. O guia de imagens recomenda enquadramento adaptativo, pelo que as proporções da fonte preparada devem corresponder à composição que pretende animar.
O perfil 1.0 documenta uma duração de dois a doze segundos a 24 fps. Pro Fast tem 1080p como resolução predefinida e a tabela de saída conservada lista os níveis 480p, 720p e 1080p. O guia operacional exclui 1080p no cenário com imagem de referência. As proporções fixas incluem 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9. Escolha uma resolução e um formato adequados ao modo de entrada selecionado, em vez de presumir que todas as combinações são intercambiáveis.
As opções de seed e marca de água ajudam a manter explícitas as definições do pedido. O intervalo do seed inteiro é de -1 a 2^32-1; -1 pede aleatoriedade. Uma instrução de câmara fixa é condicional: o guia exclui-a no cenário com imagem de referência e não garante o efeito visual onde é suportada. Os comandos de parâmetros inseridos no texto sobrepõem-se aos parâmetros opcionais separados. Mantenha essas instruções coerentes, sobretudo ao rever um prompt cujo antigo comando de duração ou resolução poderia ficar na descrição da cena.
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 envio cria uma tarefa assíncrona. Guarde o identificador, acompanhe o estado e obtenha o vídeo concluído em content.video_url após o sucesso. A documentação indica que os ficheiros gerados são retidos durante sete dias, por isso guarde o resultado concluído com o seu prompt e qualquer imagem de entrada. Reveja toda a ação, o movimento da câmara e o enquadramento final; se um detalhe falhar as instruções, descreva essa correção específica, preservando as partes que resultaram.
Ailoot Ultra · Vídeo POST /v1/videos doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015Introdução
Seedance 1.0 Pro Fast é o perfil Fast com uma designação separada para gerar vídeo sem som a partir de texto e de imagem. Aceita instruções de cena ou uma composição guiada por imagem, com saída de 2–12 segundos, 24 fps e controlos explícitos do enquadramento.
- 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-0-pro-fast-251015 | 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 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 |
Camporesolution | Tipostring | RequisitoOpcional | Valores 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 |
Camporatio | Tipostring | RequisitoOpcional | Valores 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_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 |
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 |
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 | 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çãoUltra | Tabela de tarifas— | Quantidade prevista— | 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çã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.0576 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-0-pro-fast-251015","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}/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-0-pro-fast-251015
Aliases dos caminhos dos métodos
/v1/videos/generations
IDs de chamada relacionados
FAQ · ByteDance: Seedance 1.0 Pro Fast
- Que entradas e resultados estão disponíveis?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:text,image→video- Que campos utiliza o pedido?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015: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-fast-251015:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200