Veo 3.1 Image to Video
یکپارچهسازی
veo3.1/image-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/veo3.1/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}'
# 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/veo3.1/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}),
});
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 camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": False,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veo3.1/image-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/fa/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": "veo3.1/image-to-video",
"input": {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}
}
مدل Veo 3.1 Image to Video (veo3.1/image-to-video) را از طریق Doitong API فراخوانی کنید. مستندات عاملها: https://doitong.com/fa/developers/models/veo3.1/image-to-video.md
POST https://api.doitong.ru/v1/run/veo3.1/image-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}
اگر وضعیت پاسخ "queued" یا "running" است، GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 را تا زمانی که وضعیت "succeeded" شود بهطور دورهای فراخوانی کنید؛ فایلها در outputs[].url قرار دارند. ارسال POST https://api.doitong.ru/v1/quote/veo3.1/image-to-video با همان بدنه، قیمت دقیق را پیش از اجرا برمیگرداند.
این درخواست: $۰٫۸۰ ۸۰۰ اعتبار API · ≈ ₽۸۵٫۲۵ اجرای آن در این صفحه
کلید API جدید شما. این کلید فقط همین حالا نمایش داده میشود و از قبل در کد و فیلد کلید API زیر قرار گرفته است. آن را محرمانه نگه دارید: هرگز آن را در کدی که در مرورگر اجرا میشود قرار ندهید.
نمونهها
پرامپتThe camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)
ساخت درخواست
کنترلها از شِمای مدل تولید میشوند. با تغییر آنها، کد و قیمت بهروزرسانی میشوند.
/run/veo3.1/image-to-video?wait=20
قیمت → $۰٫۸۰
# 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/veo3.1/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}'
# 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/veo3.1/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
}),
});
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 camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": False,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/veo3.1/image-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/image-to-video",
"input": {
"prompt": "The camera zooms right into her eye, focuses, then zooms all the way back again (no crossfade)",
"duration": "4s",
"resolution": "720p",
"generate_audio": false,
"image": "https://content.doitong.com/dev-api/2026/10/21/req_bcpcvkg8xf4nlq4fhu895qvz/0-BmlFvXLfR8RzdjlhNZMyw_l1hXLPeK.png"
},
"wait_seconds": 20
}
}
}
اجرای این درخواست
کلید شما در این مرورگر باقی میماند: فقط به Doitong API ارسال میشود و فقط در صورت فعالکردن گزینه «یادآوری»، در localStorage ذخیره میشود. دریافت کلید API
ساختهشده در Doitong
آثار عمومی ساختهشده با Veo 3.1 توسط جامعه Doitong. یک پرامپت را با یک کلیک دوباره استفاده کنید.
Кинематографичная сцена в современном офисном коридоре. Огромная дверь с надписью «Фарм» резко открыта, изнутри виден пиксельный мир в стиле 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: Кульминация *Видеоряд:* Девушка разворачивается спиной и убегает в лес Волчица бросается на всадников они отступают
создай видео для хронометража 00:28 - 00:32 сценарий примерный, можно отклоняться в safe, без букв персонаж не говорит, это только видеоряд Используй референс **[0:28 - 0:32] Блок 8: Кульминация *Видеоряд:* Всадники увидели девушку с волчицей и хорьком и окружили их. Девушка выходит из укрытия....
создай видео для хронометража 00:24 - 00:28 сценарий примерный, можно отклоняться в safe, без букв персонаж не говорит, это только видеоряд --- Вот подробный сценарий для вирального короткого видео (Reels/TikTok/Shorts) в эстетике «российской хтони» и дарк-фолка. **Концепция:** Мрачная,...
создай видео для хронометража 00:24 - 00:28 сценарий примерный, можно отклоняться в safe, без букв персонаж не говорит, это только видеоряд --- Вот подробный сценарий для вирального короткого видео (Reels/TikTok/Shorts) в эстетике «российской хтони» и дарк-фолка. **Концепция:** Мрачная,...
درباره Veo 3.1 Image to Video
Veo 3.1 یک تصویر ثابت را به ویدیویی واقعگرایانه تبدیل میکند که سوژه و قاببندی تصویر را حفظ میکند و گفتار، جلوههای صوتی و موسیقی را همزمان با تصویر تولید میکند. 4، 6 یا 8 ثانیه در 720p، 1080p یا 4K؛ قاب از تصویر پیروی میکند یا به 16:9 یا 9:16 محدود میشود. برای قیمت کمتر میتوان صدا را خاموش کرد.
پارامترها
نام استاندارد یا نام بومی را ارسال کنید، نه هر دو. نامهای استاندارد
promptالزامی
aspect_ratioاختیاری
durationاختیاری
negative_promptاختیاری
resolutionاختیاری
generate_audioاختیاری
seedاختیاری
auto_fixاختیاری
safety_toleranceاختیاری
image_urlالزامی
image
پارامترهای فایل یک URL عمومی https://، یک URI از نوع data: تا سقف 10 MB، یا file_url یک فایل بارگذاریشده را میپذیرند. فایلها
خروجی
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "veo3.1/image-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": 800,
"usd": "0.80",
"charged": 800,
"refunded": 0
},
"input": {
"prompt": "The fox turns toward the camera and says \"Have you seen my friends?\" in a soft voice, fireflies drift by",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"duration": 6,
"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
}
},
"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"
}
}
فیلدهای خروجی
- video
- object {url, content_type, file_name, file_size}ویدیوی تولیدشده توسط مدل.
گونههای دیگر Veo 3.1
مدلهای بیشتر: تصویر به ویدیو
برای عاملهای هوش مصنوعی: این صفحه بهصورت Markdown در دسترس است https://doitong.com/fa/developers/models/veo3.1/image-to-video.md. همه مدلها و راهنماها: https://doitong.com/developers/llms.txt