Vídeo com IA via MCP — duração, resolução e tier de preço, driving video/templates, lipsync com voz, timestamps por cena e avatares em cena.
Vídeo usa o mesmo pipeline dos jobs UGC (ugc_job_create com um
model_key de outputKind: "video") — só muda o conjunto de params e de
capabilities que importam. Veja o fluxo completo em
UGC — Geração.
ugc_models_list com output_kind: "video" — as capabilities que mandam:
| Capability | Significado |
|---|---|
durationsSec / durationRangeSec / maxDurationSec | durações discretas ou faixa contínua (segundos) |
resolutions | ex.: 720p, 1080p — muda o tier de preço |
aspectRatios | 9:16, 16:9, 1:1 |
acceptsImageRefs | aceita image_ref_media_ids (i2v) |
acceptsDrivingVideo | aceita driving video/template (motion) |
lipsync | suporta lipsync com voice_id |
timestamps | prompt com timestamps por cena |
creditsByResolution mostra o teto por tier — mas o custo real do SEU input
só sai no ugc_estimate (o leilão escolhe o provider mais barato que
atende).
{
"model_key": "seedance-2.0",
"prompt": "a criadora apresenta o produto olhando pra câmera",
"idempotency_key": "video-001",
"params": {
"duration_sec": 5,
"aspect_ratio": "9:16",
"resolution": "720p",
"avatar_ids": ["avatar_id — o rosto em cena"],
"scene_id": "cenário da biblioteca como fundo",
"image_ref_media_ids": ["frame/referência visual"],
"format": "mp4"
}
}duration_sec é obrigatório em vídeo (o estimate rejeita sem ele).
resolution altera o preço — confirme com ugc_estimate antes.
Para motion/lipsync a partir de um vídeo de referência:
driving_video_media_id — file_id de um vídeo já subidotemplate_id — um driving template ingerido (ugc_templates_list traz
os do workspace)Exige modelo com acceptsDrivingVideo.
{ "params": { "voice_id": "id da voz", "timestamps": true } }lipsync no modelo + voice_id = rosto do avatar falando com a voz
escolhida. timestamps: true ativa o prompt com marcação por cena
(modelos com timestamps na capability).
script_id — vincula um roteiro ao job.mentions — tokens @nome do prompt ligados a avatar/cena/mídia:
{ "token": "@maria", "kind": "avatar", "id": "..." }.project_id — agrupa o job num projeto UGC (ugc_projects_list).Igual a imagem: ugc_job_get até succeeded → resultUrl/resultMediaId
(o mp4 final — reutilizável como driving_video_media_id depois). Falha →
estorno; ugc_job_cancel → cancela + estorno. credits_balance antes de
criar.
Ver também: UGC — Geração · Avatares