LTX-2.3 22B Distilled · Text to Video · LoRA
Intégrer
ltx-2.3-22b/distilled/text-to-video/lora
# 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/ltx-2.3-22b/distilled/text-to-video/lora?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",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}'
# 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/ltx-2.3-22b/distilled/text-to-video/lora?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",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}),
});
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",
"loras": [
{
"path": "https://example.com/your-file.safetensors",
},
],
}
# 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/distilled/text-to-video/lora", 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-CA/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": "ltx-2.3-22b/distilled/text-to-video/lora",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}
}
Appelez le modèle LTX-2.3 22B Distilled · Text to Video · LoRA (ltx-2.3-22b/distilled/text-to-video/lora) par l’intermédiaire de Doitong API. Documentation pour les agents : https://doitong.com/fr-CA/developers/models/ltx-2.3-22b/distilled/text-to-video/lora.md
POST https://api.doitong.ru/v1/run/ltx-2.3-22b/distilled/text-to-video/lora?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",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}
Si l’état 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/ltx-2.3-22b/distilled/text-to-video/lora avec le même corps renvoie le prix exact avant l’exécution.
Fichiers comme dans l’exemple: 0,158 $ 158 crédits API · ≈ 16,98 ₽ vos fichiers sont mesurés avant l’exécution L’exécuter sur cette page
Votre nouvelle clé API. Elle est affichée uniquement 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 qui s’exécute dans un navigateur.
Votre premier résultat apparaîtra ici
Créez une requête ci-dessous et exécutez-la avec votre clé API. Les sorties sont copiées dans notre stockage, conservées indéfiniment ou pendant 7 jours gratuitement.
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 au fur et à mesure de vos modifications.
/run/ltx-2.3-22b/distilled/text-to-video/lora?wait=20
devis → 0,158 $
# 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/ltx-2.3-22b/distilled/text-to-video/lora?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",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}'
# 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/ltx-2.3-22b/distilled/text-to-video/lora?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",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
}),
});
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",
"loras": [
{
"path": "https://example.com/your-file.safetensors",
},
],
}
# 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/distilled/text-to-video/lora", 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/distilled/text-to-video/lora",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
]
},
"wait_seconds": 20
}
}
}
Exécuter cette requête
Votre clé reste dans ce navigateur : elle est envoyée uniquement au Doitong API et enregistrée dans localStorage uniquement si vous cochez Mémoriser. Obtenir une clé API
À propos de LTX-2.3 22B Distilled · Text to Video · LoRA
Crée un clip à partir d’une `prompt` et d’une liste `loras` obligatoire. `video_size` propose des formes prédéfinies, `num_frames` va de 9 à 481 et `fps` de 1 à 60. La génération audio facultative, la LoRA de caméra et une échelle LoRA distill de seconde passe sont disponibles.
Paramètres
promptrequis
num_framesfacultatif
video_sizefacultatif
generate_audiofacultatif
use_multiscalefacultatif
fpsfacultatif
schedulerfacultatif
accelerationfacultatif
camera_lorafacultatif
camera_lora_scalefacultatif
negative_promptfacultatif
seedfacultatif
enable_prompt_expansionfacultatif
enable_safety_checkerfacultatif
video_output_typefacultatif
video_qualityfacultatif
video_write_modefacultatif
lorasrequis
loras[].pathrequis
loras[].weight_namefacultatif
loras[].scalefacultatif
distill_lora_second_pass_scalefacultatif
Sortie
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "ltx-2.3-22b/distilled/text-to-video/lora",
"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": 158,
"usd": "0.158",
"charged": 158,
"refunded": 0
},
"input": {
"loras": [
{
"path": "https://example.com/your-file.safetensors"
}
],
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"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 cowboy walking through a dusty town at high noon, camera following from behind, cinematic depth, realistic lighting, western mood, 4K film grain."
},
"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}Vidéo produite par le modèle.
- seed
- integerValeur de départ utilisée pour initialiser la génération de nombres aléatoires.
- prompt
- stringInvite utilisée pour guider la génération.
Autres variantes de LTX-2.3 22B Distilled
Plus de modèles : Texte vers vidéo
Pour les agents IA : cette page en Markdown se trouve à https://doitong.com/fr-CA/developers/models/ltx-2.3-22b/distilled/text-to-video/lora.md. Tous les modèles et guides : https://doitong.com/developers/llms.txt