Veo3.1 Reference to Video
Integrere
veo3.1/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.com/v1/run/veo3.1/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/veo3.1/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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/veo3.1/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/se/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "veo3.1/reference-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
}
Riŋge Veo3.1 Reference to Video-modeallii (veo3.1/reference-to-video) Doitong API bokte. Dokumentašuvdna ageanttaide: https://doitong.com/se/developers/models/veo3.1/reference-to-video.md
POST https://api.doitong.com/v1/run/veo3.1/reference-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
Jus vástádusa status lea "queued" dahje "running", jeara GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 dassážii go dat lea "succeeded"; fiillat leat outputs[].url:s. POST https://api.doitong.com/v1/quote/veo3.1/reference-to-video seamma boduin máksá dárkilis haddái ovdal vuodjámis.
Dát ohcamuš: 3,20 $ 3 200 API-kreditta Vuodje dán siiddu alde
Du ođđa API-čoavdda. Dat čájehuvvo dušše dál ja lea juo koden ja API-čoavdda giettis dás vuolábealde. Bisso dan čihkosis: ale goassige bidde dan kodaide mat vuđđojuvvojit fierpmádatrávnnji.
Ráhkaduvvon Doitongis
Doitong-bargosearvvi almmolaš barggut, ráhkaduvvon Veo 3.1 bokte. Geavat fas jearaldaga ovtta deaddilemiin.
Video
Art style: Реалистичный кулинарный блог. Камера немного отдаляется, показывая ведущую по пояс. Она активно жестикулирует, призывая зрителей писать комментарии и подписываться. В конце она машет рукой или делает приветственный жест. Ее улыбка сияет, создавая позитивный финал. Свет из окна...
Video
Art style: Реалистичный кулинарный блог. Камера плавно перемещается от рук ведущей к противню. Ведущая совершает мягкие вращательные движения ладонями, формируя шарик теста. Видно, как мягкое тесто податливо меняет форму под ее пальцами. Затем она аккуратно кладет готовый шарик на пергамент рядом...
Video
Art style: Modern Webtoon Illustration. Нари сначала спокойно спит с закрытыми глазами. Затем резко распахивает глаза от осознания, что проспала. Быстрое, выразительное комедийное пробуждение. Голова неподвижна, камера статична. Плавный переход от первого кадра ко второму. Сохранить внешность...
Video
Art style: Реалистичный кулинарный блог. Камера направлена сверху под небольшим углом, создавая детальный крупный план миски. Ложка медленно опускает густой греческий йогурт на поверхность яиц, йогурт плавно соскальзывает и ложится плотной массой. Яичные желтки слегка подрагивают от движения...
Марк резко стартует с места, его кроссовки громко стучат по брусчатке, камера быстро движется за ним на уровне земли, создавая эффект скорости. На заднем плане размываются стены старого города. Пыль слегка поднимается из-под ног, передавая энергию и суету гиперактивного туриста. Off-screen...
Кинематографичная сцена в современном офисном коридоре. Огромная дверь с надписью «Фарм» резко открыта, изнутри виден пиксельный мир в стиле Minecraft: квадратные фермы, зелёные блоки, механизмы, лёгкое зелёное и тёплое свечение. Из двери выходит главный герой — толстый, неприятного вида, немного...
Кинематографичная сцена: главный герой открывает дверь и попадает в бесконечный тёмный мир серверов. Камера медленно движется вперёд, показывая бесконечные серверные стойки, мигающие лампы и холодный неоновый свет. Из темноты появляется глава разработки — абсурдно огромный качок с идеальной...
Главный герой открывает дверь и попадает в розовый сказочный HR-мир. Камера показывает пони, сердечки, блестящие облачка, розовый свет и всё вокруг как будто сделано из милоты. В центре появляется бимбо-глава HR — очень гламурная, в розовом, с идеальной внешностью и ярким макияжем. Она дружелюбно...
Главный герой открывает дверь и оказывается в гигантском мире Minecraft-like. Камера показывает бесконечные фермы, механизмы, падающие ресурсы, мобов, редстоун и автоматизацию. На переднем плане стоит глава отдела фарма — квадратный парень с мотыгой в руках. Он разворачивается к герою и жестом...
Кинематографичная сцена: главный герой открывает дверь и попадает в бесконечный тёмный мир серверов. Камера медленно движется вперёд, показывая бесконечные серверные стойки, мигающие лампы и холодный неоновый свет. Из темноты появляется глава разработки — абсурдно огромный качок с идеальной...
Камера показывает рабочую жизнь HR-отдела: одна сотрудница катается на кресле, кто-то берёт подушку Кати, несколько человек сидят и увлечённо болтают, другие пьют чай и кушают, и всё это происходит так, будто это стратегическая работа мирового уровня. Глава HR стоит посреди этого хаоса и с милой...
Кинематографичная сцена в современном офисном коридоре. Главный герой стоит напротив четырёх огромных дверей, каждая из которых выглядит как вход в отдельную вселенную. Над дверями большими буквами написано: Разработка, Маркетинг, HR, Фарм. Сначала камера показывает героя со спины или в...
Глава фарма ведёт главного героя по своему миру и показывает, как устроены фермы и процессы. Затем он указывает на отдельную часть системы, где визуально показана новая схема выдачи аккаунтов по новым гео. Вокруг двигаются механизмы, работают фермы, падает дроп, всё автоматизировано и работает...
Камера показывает гигантского киберпанк-робота в мире серверов. Робот медленно выходит из темноты, на нём современное худи, широкие штаны, в руке электронка, от него идёт холодное неоновое свечение. Глава разработки с гордостью презентует его главному герою, жестом показывая на робота. Робот...
создай видео для хронометража 00:28 - 00:32 сценарий без букв персонаж не говорит, это только видеоряд Используй референс **[0:28 - 0:32] Блок 8: Кульминация *Видеоряд:* Девушка разворачивается к нам спиной и убегает в платье и шубе в лес, мы видим ее убегающий силуэт Волчица не дает всадником...
создай видео для хронометража 00:28 - 00:32 сценарий примерный, можно отклоняться в safe, без букв персонаж не говорит, это только видеоряд Используй референс **[0:28 - 0:32] Блок 8: Кульминация *Видеоряд:* Девушка разворачивается к нам спиной и убегает в лес, мы видим ее убегающий силуэт Волчица...
Ráhkat jearaldaga
Kontrollat ráhkaduvvojit modealla skeama vuođul. Koda ja haddi ođasmahttojuvvojit go rievddadat daid.
/run/veo3.1/reference-to-video?wait=20
haddemearrádus → 3,20 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/veo3.1/reference-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/veo3.1/reference-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"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/veo3.1/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": "veo3.1/reference-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"wait_seconds": 20
}
}
}
Geavat dán ohcamuša
Du key báhcá dán fierpmádatlogan: dat sáddejuvvo dušše Doitong API:ii ja vurkejuvvo (localStorage) dušše jos válljet Remember. Viečča API-keya
Dát lea Veo3.1 Reference to Video birra
Ráhkada video `prompt`-bivddas ja `image_urls`-listtus, nu ahte ávdnasa láhtten bisuhuvvo seamma. Bealljehámi lea 16:9 dahje 9:16, ja resolušuvdna 720p, 1080p dahje 4k. Guhkesvuohta lea standárdan 8s, ja jietna ráhkaduvvo standárdan.
Parametterat
Sádde kanonala nama dahje iežas nama, ii goappašiid. Kanonala namat
promptgáibiduvvo
aspect_ratioeaktodáhtolaš
durationeaktodáhtolaš
resolutioneaktodáhtolaš
generate_audioeaktodáhtolaš
auto_fixeaktodáhtolaš
safety_toleranceeaktodáhtolaš
image_urlsgáibiduvvo
images
Fiilaparametterat váldet almmolaš https:// URL:a, data: URI:a gitta 10 MB, dahje uploada file_url:a. Fiillat
Boađus
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "veo3.1/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": 3200,
"usd": "3.20",
"charged": 3200,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"image_urls": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"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
}
},
"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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Outputa giettit
- video
- object {url, content_type, file_name, file_size}Modealla ráhkadan video.
Eará Veo 3.1-variánttat
Eanet modeallat: Referánssas video
AI-agenttaide: dán siidu Markdowna lea dáppe https://doitong.com/se/developers/models/veo3.1/reference-to-video.md. Buot modeallat ja ráđit: https://doitong.com/developers/llms.txt