Saltar para o conteúdo

Documentos do desenvolvedor UlazAI

Documentação do Seedance API: geração, status, 1080p e preços

Referência Seedance 1.5 Pro

Documentos do Seedance API

Para usar o Sementença API, autentique com uma chave do portador, use POST /seedance/generate/ para criar empregos e pesquisar GET /seedance/status/{generation_id}/ até que o vídeo esteja pronto. UlazAI atualmente suporta saída Seedance 1.5 Pro em 480p, 720p e 1080p com durações de 4, 8 ou 12 segundos.

Pontos de extremidade principais

POST /seedance/upload/

POST /seedance/generate/

GET /seedance/status/{generation_id}/

Capacidades atuais

Texto para vídeo e imagem para vídeo

Até 2 imagens guia

Áudio nativo opcional

Dica

Esta página responde a todo o fluxo do desenvolvedor na primeira tela: geração de endpoint, pesquisa de status, suporte 1080p, autenticação de portador e rota de preços.

Usar /seedance/upload/ somente quando você precisar de geração de vídeo guiada por imagem. Para execuções somente de texto, ligue /seedance/generate/ diretamente e pule a etapa de upload.

A família de modelos Seedance: 1.5 Pro, 2.0 e 2.5

Seedance é o modelo de texto para vídeo e imagem para vídeo da ByteDance. ByteDance lançou o primeiro Seedance em junho de 2025, liberado Sementença 2.0 em fevereiro de 2026, e desde então mostrou Sementeira 2.5. Cada geração leva ainda mais longe a mesma ideia central: movimento cinematográfico, seguimento mais forte, cenas com vários planos, referências de imagem e vídeo e áudio nativo opcional em uma única renderização. O guia API cobre os atualmente suportados Versões Seedance sem exigir que você configure a própria plataforma da ByteDance.

VersãoLançado pela ByteDanceO que acrescenta
Seedance 1.5 Pro2025Texto e imagem para vídeo, até 2 imagens de guia, áudio opcional, 480p/720p/1080p. Conectado ao UlazAI hoje.
Seedance 2.0fevereiro de 2026Entradas multimodais (texto, imagem, vídeo, áudio), narrativa multicâmera, cogeração de áudio nativo, clipes mais longos.
Seedance 2.52026O mais novo passo apresentado pela ByteDance, visando geração mais rápida e maiores ganhos de qualidade e controle.

Mesmo código, modelo mais recente

O API público de UlazAI gera com bytedance/seedance-1.5-pro hoje. A parte importante para desenvolvedores: quando uma versão mais recente do Seedance é habilitada aqui, ele reutiliza o mesmo Autenticação do portador e o mesmo pontos de extremidade de geração e pesquisa abaixo. Sua integração não muda — apenas o identificador do modelo muda — então você pode construir com base nessa referência agora e aumentar a família mais tarde.

ByteDance e ARK: o modelo oficial, uma rota unificada

Pessoas que procuram Documentação oficial do ByteDance Seedance ou o Sementeira ARK API geralmente procuram duas coisas diferentes: o modelo em si e uma maneira de realmente chamá-lo. Seedance é da ByteDance modelo próprio, publicado através do Volcano Engine da ByteDance ARCA plataforma. Essa rota significa configurar um ARK conta, acesso à região e endpoints de modelo bruto.

UlazAI fica na frente disso como uma camada API de terceiros. Você consegue uma chave do portador, um hospedado upload de imagem etapa, uma carteira de crédito compartilhada e o pequeno conjunto de endpoints nesta página – sem ARK integração, nenhuma solução alternativa regional e nenhuma VPN ou número de telefone chinês para acessar o modelo. Se você pesquisou especificamente Carregamento de imagem de sementeira ARK API, o equivalente aqui é uma única chamada: POST /seedance/upload/ retorna um URL permanente que você acessa input_urls em gerar (veja o endpoint de upload abaixo).

