Grok Imagine Extend Video
Integrar
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/es-ES/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"
}
}
Llama al modelo Grok Imagine Extend Video (xai/grok-imagine-video/extend-video) a través de Doitong API. Documentación para agentes: https://doitong.com/es-ES/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"
}
Si el estado de la respuesta es "queued" o "running", consulta GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 hasta que sea "succeeded"; los archivos están en outputs[].url. POST https://api.doitong.ru/v1/quote/xai/grok-imagine-video/extend-video con el mismo cuerpo devuelve el precio exacto antes de la ejecución.
Archivos como el ejemplo: 0,52 $ 520 créditos de API · ≈ 55,88 ₽ tus archivos se miden antes de la ejecución Ejecutar en esta página
Tu nueva clave de API. Solo se muestra ahora y ya está incluida en el código y en el campo de clave de API de abajo. Mantenla en secreto: nunca la incluyas en código que se ejecute en un navegador.
Creado en Doitong
Trabajos públicos creados con Grok Imagine por la comunidad de Doitong. Reutiliza un prompt con un solo clic.
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): Нина: "Днём здесь ругаются из-за мусора. Вечером...
Crear una solicitud
Los controles se generan a partir del esquema del modelo. El código y el precio se actualizan al modificarlos.
/run/xai/grok-imagine-video/extend-video?wait=20
presupuesto → 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
}
}
}
Ejecutar esta solicitud
Tu clave permanece en este navegador: solo se envía a la Doitong API y solo se guarda en localStorage si marcas Recordar. Obtener una clave de API
Acerca de Grok Imagine Extend Video
Añade metraje al final de un vídeo indicado en `video_url`, que debe ser MP4 (H.264, H.265 o AV1) y durar entre 2 y 15 segundos. El `prompt` describe lo que debe ocurrir después y `duration` establece la longitud de la extensión entre 2 y 10 segundos (6 de forma predeterminada). El resultado es el vídeo original unido a la extensión.
Parámetros
Envía el nombre canónico o el nombre nativo, pero no ambos. Nombres canónicos
promptobligatorio
video_urlobligatorio
video
durationopcional
enable_safety_checkeropcional
Los parámetros de archivo aceptan una URL pública https://, un URI data: de hasta 10 MB o el file_url de una subida. Archivos
Salida
{
"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"
}
}
Campos de salida
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Vídeo ampliado que combina el original con la ampliación unida a este.
Otras variantes de Grok Imagine
Más modelos: Vídeo a vídeo
Para agentes de IA: esta página en Markdown está en https://doitong.com/es-ES/developers/models/xai/grok-imagine-video/extend-video.md. Todos los modelos y guías: https://doitong.com/developers/llms.txt