Grok Imagine Video 1.5 Image to Video
Integrate
xai/grok-imagine-video/v1.5/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/xai/grok-imagine-video/v1.5/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.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/xai/grok-imagine-video/v1.5/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.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": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/xai/grok-imagine-video/v1.5/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/en-US/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": "xai/grok-imagine-video/v1.5/image-to-video",
"input": {
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.png"
}
}
Call the Grok Imagine Video 1.5 Image to Video model (xai/grok-imagine-video/v1.5/image-to-video) through the Doitong API. Docs for agents: https://doitong.com/en-US/developers/models/xai/grok-imagine-video/v1.5/image-to-video.md
POST https://api.doitong.ru/v1/run/xai/grok-imagine-video/v1.5/image-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.png"
}
If the response status is "queued" or "running", poll GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 until it is "succeeded"; the files are in outputs[].url. POST https://api.doitong.ru/v1/quote/xai/grok-imagine-video/v1.5/image-to-video with the same body returns the exact price before the run.
This request: $0.41 410 API credits · ≈ ₽43.69 Run it on this page
Your new API key. It is shown only now and is already in the code and in the API key field below. Keep it secret: never put it in code that runs in a browser.
Examples
PromptThree tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.
Build a request
Controls are generated from the model schema. The code and the price update as you change them.
/run/xai/grok-imagine-video/v1.5/image-to-video?wait=20
quote → $0.41
# 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/xai/grok-imagine-video/v1.5/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.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/xai/grok-imagine-video/v1.5/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.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": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.png",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/xai/grok-imagine-video/v1.5/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": "xai/grok-imagine-video/v1.5/image-to-video",
"input": {
"prompt": "Three tiny anthropomorphic kittens sit on a park bench. One combs another’s fur with a tiny brush while the third stands and holds the tip jar out toward the camera, gesturing with its free paw. They suddenly all start waving and meowing excitedly as a leaf floats by. A colorful sign in front reads “Tips for cuteness overload ” Soft afternoon sunlight through trees, realistic fur and expressive faces, gentle camera push.",
"duration": 5,
"resolution": "480p",
"image": "https://content.doitong.com/dev-api/2026/10/21/req_nzwcub22hi2ogzo5re2oeziv/0-oxifbhp_mpiF6W8hOoiFA_QHn6xH5K.png"
},
"wait_seconds": 20
}
}
}
Run this request
Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key
Made on Doitong
Public works made with Grok Imagine by the Doitong community. Reuse a prompt in one click.
The camera starts with a close-up on the Uterus's face showing pure exhaustion, then slowly tilts down to reveal the tiny, injured Sperm hobbling into the frame. The Sperm stops and tries to puff out its chest heroically while waving a crutch in the air. As he speaks, he loses his balance and...
Камера плавно панорамирует слева направо, открывая вид на просыпающуюся деревню. Жители выходят из домов, обмениваясь приветствиями, пар от их дыхания виден в морозном воздухе. Мальчики похлопывают лошадей по шее, а девочки играют, подбрасывая снег. Движение размеренное, создающее ощущение начала...
Устойчивая, статичная камера. Классическая диалоговая последовательность "кадр-контркадр". Без резких движений, подчеркивающих формальность и окончательность ситуации. On-screen dialogue (characters speak with lip-sync): Юрист (voice: Женский голос. Теплый, мелодичный меццо-сопрано с уверенным,...
Пальцы Аиши быстро, но немного неуклюже бегают по клавишам, совершая ошибку. Она резко останавливается, сжимая кулаки. Камера совершает быстрый круговой облет вокруг неё, передавая чувство головокружения и фрустрации. Затем она снова кладет руки на клавиши, её взгляд становится жестким и...
Тигр медленно поворачивает голову к напарнику, произнося фразу с холодной уверенностью. Камера плавно приближается к лицу тигра. Лёгкий дождь усиливает блики на асфальте. Атмосфера растущей напряжённости. On-screen dialogue (characters speak with lip-sync): Барс (voice: Низкий грубый бас,...
Camera slowly pushes in, the boys wave enthusiastically and smile, dynamic and joyful movement. On-screen dialogue (characters speak with lip-sync): Роберт (voice: Звонкий, чистый детский голос с мягким тембром, спокойной интонацией и легкой, дружелюбной энергией.): "Всем привет!"; Рафаэль...
Искры от костра взлетают вверх, смешиваясь со звездами. Анастасия Георгиевна мягко гладит Юру по голове и что-то шепчет ему. Камера медленно приближается к их лицам, передавая интимность момента. Огонь мерцает, создавая живые тени на их лицах и на стене строящейся школы за их спинами. Это момент...
Палец Елены уверенно прокручивает список товаров в приложении, останавливаясь на продуктах категории «Здоровье». Камера совершает плавный боковой проезд вокруг рук, создавая динамику. На заднем плане мягко переливается свет, имитируя уютную домашнюю обстановку. В конце сцены на экране появляется...
Камера медленно наклоняется (tilt up) от фотографии к лицу Артёма. Мы видим его глаза, полные слез и нежности. Он подносит фотографию ближе к лицу и на мгновение прижимает ее к щеке. Кадр наполнен глубоким чувством раскаяния и любви. Освещение лампы создает мягкие тени, подчеркивая интимность и...
Девушка плавно идет по коридору, ее шаги почти бесшумны. Камера медленно следует за ней сбоку, сохраняя средний план. Солнечные лучи пересекают ее путь, создавая ритмичную игру света и тени на одежде. В воздухе медленно кружатся мелкие пылинки, подсвеченные золотом. Движение передает легкость и...
Котоклизм медленно закрывает глаза, подставляя мордочку морскому бризу, затем открывает их и понимающе кивает зрителю. Камера плавно отъезжает назад, пока его фигура не становится маленькой светящейся точкой на фоне гаснущего заката. Легкий ветер шевелит его звездную шерсть. Чувство глубокого...
Малыш сидит на пушистом ковре в тихой детской, смотрит вокруг с легким удивлением, затем внезапно его плечики начинают трястись от смеха, ручки хлопают по ковру. Камера медленно приближается с низкого угла, плавно поднимаясь к лицу. Солнечные лучики играют на ковре, игрушки в фоне слегка...
Общий план площадки, затем крупный план на отчаянное лицо Сергея, пытающегося вытащить коляску. Камера слегка трясется, передавая его напряжение. On-screen dialogue (characters speak with lip-sync): Сергей (бормочет себе под нос): "И почему все мамы на площадке выглядят такими спокойными? Что я...
Плавное движение камеры (dolly shot) вдоль рабочего стола Анны, показывая ее за работой. Она делает пометки, улыбается коллеге. Все выглядит спокойно и упорядоченно. On-screen dialogue (characters speak with lip-sync): Коллега (за кадром): "Анна, отличная работа! С возвращением в строй!" No...
Камера медленно облетает Викторию по дуге, переводя фокус с интерактивной карты России на ее лицо. Точки на карте пульсируют золотистым светом. Виктория делает приглашающий жест рукой. Видео заканчивается плавным затемнением, оставляя ощущение надежности и масштабности организации. On-screen...
Очень быстрая смена кадров. Сообщения появляются и исчезают с высокой скоростью. Эффект 'скроллинга' чата, который невозможно остановить. Динамичная анимация, передающая накал страстей в чате. On-screen dialogue (characters speak with lip-sync): Нина: "Днём здесь ругаются из-за мусора. Вечером...
About Grok Imagine Video 1.5 Image to Video
Grok Imagine Video 1.5 brings a still image to life with energetic, stylized motion, at any whole length from 1 to 15 seconds. 480p, 720p or 1080p; the frame follows the image. The price scales with length plus a small fixed fee for the input image.
Parameters
Send either the canonical name or the native name, not both. Canonical names
promptrequired
durationoptional
resolutionoptional
image_urlrequired
image
File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "xai/grok-imagine-video/v1.5/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": 410,
"usd": "0.41",
"charged": 410,
"refunded": 0
},
"input": {
"prompt": "The fox dashes after the fireflies, they burst into a glowing swirl around it, slow cinematic push in",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"duration": 5,
"resolution": "480p"
},
"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
}
},
"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"
}
}
Fields of output
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Video produced by the model.
Other Grok Imagine variants
More models: Image to Video
For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/xai/grok-imagine-video/v1.5/image-to-video.md. All models and guides: https://doitong.com/developers/llms.txt