Wan 2.2 14B Image Trainer
Integrar
wan-22-image-trainer
# 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/wan-22-image-trainer?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}'
# 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/wan-22-image-trainer?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}),
});
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 = {
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-22-image-trainer", 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/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": "wan-22-image-trainer",
"input": {
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}
}
Llama al modelo Wan 2.2 14B Image Trainer (wan-22-image-trainer) mediante Doitong API. Documentación para agentes: https://doitong.com/es/developers/models/wan-22-image-trainer.md
POST https://api.doitong.com/v1/run/wan-22-image-trainer?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}
Si el estado de la respuesta es "queued" o "running", consulta GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 hasta que sea "succeeded"; los archivos están en outputs[].url. POST https://api.doitong.com/v1/quote/wan-22-image-trainer con el mismo cuerpo devuelve el precio exacto antes de la ejecución.
Archivos como el ejemplo: 4,50 $ 4500 créditos de API 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á 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 Wan 2.2 14B Image Trainer por la comunidad de Doitong. Reutiliza un prompt con un clic.
Vídeo
Create a realistic cinematic UGC-style commercial video, exactly 30 seconds long. The entire scene takes place inside a modern passenger airplane during a daytime flight. Natural smartphone-like cinematography, realistic airplane cabin, authentic passengers, natural lighting, realistic skin...
Vídeo
Реалистичная бытовая сцена в советской одесской квартире зимним вечером. Женщина находится на кухне, мужчина — в комнате и прихожей. Атмосфера обычной советской семьи перед приходом гостей. Голоса: все персонажи говорят по-русски с естественным, выразительным одесским говором. Характерная...
Crear una solicitud
Los controles se generan a partir del esquema del modelo. El código y el precio se actualizan al modificarlos.
/run/wan-22-image-trainer?wait=20
cotización → 4,50 $
# 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/wan-22-image-trainer?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}'
# 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/wan-22-image-trainer?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
}),
});
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 = {
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-22-image-trainer", 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": "wan-22-image-trainer",
"input": {
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
},
"wait_seconds": 20
}
}
}
Ejecutar esta solicitud
Tu clave permanece en este navegador: solo se envía a la Doitong API y se guarda (localStorage) únicamente si marcas Recordar. Obtener una clave de API
Acerca de Wan 2.2 14B Image Trainer
Ajusta una LoRA para texto a imagen de Wan 2.2 a partir de un conjunto de datos en `training_data_url`, asociado a un `trigger_phrase` obligatorio. `steps` va de 10 a 6000 y `learning_rate` de 1e-6 a 0.1. La detección y el recorte de rostros, así como las máscaras, se pueden activar o desactivar, e `is_style` desactiva las opciones específicas de rostros. La salida incluye un archivo de configuración y archivos LoRA separados de ruido bajo y alto.
Parámetros
training_data_urlobligatorio
trigger_phraseobligatorio
include_synthetic_captionsopcional
use_face_detectionopcional
use_face_croppingopcional
use_masksopcional
stepsopcional
learning_rateopcional
is_styleopcional
Salida
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "wan-22-image-trainer",
"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": 4500,
"usd": "4.50",
"charged": 4500,
"refunded": 0
},
"input": {
"training_data_url": "https://example.com/your-file.zip",
"trigger_phrase": "example"
},
"output": {
"diffusers_lora_file": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"high_noise_lora": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"config_file": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
},
"outputs": [
{
"type": "file",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"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"
}
}
Campos de salida
- diffusers_lora_file
- object {url, content_type, file_name, file_size}Archivo LoRA para ruido bajo.
- high_noise_lora
- object {url, content_type, file_name, file_size}Archivo LoRA para ruido alto.
- config_file
- object {url, content_type, file_name, file_size}Archivo de configuración compatible con los endpoints de inferencia posteriores al entrenamiento.
Más modelos: Entrenamiento
Para agentes de IA: esta página en Markdown está en https://doitong.com/es/developers/models/wan-22-image-trainer.md. Todos los modelos y guías: https://doitong.com/developers/llms.txt