Ltx 2.3 Quality · Extend Video
集成
模型 id
ltx-2.3-quality/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-quality/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-quality/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-quality/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/zh/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-quality/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"
}
}
通过 Doitong API 调用 Ltx 2.3 Quality · Extend Video 模型(ltx-2.3-quality/extend-video)。智能体文档:https://doitong.com/zh/developers/models/ltx-2.3-quality/extend-video.md
POST https://api.doitong.com/v1/run/ltx-2.3-quality/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-quality/extend-video,可在运行前返回确切价格。
与示例类似的文件: $0.27 270 API 积分 运行前会测量你的文件 在此页面运行
你的新 API 密钥。 它仅在此时显示,并且已填入下方的代码和 API 密钥字段中。请妥善保密:切勿将其放入在浏览器中运行的代码。
构建请求
控件根据模型架构生成。更改控件时,代码和价格会同步更新。
POST
/run/ltx-2.3-quality/extend-video?wait=20
报价 → $0.27
# 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-quality/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-quality/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-quality/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-quality/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
}
}
}
关于 Ltx 2.3 Quality · Extend Video
根据必需的 `prompt` 生成新影像,从而延续现有视频片段。`extend_direction` 为 `forward` 时从结尾继续,为 `backward` 时创建新的开头。`num_context_frames`(9 到 121)设置源视频的重叠范围,`num_frames`(9 到 481)设置片段长度。可选的 `end_image_url` 固定最后一个关键帧,`match_input_fps` 保持源视频帧率。
参数
发送规范名称或原生名称之一,不要同时发送两者。 规范名称
名称类型
默认值允许值
描述
prompt必填
类型string
指定视频所需延续内容的提示词。
video_url必填
video
类型url · video
指向待延长视频的 URL。
extend_direction可选
类型enum
默认值forward
forwardbackward
视频延长模式:'backward' 创建新的开头,'forward' 则在视频结尾之后继续。
num_frames可选
类型integer
默认值121
9 – 481
延长帧数,受分辨率与帧数乘积的稳定生成预算限制:24 fps 下,480p 级别约 20 秒,720p 级别约 11 秒,1080p 级别约 5 秒。超过预算时返回 422;请减少 `num_frames` 或选择更小的分辨率。该数量包含与源视频重叠的 `num_context_frames`,因此增加的时长约为 (`num_frames` - `num_context_frames`) / `frames_per_second` 秒。
num_context_frames可选
类型integer
默认值25
9 – 121
请求用于延长上下文/重叠的源帧数,受源视频所含帧数限制。该数量会向下取整,以适配 LTX 的 8k+1 网格。
end_image_url可选
end_image
类型url · image
可选关键帧图像:向后延长时设置新的第一帧,向前延长时设置新的最后一帧。
end_image_strength可选
类型number
默认值1
0 – 1
可选的结束关键帧条件强度:降低该值可提高模型自由度,1.0 则强制精确匹配。
resolution可选
类型object
默认值auto
autosquare_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9
生成视频尺寸,按 32px 增量对齐,例如 1920x1080 会变为 1888x1056;源视频会调整为该尺寸后用于拼接输出。较低分辨率支持更长的稳定延长视频,较高分辨率支持的时长更短。选择 'auto' 会在 LTX 限制允许的范围内保留源尺寸和宽高比。
match_input_fps可选
类型boolean
默认值true
启用后使输出帧率匹配源视频,并覆盖 `frames_per_second`。源 FPS 会四舍五入为整数,并限制在支持范围内。
frames_per_second可选
类型number
默认值24
1 – 60
输出视频帧率,以每秒帧数为单位。
video_strength可选
类型number
默认值1
0 – 1
源上下文条件强度:降低该值可提高模型自由度。为 1.0 时,重叠帧会锁定为源内容,使过渡无缝衔接。
num_inference_steps可选
类型integer
默认值15
8 – 30
设置运行的推理步骤数,最多 30;保持不变时使用 15。
guidance_scale可选
类型number
默认值1
1 – 20
使用此比例调整 classifier-free guidance;其默认调校兼顾高质量和快速生成。
generate_audio可选
类型boolean
默认值true
延长音频开关:关闭时新增片段保持静音,但保留源视频的音轨。开启时为延长部分生成音频,并在连接处与源音频交叉淡化。
negative_prompt可选
类型string
默认值color distortion, overexposure, static, blurry details, subtitles, style, artwork, painting, frame, still, dim overall tone, worst quality, low quality, JPEG compression artifacts, ugly, mutilated, extra fingers, poorly drawn hands, poorly drawn face, deformed, disfigured, malformed limbs, fused fingers, motionless frame, cluttered background, three legs, crowded background, walking backwards
指定生成应避免内容的负面提示词。
seed可选
类型integer | null
使生成结果可复现的种子。设置为 None 时会随机选择种子。
enable_prompt_expansion可选
类型boolean
默认值true
控制是否启用提示词扩展。
enable_safety_checker可选
类型boolean
默认值true
控制是否启用安全检查。
video_quality可选
类型enum
默认值high
lowmediumhighmaximum
应用于输出视频的质量预设。
video_write_mode可选
类型enum
默认值balanced
fastbalancedsmall
结果视频的写入模式。
必填
规范名称,也可接受
文件参数接受公开的 https:// URL、最大 10 MB 的 data: URI,或上传文件的 file_url。 文件
输出
GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ltx-2.3-quality/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": 270,
"usd": "0.27",
"charged": 270,
"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
},
"seed": 42,
"prompt": "string"
},
"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"
}
}
你的文件,由你选择每个 outputs[].url 都是存储中的副本:可永久保存(按 GB-月付费),也可免费保存 7 天,由账户设置或 ?storage= 决定。
每个模型的结构相同图像、视频和音频均包含 type、url、content_type、width、height 和 duration。output 是模型自身的结果对象。
输出字段
- video
- object {url, content_type, file_name, file_size}模型生成的视频。
- seed
- integer生成期间实际使用的种子。
- prompt
- string生成提示词,包括使用前应用的任何扩展内容。
其他 LTX 2.3 Quality 变体
更多模型:视频转换
对于 AI 代理:此页面的 Markdown 版本位于 https://doitong.com/zh/developers/models/ltx-2.3-quality/extend-video.md. 所有模型和指南: https://doitong.com/developers/llms.txt