Crie vídeos guiados com a API Seedance 2.0 Reference. Use referências de vídeo, suporte a humanos reais, proporções flexíveis e saída estável.
A API Seedance V2.0 Reference-to-Video da ByteDance oferece geração de vídeo com IA em nível profissional para desenvolvedores e equipes criativas que precisam de controle preciso de consistência visual. Essa integração avançada de API de referência para vídeo permite gerar clipes de vídeo de alta qualidade em resoluções 480p e 720p usando até 12 imagens de referência para orientar a aparência dos personagens, o estilo do ambiente e a identidade visual. Construído sobre a arquitetura Dual-Branch Diffusion Transformer da ByteDance com sincronização nativa de áudio, o modelo Seedance V2.0 oferece fidelidade multirreferência incomparável para produção de vídeo consistente com a marca e orientada por personagens na Best Image AI.
Nota Certifique-se de que suas imagens de referência e prompts estejam em conformidade com as diretrizes de segurança de conteúdo da ByteDance. Se ocorrer um erro, revise seu conteúdo em busca de material restrito, ajuste-o e tente novamente.
Seedance V2.0 Reference-to-Video vs. Seedance V2.0 Text-to-Video
O Seedance V2.0 Text-to-Video gera vídeos apenas a partir de descrições em texto. A API Seedance V2.0 Reference-to-Video adiciona entrada de imagem multirreferência (até 12 referências), permitindo controle preciso da aparência do sujeito e consistência visual, tornando-a a escolha preferida para produção de vídeo consistente com a marca, orientada por personagens e específica de identidade.
Seedance V2.0 Reference-to-Video vs. Kling 3.0 Reference Generation
O Kling 3.0 oferece geração baseada em referência com forte síntese de movimento humano. A API Seedance V2.0 Reference-to-Video se diferencia por suporte a até 12 entradas de referência simultâneas, geração nativa de áudio, 6 formatos de proporção e duração estendida de 15 segundos, tornando-a mais flexível para cenários de referência complexos e com múltiplos elementos.
Seedance V2.0 Reference-to-Video vs. Runway Gen-3 Custom Mode
O Runway Gen-3 Custom Mode oferece geração orientada por sujeito com controles criativos. A API Seedance V2.0 Reference-to-Video oferece até 12 entradas de referência, sincronização nativa de áudio, controle opcional de câmera fixa e 6 formatos de proporção, entregando capacidades mais abrangentes de produção de vídeo multirreferência.
Seedance V2.0 Reference-to-Video vs. Pika Reference Generation
O Pika oferece estilização baseada em referência com interface amigável. A API Seedance V2.0 Reference-to-Video fornece acesso programático, até 12 entradas de referência, geração nativa de áudio, duração estendida de 15 segundos e preços previsíveis por segundo, sendo superior para desenvolvedores que precisam de geração de vídeo escalável e consistente com a identidade.
Seedance V2.0 Reference-to-Video vs. Luma Ray Reference Mode
O Luma Ray é conhecido por geração rápida e fidelidade do sujeito. A API Seedance V2.0 Reference-to-Video oferece fidelidade comparável com capacidade superior de entrada multirreferência (até 12), síntese nativa de áudio, 6 formatos de proporção e sem necessidade de gerenciamento de infraestrutura, ideal para desenvolvedores que constroem pipelines de vídeo consistentes com a marca em escala.
// Step 1: Submit generation request
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model_name: 'seedance-v2.0-reference-to-video',
prompt: 'Cinematic product reveal with smooth motion matching the reference style',
resolution: '720p',
duration: 8,
aspect_ratio: '16:9',
sound: true,
camera_fixed: false,
audio_url: 'https://example.com/reference-audio.mp3',
video_url: 'https://example.com/reference-video.mp4'
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
# Step 1: Submit generation request
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'model_name': 'seedance-v2.0-reference-to-video',
'prompt': 'Cinematic product reveal with smooth motion matching the reference style',
'resolution': '720p',
'duration': 8,
'aspect_ratio': '16:9',
'sound': True,
'camera_fixed': False,
'audio_url': 'https://example.com/reference-audio.mp3',
'video_url': 'https://example.com/reference-video.mp4',
}
)
result = response.json()
task_id = result['data'][]
# Step 1: Submit generation request
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "seedance-v2.0-reference-to-video",
"prompt": "Cinematic product reveal with smooth motion matching the reference style",
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"sound": true,
"camera_fixed": false,
"audio_url": "https://example.com/reference-audio.mp3",
"video_url": "https://example.com/reference-video.mp4"
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)