LTX 2.5 Pro Image to Video
Intégrer
lightricks/ltx-2.5/image-to-video/pro
# 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/lightricks/ltx-2.5/image-to-video/pro?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}'
# 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/lightricks/ltx-2.5/image-to-video/pro?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}),
});
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 = {
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": False,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/lightricks/ltx-2.5/image-to-video/pro", 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/fr-FR/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": "lightricks/ltx-2.5/image-to-video/pro",
"input": {
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}
}
Appelez le modèle LTX 2.5 Pro Image to Video (lightricks/ltx-2.5/image-to-video/pro) via la Doitong API. Documentation pour les agents : https://doitong.com/fr-FR/developers/models/lightricks/ltx-2.5/image-to-video/pro.md
POST https://api.doitong.ru/v1/run/lightricks/ltx-2.5/image-to-video/pro?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}
Si le statut de la réponse est "queued" ou "running", interrogez GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 jusqu'à ce qu'il soit "succeeded" ; les fichiers se trouvent dans outputs[].url. POST https://api.doitong.ru/v1/quote/lightricks/ltx-2.5/image-to-video/pro avec le même corps renvoie le prix exact avant l'exécution.
Cette requête: 0,72 $ 720 crédits API · ≈ 77,46 ₽ L'exécuter sur cette page
Votre nouvelle clé API. Elle ne s'affiche que maintenant et figure déjà dans le code et dans le champ de clé API ci-dessous. Gardez-la secrète : ne la mettez jamais dans du code exécuté dans un navigateur.
Exemples
Créer une requête
Les contrôles sont générés à partir du schéma du modèle. Le code et le prix se mettent à jour lorsque vous les modifiez.
/run/lightricks/ltx-2.5/image-to-video/pro?wait=20
devis → 0,72 $
# 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/lightricks/ltx-2.5/image-to-video/pro?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}'
# 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/lightricks/ltx-2.5/image-to-video/pro?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
}),
});
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 = {
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": False,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/lightricks/ltx-2.5/image-to-video/pro", 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": "lightricks/ltx-2.5/image-to-video/pro",
"input": {
"image": "https://content.doitong.com/dev-api/2026/10/21/req_m47cpdni6njc4mezryvt9kg2/0-fUu2PV5voQYZjKUW9sc_1_qYL5cs4B.png",
"prompt": "The camera glides forward and slowly tilts up toward the peaks, icebergs drift gently, clouds move across the sky and the morning light grows brighter.",
"duration": 6,
"resolution": "720p",
"generate_audio": false
},
"wait_seconds": 20
}
}
}
Exécuter cette requête
Votre clé reste dans ce navigateur : elle est envoyée uniquement à la Doitong API et enregistrée dans localStorage uniquement si vous cochez Mémoriser. Obtenir une clé API
À propos de LTX 2.5 Pro Image to Video
LTX 2.5 Pro anime votre première image, peut terminer sur une image finale, ajoute un audio généré et accepte un mouvement de caméra nommé (dolly, jib, static ou focus shift). 6, 8 ou 10 secondes ou durée automatique, 720p ou 1080p, 24, 25 ou 50 fps.
Paramètres
Envoyez soit le nom canonique, soit le nom natif, mais pas les deux. Noms canoniques
image_urlobligatoire
image
end_image_urlfacultatif
end_image
promptobligatoire
durationfacultatif
resolutionfacultatif
aspect_ratiofacultatif
fpsfacultatif
generate_audiofacultatif
camera_motionfacultatif
Les paramètres de fichier acceptent une URL publique https://, un URI data: jusqu'à 10 MB ou le file_url d'un téléversement. Fichiers
Sortie
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "lightricks/ltx-2.5/image-to-video/pro",
"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": 720,
"usd": "0.72",
"charged": 720,
"refunded": 0
},
"input": {
"prompt": "Fireflies swirl around the fox as it slows down and looks back over its shoulder",
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"duration": 6,
"resolution": "720p",
"camera_motion": "static"
},
"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"
}
}
Champs de sortie
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Fichier vidéo résultant.
Autres variantes LTX 2.5
Plus de modèles : Image vers vidéo
Pour les agents IA : cette page au format Markdown est disponible à l'adresse https://doitong.com/fr-FR/developers/models/lightricks/ltx-2.5/image-to-video/pro.md. Tous les modèles et guides : https://doitong.com/developers/llms.txt