Conceitos ARK mapeados para este API

Se você já leu a documentação ARK da ByteDance, o vocabulário é diferente, mas o os passos são os mesmos. Esta é a tradução direta:

No ByteDance ARK Aqui O que muda para você
Configuração de conta ARK, projeto e endpoint Chave de um portador Nenhuma integração de plataforma antes da primeira chamada.
Hospede você mesmo a imagem do guia, passe um URL público POST /seedance/upload/ Você pode enviar o arquivo bruto; a resposta fornece um URL permanente.
ID do modelo no corpo da solicitação model campo Mesma ideia; apenas o identificador muda entre as versões.
Pesquise a tarefa até que ela seja concluída GET /seedance/status/{generation_id}/ Mesma forma de pesquisa, um ponto final.

Imagem para vídeo em duas chamadas

Este é todo o fluxo de upload de imagens. A primeira chamada armazena a imagem e retorna uma URL, a segunda chamada usa esse URL como orientação visual para o vídeo.

Uma imagem estática enviada à esquerda alimentando uma sequência de quadros de vídeo gerados à direita
# 1. upload the guide image
curl -X POST https://ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -F "[email protected]"

# -> {"url": "https://cdn.ulazai.com/uploads/<id>.jpg"}

# 2. generate, passing that URL back in input_urls
curl -X POST https://ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer $ULAZAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "slow dolly in, warm evening light",
        "input_urls": ["https://cdn.ulazai.com/uploads/<id>.jpg"],
        "resolution": "1080p"
      }'

Você pode passar até dois URLs em input_urls. Duas imagens são lidas como início e referência final, que é a maneira usual de manter um personagem ou produto consistente em todo o clipe. Para geração somente de texto, ignore totalmente a chamada de upload.

Resumo rápido de integração

Autenticação Chave portadora API de /dashboard/ -> Chaves API
ID do modelo bytedance/seedance-1.5-pro
Durações 4s, 8s, 12s
Resoluções 480p, 720p, 1080p
Proporções de aspecto 1:1, 21:9, 4:3, 3:4, 16:9, 9:16
Entradas Solicitar apenas ou solicitar mais até dois URLs de imagem
Fluxo de votação Crie um trabalho, armazene generation_ide, em seguida, enquete o status até completed

Resumo do endpoint público

Método Ponto final Quando usar
POSTAR /seedance/upload/ Faça upload de uma imagem primeiro se desejar orientação de imagem para vídeo
POSTAR /seedance/generate/ Crie um trabalho de geração Seedance 1.5 Pro
OBTER /seedance/status/{generation_id}/ Verifique se o trabalho ainda está em processamento, concluído ou falhou

Autenticação

Todas as solicitações API requerem um token de portador:

Authorization: Bearer YOUR_API_KEY

Obtenha uma chave API em seu painel em Chaves API. Se você ainda precisar de créditos, vá para pacotes primeiro.

POSTAR /seedance/upload/

Carregar imagens de entrada para orientação de imagem para vídeo

Carregue uma imagem de guia antes da geração se desejar que o Seedance ancore a composição, o enquadramento dos personagens ou a configuração da cena. A resposta fornece um URL permanente para passar input_urls.

Solicitar cabeçalhos

Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Parâmetros de dados de formulário

arquivo * (arquivo)

JPG, PNG ou WebP, até 10 MB.

Resposta de sucesso (200)

{
  "success": true,
  "url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
  "filename": "seedance_images/u1_abc123.jpg"
}

Exemplo de uso (cURL)

curl -X POST https://api.ulazai.com/seedance/upload/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"
POSTAR /seedance/generate/

Crie uma tarefa de geração Seedance 1.5 Pro

Envie a carga simplificada abaixo ou a explícita model mais input formato. Use a versão simplificada se você precisar apenas da rota pública do Seedance com prompt, imagens de guia opcionais e configurações de saída.

Corpo da solicitação (simples)

