Grok Imagine Extend Video
Tích hợp
xai/grok-imagine-video/extend-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/extend-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",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# 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/extend-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",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# 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/extend-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/vi/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/extend-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
}
Gọi mô hình Grok Imagine Extend Video (xai/grok-imagine-video/extend-video) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/developers/models/xai/grok-imagine-video/extend-video.md
POST https://api.doitong.ru/v1/run/xai/grok-imagine-video/extend-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",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.ru/v1/quote/xai/grok-imagine-video/extend-video với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Các tệp như ví dụ: 0,52 $ 520 tín dụng API · ≈ 55,80 ₽ tệp của bạn được đo trước khi chạy Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Được tạo trên Doitong
Các tác phẩm công khai được cộng đồng Doitong tạo bằng Grok Imagine. Tái sử dụng một lời nhắc chỉ với một lần nhấp.
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): Нина: "Днём здесь ругаются из-за мусора. Вечером...
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/xai/grok-imagine-video/extend-video?wait=20
báo giá → 0,52 $
# 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/extend-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",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# 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/extend-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",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# 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/extend-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/extend-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"wait_seconds": 20
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về Grok Imagine Extend Video
Thêm cảnh quay mới vào cuối video trong `video_url`, video này phải là MP4 (H.264, H.265 hoặc AV1) dài từ 2 đến 15 giây. `prompt` mô tả diễn biến tiếp theo, còn `duration` đặt thời lượng mở rộng từ 2 đến 10 giây (mặc định 6). Kết quả là video gốc và phần mở rộng được nối thành một video.
Tham số
Gửi tên chuẩn hoặc tên gốc, không gửi cả hai. Tên chuẩn
promptbắt buộc
video_urlbắt buộc
video
durationtùy chọn
enable_safety_checkertùy chọn
Các tham số tệp nhận URL https:// công khai, URI data: tối đa 10 MB hoặc file_url của một tệp tải lên. Tệp
Đầu ra
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "xai/grok-imagine-video/extend-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": 520,
"usd": "0.52",
"charged": 520,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"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"
}
}
Các trường đầu ra
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Video mở rộng kết hợp video gốc với phần mở rộng được nối vào.
Các biến thể Grok Imagine khác
Thêm mô hình: Video sang video
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/xai/grok-imagine-video/extend-video.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt