Wan 3.0 Reference to Video
Integrar
alibaba/wan-3.0/reference-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/alibaba/wan-3.0/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/alibaba/wan-3.0/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/alibaba/wan-3.0/reference-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/pt-PT/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "alibaba/wan-3.0/reference-to-video",
"input": {
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
}
Chame o modelo Wan 3.0 Reference to Video (alibaba/wan-3.0/reference-to-video) através da Doitong API. Documentação para agentes: https://doitong.com/pt-PT/developers/models/alibaba/wan-3.0/reference-to-video.md
POST https://api.doitong.ru/v1/run/alibaba/wan-3.0/reference-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
Se o estado da resposta for "queued" ou "running", consulte GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 repetidamente até ficar "succeeded"; os ficheiros estão em outputs[].url. POST https://api.doitong.ru/v1/quote/alibaba/wan-3.0/reference-to-video com o mesmo corpo devolve o preço exato antes da execução.
Este pedido: 0,50 $ 500 créditos da API · ≈ 53,79 ₽ Executar nesta página
A sua nova chave de API. É apresentada apenas agora e já está inserida no código e no campo da chave de API abaixo. Mantenha-a secreta: nunca a coloque em código que seja executado num navegador.
Criado na Doitong
Trabalhos públicos criados com Wan 3.0 pela comunidade Doitong. Reutilize um prompt com um clique.
Vídeo
Создай 30-секундный обучающий музыкальный ролик для детей 3–5 лет. Тема: транспорт. Яркая 2D-анимация, весёлый водитель в кепке, крупные машины, пастельные цвета. 0:00–0:10 приветствие под музыку; 0:10–0:30 песенка: "Машина едет би-би, би-би", "Поезд едет ту-ту, ту-ту". Бодрая детская музыка...
Vídeo
Создай 30-секундный обучающий музыкальный ролик для детей 3–5 лет. Тема: транспорт. Яркая 2D-анимация, тот же весёлый водитель в кепке, самолёт. 0:00–0:15 песенка: "Самолёт летит вж-ж-ж, вж-ж-ж"; 0:15–0:25 интерактивная пауза: водитель спрашивает "Как гудит машина?", пауза; 0:25–0:30 финальный...
Criar um pedido
Os controlos são gerados a partir do esquema do modelo. O código e o preço são atualizados à medida que os altera.
/run/alibaba/wan-3.0/reference-to-video?wait=20
cotação → 0,50 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/alibaba/wan-3.0/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/alibaba/wan-3.0/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/alibaba/wan-3.0/reference-to-video", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "alibaba/wan-3.0/reference-to-video",
"input": {
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"resolution": "720p",
"duration": 5,
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"wait_seconds": 20
}
}
}
Executar este pedido
A sua chave permanece neste navegador: é enviada apenas para a Doitong API e guardada em localStorage apenas se selecionar Lembrar. Obter uma chave de API
Sobre Wan 3.0 Reference to Video
Wan 3.0 de referências para vídeo combina imagens de referência, vídeos curtos de referência (15 segundos no total) e áudio de referência num único clipe gerado; refira-se a eles no prompt pela posição (Image 1, Video 1). Com a etapa de raciocínio ativada, também pode basear o vídeo num documento ou numa página Web pública. 480p a 1080p, 2 a 30 segundos, áudio gerado por predefinição.
Parâmetros
Envie o nome canónico ou o nome nativo, não ambos. Nomes canónicos
promptopcional
resolutionopcional
aspect_ratioopcional
durationopcional
audioopcional
generate_audio
enable_prompt_expansionopcional
enable_thinkingopcional
seedopcional
reference_image_urlsopcional
images
reference_video_urlsopcional
videos
reference_audio_urlsopcional
audios
file_urlopcional
web_urlopcional
Os parâmetros de ficheiro aceitam um URL https:// público, um URI data: até 10 MB ou o file_url de um carregamento. Ficheiros
Resultado
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "alibaba/wan-3.0/reference-to-video",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 500,
"usd": "0.50",
"charged": 500,
"refunded": 0
},
"input": {
"prompt": "The fox from Image 1 runs through the forest from Video 1 at night, fireflies everywhere",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
],
"duration": 5,
"resolution": "720p"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200,
"width": 1024,
"height": 768,
"fps": 1.0,
"duration": 5,
"num_frames": 1
},
"seed": 42,
"duration": 5,
"actual_prompt": "string"
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Campos do resultado
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Ficheiro de vídeo produzido pela geração.
- seed
- integerValor da seed aplicado durante a geração.
- duration
- numberDuração do vídeo gerado, medida em segundos.
- actual_prompt
- string | null
Outras variantes de Wan 3.0
Mais modelos: Referência para vídeo
Para agentes de IA: esta página em Markdown está disponível em https://doitong.com/pt-PT/developers/models/alibaba/wan-3.0/reference-to-video.md. Todos os modelos e guias: https://doitong.com/developers/llms.txt