{
  "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
  "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "duration": "4",
  "fixed_lens": true,
  "generate_audio": false,
  "prompt_directory_optin": true
}

Corpo da solicitação (modelo/estilo de entrada)

{
  "model": "bytedance/seedance-1.5-pro",
  "input": {
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": "8",
    "fixed_lens": true,
    "generate_audio": true
  }
}

Parâmetros

incitar * (corda)

3 a 2.500 caracteres descrevendo a cena, movimento, enquadramento e intenção de áudio.

input_urls (matriz)

Opcional. Até 2 URLs de imagem para orientação de imagem para vídeo.

aspect_ratio (corda)

Um de: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.

resolução (corda)

Um de: 480p, 720p, 1080p.

duração (corda)

4, 8 ou 12 segundos.

fixed_lens (booleano)

Ative para uma visão de câmera mais estável.

generate_audio (booleano)

Ative a geração de áudio sincronizado. Isso aumenta o uso de crédito.

prompt_directory_optin (booleano)

Opcional. Compartilhe prompts qualificados no diretório de prompts e aplique um desconto quando houver suporte.

Resposta de sucesso (200)

{
  "success": true,
  "generation_id": "abc12345-1234-1234-1234-123456789012",
  "task_id": "seedance_task_xyz789",
  "credits_used": 40,
  "directory_discount_applied": true,
  "message": "Video generation started. This may take a few minutes."
}
OBTER /seedance/status/{generation_id}/

Status da tarefa de pesquisa

Pesquise este endpoint até que o trabalho saia processing. Em caso de sucesso, você recebe de volta o URL do vídeo; em caso de falha você deve inspecionar o erro e tentar novamente com uma carga corrigida.

Processando resposta

{
  "success": true,
  "status": "processing",
  "message": "Video is being generated..."
}

Resposta de sucesso (200)

{
  "success": true,
  "status": "completed",
  "video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}

Exemplos de código: cURL, Python e JavaScript

O fluxo completo é enviar → armazenar generation_id → status da pesquisa. Aqui está a chamada generate em três pilhas comuns; troque sua própria chave e prompt.

curvatura

curl -X POST https://api.ulazai.com/seedance/generate/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4"
  }'

Python (solicitações)

import time, requests

BASE = "https://api.ulazai.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

# 1. Start the job
job = requests.post(f"{BASE}/seedance/generate/", headers=HEADERS, json={
    "prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "duration": "4",
}).json()
generation_id = job["generation_id"]

# 2. Poll until it leaves "processing"
while True:
    status = requests.get(f"{BASE}/seedance/status/{generation_id}/", headers=HEADERS).json()
    if status.get("status") == "completed":
        print("Video:", status["video_url"])
        break
    if status.get("status") == "failed":
        raise RuntimeError(status)
    time.sleep(8)  # back off; do not hammer generate

JavaScript (buscar)

const BASE = "https://api.ulazai.com";
const HEADERS = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" };

const job = await fetch(`${BASE}/seedance/generate/`, {
  method: "POST",
  headers: HEADERS,
  body: JSON.stringify({
    prompt: "A cinematic close-up of a chef flipping noodles in slow motion",
    aspect_ratio: "16:9",
    resolution: "1080p",
    duration: "4",
  }),
}).then(r => r.json());

const id = job.generation_id;
let video;
while (!video) {
  const s = await fetch(`${BASE}/seedance/status/${id}/`, { headers: HEADERS }).then(r => r.json());
  if (s.status === "completed") video = s.video_url;
  else if (s.status === "failed") throw new Error(JSON.stringify(s));
  else await new Promise(r => setTimeout(r, 8000));  // poll every ~8s
}
console.log("Video:", video);

