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: Modern Webtoon Illustration. Нари спокойно лежит с закрытыми глазами. Внезапно она резко открывает оба глаза, выражая испуг и осознание, что проспала. Быстрое, чёткое комедийное движение. Голова, волосы, подушка и одеяло остаются практически неподвижными. Камера статична. Сохранить...
Video
Art style: Modern Webtoon Illustration. Нари сначала спокойно спит с закрытыми глазами. Затем резко распахивает глаза от осознания, что проспала. Быстрое, выразительное комедийное пробуждение. Голова неподвижна, камера статична. Плавный переход от первого кадра ко второму. Сохранить внешность...
Slow zoom in on the woman's thoughtful face. The memory bubbles gently float and pulse. Camera then racks focus to the laptop screen. ASMR sound design: emphasize ambient sounds, textures, and satisfying audio details (rustling, tapping, crinkling, whispering wind, footsteps, etc.). On-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: Кульминация *Видеоряд:* Девушка разворачивается к нам спиной и убегает в лес, мы видим ее убегающий силуэт Волчица...
создай видео для хронометража 00:28 - 00:32 сценарий примерный, можно отклоняться в safe, без букв персонаж не говорит, это только видеоряд Используй референс **[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