LTX-2.3 22B · Extend Video
Интеграция
ltx-2.3-22b/extend-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/ltx-2.3-22b/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.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/ltx-2.3-22b/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.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",
"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/ltx-2.3-22b/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/ru/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": "ltx-2.3-22b/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"
}
}
Вызовите модель LTX-2.3 22B · Extend Video (ltx-2.3-22b/extend-video) через Doitong API. Документация для агентов: https://doitong.com/ru/developers/models/ltx-2.3-22b/extend-video.md
POST https://api.doitong.com/v1/run/ltx-2.3-22b/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"
}
Если статус ответа — "queued" или "running", выполняйте опрос GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20, пока он не станет "succeeded"; файлы находятся в outputs[].url. POST https://api.doitong.com/v1/quote/ltx-2.3-22b/extend-video с тем же телом возвращает точную цену до запуска.
Файлы, как в примере: 0,18 $ 180 API-кредитов · ≈ 19,11 ₽ ваши файлы измеряются перед запуском Запустить на этой странице
Ваш новый API-ключ. Он отображается только сейчас и уже вставлен в код и поле API-ключа ниже. Храните его в секрете: никогда не помещайте его в код, выполняемый в браузере.
Здесь появится ваш первый результат
Составьте запрос ниже и выполните его с помощью API-ключа. Результаты копируются в наше хранилище и хранятся навсегда или 7 дней бесплатно.
Сформировать запрос
Элементы управления сгенерированы из схемы модели. Код и цена обновляются при изменении параметров.
/run/ltx-2.3-22b/extend-video?wait=20
стоимость → 0,18 $
# 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/ltx-2.3-22b/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.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/ltx-2.3-22b/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.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",
"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/ltx-2.3-22b/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": "ltx-2.3-22b/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
}
}
}
Запустить этот запрос
Ваш ключ хранится в этом браузере: он отправляется только в Doitong API и сохраняется в localStorage только при включении параметра «Запомнить». Получить API-ключ
О LTX-2.3 22B · Extend Video
Принимает `video_url` и `prompt` и генерирует продолжение длиной `num_frames` кадров (от 9 до 481). Необязательный `end_image_url` задаёт место окончания продолжения. `match_input_fps` сохраняет частоту кадров источника, `generate_audio` добавляет звук, а `video_size` по умолчанию равен auto. Вывод может быть в формате mp4, webm, mov или GIF.
Параметры
Передавайте либо каноническое имя, либо исходное имя, но не оба. Канонические имена
promptобязательно
video_urlобязательно
video
end_image_urlнеобязательно
end_image
num_framesнеобязательно
video_sizeнеобязательно
generate_audioнеобязательно
use_multiscaleнеобязательно
match_input_fpsнеобязательно
fpsнеобязательно
num_inference_stepsнеобязательно
video_cfg_scaleнеобязательно
video_stg_scaleнеобязательно
video_rescaling_scaleнеобязательно
video_modality_scaleнеобязательно
audio_cfg_scaleнеобязательно
audio_stg_scaleнеобязательно
audio_rescaling_scaleнеобязательно
audio_modality_scaleнеобязательно
gradient_estimation_gammaнеобязательно
use_restart_samplingнеобязательно
schedulerнеобязательно
accelerationнеобязательно
camera_loraнеобязательно
camera_lora_scaleнеобязательно
negative_promptнеобязательно
seedнеобязательно
enable_prompt_expansionнеобязательно
enable_safety_checkerнеобязательно
video_output_typeнеобязательно
video_qualityнеобязательно
video_write_modeнеобязательно
distill_lora_first_pass_scaleнеобязательно
distill_lora_second_pass_scaleнеобязательно
extend_directionнеобязательно
num_context_framesнеобязательно
video_strengthнеобязательно
audio_strengthнеобязательно
end_image_strengthнеобязательно
Параметры файлов принимают общедоступный https:// URL, data: URI размером до 10 MB или file_url загруженного файла. Файлы
Результат
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ltx-2.3-22b/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": 180,
"usd": "0.18",
"charged": 180,
"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
},
"seed": 42,
"prompt": "A woman stands still amid a busy neon-lit street at night. The camera slowly dollies in toward her face as people blur past, their motion emphasizing her calm presence. City lights flicker and reflections shift across her denim jacket."
},
"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"
}
}
Поля результата
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Видео, созданное моделью.
- seed
- integerЗначение seed, используемое для инициализации генерации случайных чисел.
- prompt
- stringПромпт, направляющий генерацию.
Другие варианты LTX 2.3 22b
Другие модели: Видео в видео
Для AI-агентов: эта страница в формате Markdown доступна по адресу https://doitong.com/ru/developers/models/ltx-2.3-22b/extend-video.md. Все модели и руководства: https://doitong.com/developers/llms.txt