Fluxo de uso

  1. Carregue uma ou duas imagens de guia com /seedance/upload/ somente se você precisar de orientação de imagem para vídeo.
  2. Ligar /seedance/generate/ com seu prompt, configurações de saída e opcionais input_urls.
  3. Armazene o devolvido generation_id.
  4. Enquete /seedance/status/{generation_id}/ até status torna-se completed.
  5. Use o retornado video_url para baixar, incorporar ou passar o ativo final em seu próprio fluxo de trabalho.

Códigos de erro

400 Parâmetros de solicitação inválidos

401 Falha na autenticação (chave API ausente ou inválida)

402 Créditos insuficientes

429 Limite de taxa excedido

500 Erro interno do servidor

Limites de preços e taxas

O faturamento inicial em UlazAI é executado com créditos, portanto, o custo é escalonado com resolução e duração, em vez de uma taxa fixa por segundo. Use isto como um guia de planejamento; o custo do crédito ao vivo é mostrado em pacotes e na hora da solicitação.

SaídaUso típicoGerador de custos
480pRascunhos e iterações rápidasCréditos mais baixos por segundo
720pClipes prontos para redes sociaisCréditos médios por segundo
1080pEntrega finalMaiores créditos por segundo; durações mais longas custam mais

Limites de taxa e tratamento 429: se você enviar muitos trabalhos em paralelo, poderá receber 429 Rate limit exceeded. Trate o API como baseado em trabalho: envie, armazene o generation_ide enquete /seedance/status/{generation_id}/ a cada 5-10 segundos, em vez de gerar marteladas. Em um 429, recue exponencialmente (por exemplo, 2s, 4s, 8s) antes de tentar novamente.

Seedance 1.5 pro vs Seedance 2.0: esta referência cobre bytedance/seedance-1.5-pro, o modelo atualmente conectado ao Video Studio. Desde então, a ByteDance introduziu o Seedance 2.0 como a próxima geração; quando ativado aqui, ele usa o mesmo fluxo de geração e pesquisa e a mesma autenticação, portanto, o código de integração não muda - apenas o identificador do modelo muda.

Perguntas frequentes

O UlazAI Seedance API suporta Seedance 2.0 e 2.5?

O API gera com bytedance/seedance-1.5-pro hoje. A ByteDance lançou o Seedance 2.0 em fevereiro de 2026 e desde então exibiu o 2.5. Quando uma versão mais recente é habilitada aqui, ela usa a mesma autenticação de portador e os mesmos endpoints de geração e pesquisa, portanto, seu código de integração não muda - apenas o identificador do modelo muda.

Como UlazAI se relaciona com o Seedance / ARK API oficial da ByteDance?

Seedance é o modelo próprio da ByteDance, oferecido através da plataforma Volcano Engine ARK da ByteDance. UlazAI é uma camada API de terceiros que executa o Seedance por trás de uma rota simplificada com uma única chave de portador, upload de imagem hospedada e uma carteira de crédito compartilhada – sem conta ARK ou endpoints de modelo bruto para gerenciar.

Como faço o upload de uma imagem para imagem para vídeo do Seedance?

Envie a imagem como multipart/form-data para POST /seedance/upload/ com sua chave do portador. A resposta retorna uma URL permanente; passe (até dois) no input_urls matriz ativada POST /seedance/generate/. Os prompts somente de texto ignoram a etapa de upload.

Quanto custa o Seedance API?

O faturamento é executado com base em créditos, portanto, o custo aumenta de acordo com a resolução e a duração. Um rascunho curto de 480p custa menos créditos; uma renderização 1080p de 12 segundos com áudio custa mais. O custo exato aparece em pacotes e novamente como credits_used na resposta de geração.

O Seedance está disponível mundialmente através do API?

Sim. Você chama os endpoints HTTPS hospedados do UlazAI com uma chave de portador, portanto, nenhuma VPN, solução alternativa regional ou número de telefone chinês é necessária. Qualquer servidor que possa fazer uma solicitação HTTPS autenticada pode enviar trabalhos e pesquisar resultados.

Para onde ir a seguir