# Stable Diffusion with LoRAs API

> کسی بھی Stable Diffusion بیس ماڈل کے ساتھ LoRAs، ایمبیڈنگز، ControlNets اور IP adapters استعمال کرتے ہوئے متن سے تصویر

متن کے پرامپٹ سے تصاویر بنانے کے لیے وہ بنیادی ماڈل استعمال کرتا ہے جس کا URL یا HuggingFace ID، `model_name` میں دیا گیا ہو۔ متعدد `loras` کو ضم کیا جا سکتا ہے، اور ایمبیڈنگ، ControlNets، IP adapters اور IC Light ان پٹ کی معاونت موجود ہے۔ سیمپلنگ کے اختیارات میں کئی شیڈیولر اور 1 سے 150 مراحل شامل ہیں۔ png یا jpeg میں 1 سے 8 تصاویر بناتا ہے۔

- Model id: `lora`
- Made by: Open model
- Category: Text to Image
- Output: image
- Estimated price per run: $0.057 / image (cheapest run $0.057 (57 API credits))
- Run: `POST https://api.doitong.com/v1/run/lora`
- Quote: `POST https://api.doitong.com/v1/quote/lora`
- Docs page: https://doitong.com/ur/developers/models/lora

## Pricing

Price: **$0.057 / image**. Estimated from the typical cost of one run, per output (`num_images`). The quote is exactly what the run charges.

The full example input below costs $0.057 = 57 API credits (1 image × 57 API credits).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.com/v1/quote/lora` with the same JSON body returns the exact price for that input; the quote is exactly what a run charges. Invalid input is never charged and failed or canceled requests are refunded automatically.

## Input parameters

Send either the canonical name or the native field name (not both). Canonical names are the same across models.

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `model_name` |  | string | yes |  |  | تصویر تخلیق کرنے کے لیے بنیادی ماڈل، جس کی شناخت URL یا HuggingFace ID سے ہوتی ہے۔ |
| `unet_name` |  | string \| null | no |  |  | تصاویر تخلیق کرنے کے لیے custom U-Net کا انتخاب؛ اس کی HuggingFace ID یا URL دیں۔ |
| `variant` |  | string \| null | no |  |  | HuggingFace ماڈل variant کا انتخاب؛ 'fp16' ایک مثال ہے۔ |
| `prompt` |  | string | yes |  |  | جتنی ممکن ہو تفصیل کے ساتھ مطلوبہ تصویر بیان کریں تاکہ بہترین نتائج حاصل ہوں۔ |
| `negative_prompt` |  | string | no | `` |  | ناپسندیدہ تصویری تفصیلات بتانے والا منفی پرامپٹ۔ اس میں رنگ، اشیا، مناظر یا باریک خصوصیات و معیار، مثلاً مونچھ، دھندلا پن یا کم ریزولوشن، خارج کیے جا سکتے ہیں۔ |
| `prompt_weighting` |  | boolean | no | `false` |  | پرامپٹ وزن دینے کا ٹوگل: true ایمبیڈنگ ایوریجنگ کے ذریعے 77 ٹوکن کی حد ہٹا دیتا ہے اور وزن دینے کا نحو فعال کرتا ہے۔ |
| `loras` |  | array of object {path, scale} | no | `[]` |  | وہ LoRAs جن کا مشترکہ اثر تخلیق شدہ تصویر بناتا ہے؛ فراہم کیے جانے والے LoRAs کی تعداد کی کوئی حد نہیں۔ |
| `loras[].path` |  | string | yes |  |  | LoRA weights کا مقام، URL یا path کے طور پر۔ |
| `loras[].scale` |  | number | no | `1` | 0 – 4 | بنیادی ماڈل میں ضم کرنے سے پہلے LoRA weight پر لاگو ہونے والا multiplier۔ |
| `embeddings` |  | array of object {path, tokens} | no | `[]` |  | تصویر کی تخلیق کے دوران لاگو کیے جانے والے ایمبیڈنگز، جو پرامپٹ ٹوکنز کو ایمبیڈنگ وزنوں سے منسلک کرتے ہیں۔ فی الحال صرف ایک ایمبیڈنگ معاونت یافتہ ہے۔ |
| `embeddings[].path` |  | string | yes |  |  | URL یا فائل کے پاتھ سے متعین کردہ ایمبیڈنگ ویٹس۔ |
| `embeddings[].tokens` |  | array of string \| null | no |  |  | ایمبیڈنگ وزنوں سے منسلک پرامپٹ ٹوکنز۔ انہیں چھوڑنے پر ہر ایمبیڈنگ فائل ویکٹر کے لیے ایک ٹوکن بنتا ہے، جس کا نام <s0>، <s1>، ... ہوتا ہے؛ اپنے پرامپٹس میں منسلک ٹوکنز استعمال کریں۔ |
| `controlnets` |  | array of object {path, config_url, variant, image_url, mask_url, conditioning_scale, start_percentage, end_percentage, ip_adapter_index} | no | `[]` |  | تخلیق کے دوران مخصوص ٹائم اسٹیپس پر تصویر پر لاگو کیے جانے والے Control nets؛ آپ جتنے چاہیں فراہم کر سکتے ہیں۔ |
| `controlnets[].path` |  | string | yes |  |  | ControlNet weight کا مقام، URL یا path کے طور پر متعین کیا جاتا ہے۔ |
| `controlnets[].config_url` |  | string \| null | no |  |  | ControlNet کی config.json فائل کی طرف اشارہ کرنے والا اختیاری URL۔ |
| `controlnets[].variant` |  | string \| null | no |  |  | Hugging Face repository key کے ساتھ استعمال کے لیے اختیاری variant۔ |
| `controlnets[].image_url` |  | string (image URL) | yes |  |  | ControlNet ان پٹ کے طور پر فراہم کیا گیا تصویر کا URL۔ |
| `controlnets[].mask_url` |  | string (image URL) \| null | no |  |  | ControlNet ماسک؛ فراہم کیے جانے پر اس کا سائز کنٹرول تصویر سے مماثل ہونا چاہیے، اور چوڑائی و اونچائی دونوں 32 سے قابل تقسیم ہونی چاہییں۔ |
| `controlnets[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Base ماڈل میں merge کرنے سے پہلے ControlNet weights پر لاگو کیا جانے والا scaling۔ |
| `controlnets[].start_percentage` |  | number | no | `0` | 0 – 1 | کل timesteps کا وہ فیصد جس پر ControlNet تصویر کی تخلیق پر اثر انداز ہونا شروع کرتا ہے۔ |
| `controlnets[].end_percentage` |  | number | no | `1` | 0 – 1 | کل timesteps کا وہ فیصد جس پر ControlNet تصویر کی تخلیق پر اثر انداز ہونا بند کرتا ہے۔ |
| `controlnets[].ip_adapter_index` |  | integer \| null | no |  |  | InstantID ControlNet کے لیے انڈیکس کے ذریعے IP adapter کا انتخاب؛ دیگر ControlNets کو اس ترتیب کی ضرورت نہیں۔ |
| `controlnet_guess_mode` |  | boolean | no | `false` |  | true ہونے پر ControlNet کے اطلاق کو صرف مشروط پیش گوئیوں تک محدود کرتا ہے۔ |
| `ip_adapter` |  | array of object {ip_adapter_image_url, ip_adapter_mask_url, path, model_subfolder, weight_name, insight_face_model_path, scale, scale_json, unconditional_noising_factor, image_projection_shortcut} | no | `[]` |  | تصاویر کی تخلیق کے لیے استعمال ہونے والے IP adapters۔ کوئی بھی اندراج فراہم کرنے کے لیے image_encoder_path درکار ہے۔ |
| `ip_adapter[].ip_adapter_image_url` |  | string (image URL) \| array of image URL | yes |  |  | IP adapter ان پٹ کے طور پر فراہم کیا گیا تصویر کا URL۔ |
| `ip_adapter[].ip_adapter_mask_url` |  | string (image URL) \| null | no |  |  | IP adapter ماسک؛ فراہم کیے جانے پر اس کے ابعاد adapter تصویر کے برابر ہونے چاہییں۔ |
| `ip_adapter[].path` |  | string | yes |  |  | IP adapter وزنوں کا مقام، URL یا path کے طور پر متعین کیا جاتا ہے۔ |
| `ip_adapter[].model_subfolder` |  | string \| null | no |  |  | IP adapter وزنوں کا مقام، ماڈل ڈائریکٹری کے اندر subfolder کے طور پر متعین کیا جاتا ہے۔ |
| `ip_adapter[].weight_name` |  | string \| null | no |  |  | وزنوں کی فائل کا نام۔ |
| `ip_adapter[].insight_face_model_path` |  | string \| null | no |  |  | InsightFace ماڈل وزنوں کا مقام، URL یا path کے طور پر متعین کیا جاتا ہے۔ |
| `ip_adapter[].scale` |  | number | no | `1` | ≥ 0 | IP adapter وزنوں کے لیے اسکیلنگ فیکٹر، جو انہیں base ماڈل میں ضم کرنے سے پہلے لاگو ہوتا ہے۔ |
| `ip_adapter[].scale_json` |  | object \| null | no |  |  | IP adapter وزنوں کے لیے اسکیلنگ فیکٹر، جو انہیں base ماڈل میں ضم کرنے سے پہلے لاگو ہوتا ہے۔ |
| `ip_adapter[].unconditional_noising_factor` |  | number | no | `0` | 0 – 1 | IP adapter کے لیے غیر مشروط noise کو کنٹرول کرنے والا فیکٹر۔ |
| `ip_adapter[].image_projection_shortcut` |  | boolean | no | `true` |  | تصویر projection shortcut کی ترتیب، جس کی ڈیفالٹ قدر True ہے۔ FaceID plus V1 ماڈلز کے لیے False اور FaceID plus V2 ماڈلز کے لیے True استعمال کریں۔ |
| `image_encoder_path` |  | string \| null | no |  |  | HTTPS URL یا Hugging Face ID سے متعین تصویر encoder؛ مطابقت IP-Adapter وزنوں سے طے ہوتی ہے: SD1.5 میں image_encoder_subfolder='models/image_encoder'، جبکہ h94/IP-Adapter SDXL میں h94/IP-Adapter اور image_encoder_subfolder='sdxl_models/image_encoder' استعمال ہوتا ہے۔ جب بھی ip_adapter میں کوئی قدر ہو، encoder درکار ہے۔ |
| `image_encoder_subfolder` |  | string \| null | no |  |  | image_encoder_path کے اندر وہ subdirectory جس میں تصویر encoder کے وزن موجود ہوں۔ |
| `image_encoder_weight_name` |  | string \| null | no | `pytorch_model.bin` |  | تصاویر کی تخلیق میں استعمال کے لیے تصویر encoder کے وزن نام کے ذریعے منتخب کریں۔ |
| `ic_light_model_url` |  | string \| null | no |  |  | تصاویر کی تخلیق کے دوران استعمال ہونے والا IC Light ماڈل URL۔ |
| `ic_light_model_background_image_url` |  | string (image URL) \| null | no |  |  | IC Light تصویر کی تخلیق کے لیے ماڈل سے مطابقت رکھنے والا پس منظر، تصویر کے URL کے طور پر فراہم کیا جاتا ہے۔ |
| `ic_light_image_url` |  | string (image URL) \| null | no |  |  | IC Light ماڈل کے ساتھ تخلیق کے لیے ان پٹ تصویر کا URL۔ |
| `seed` |  | integer \| null | no |  |  | Stable Diffusion میں تصاویر دوبارہ بنانے کے لیے seed۔ ماڈل ورژن، پرامپٹ اور seed یکساں رکھ کر ہر بار تصویر بالکل دوبارہ بنائی جا سکتی ہے۔ |
| `image_size` |  | object {width, height} \| enum (string) \| null | no | `square_hd` | `square_hd`, `square`, `portrait_4_3`, `portrait_16_9`, `landscape_4_3`, `landscape_16_9` | آؤٹ پٹ تصویر کے ابعاد، presets سے منتخب یا custom width اور height کے طور پر متعین کیے جاتے ہیں۔ دونوں custom dimensions کو 8 سے قابل تقسیم ہونا چاہیے۔ |
| `num_inference_steps` |  | integer | no | `30` | 1 – 150 | کنٹرول کریں کہ Stable Diffusion کتنے تخلیقی مراحل انجام دے؛ اضافی مراحل زیادہ تفصیلی حتمی تصویر دے سکتے ہیں۔ |
| `guidance_scale` |  | number | no | `7.5` | 0 – 20 | تصویر کے انتخاب کے لیے پرامپٹ کی پابندی کی طاقت، CFG (Classifier Free Guidance) کے طور پر ظاہر کی جاتی ہے۔ |
| `clip_skip` |  | integer | no | `0` | 0 – 2 | تصویر کی تخلیق کا ایک حصہ چھوڑ کر رینڈرنگ تیز کرتا ہے، جس سے نتائج قدرے مختلف ہوتے ہیں۔ |
| `scheduler` |  | enum (string) \| null | no |  | `DPM++ 2M`, `DPM++ 2M Karras`, `DPM++ 2M SDE`, `DPM++ 2M SDE Karras`, `Euler`, `Euler A`, `Euler (trailing timesteps)`, `LCM`, `LCM (trailing timesteps)`, `DDIM`, `TCD` | تصویر کو denoise کرنے کے لیے استعمال ہونے والا scheduler یا sampler۔ |
| `timesteps` |  | object {method, array} | no | `{"array":[],"method":"default"}` |  | Denoising timestep schedule کا override، جو sigmas کے ساتھ باہمی طور پر غیر موافق ہے۔ override کے بغیر—یعنی ڈیفالٹ طور پر—scheduler، num_inference_steps سے timesteps شمار کرتا ہے؛ custom schedule دینے پر num_inference_steps غیر متعلق ہو جاتا ہے۔ override کے لیے set_timesteps میں timesteps argument کی scheduler معاونت درکار ہے۔ |
| `timesteps.method` |  | enum (string) | no | `default` | `default`, `array` | منتخب کریں کہ timesteps کیسے متعین ہوں: 'default'، جو ڈیفالٹ ترتیب ہے، scheduler کو `num_inference_steps` استعمال کرنے دیتی ہے۔ خود timestep schedule دینے کے لیے 'array' منتخب کریں اور schedule کو `array` فیلڈ میں رکھیں۔ |
| `timesteps.array` |  | array of integer | no | `[]` |  | منتخب طریقہ 'custom' ہونے پر لاگو ہونے والا timestep schedule۔ |
| `sigmas` |  | object {method, array} | no | `{"array":[],"method":"default"}` |  | Denoising sigma schedule کا override، جو timesteps کے ساتھ باہمی طور پر غیر موافق ہے۔ override کے بغیر—یعنی ڈیفالٹ طور پر—scheduler، num_inference_steps سے sigmas شمار کرتا ہے؛ custom schedule دینے پر num_inference_steps غیر متعلق ہو جاتا ہے۔ override کے لیے set_sigmas میں sigmas argument کی scheduler معاونت درکار ہے۔ |
| `sigmas.method` |  | enum (string) | no | `default` | `default`, `array` | منتخب کریں کہ sigmas کیسے متعین ہوں: 'default'، جو ڈیفالٹ ترتیب ہے، scheduler کی اپنی sigma values استعمال کرتا ہے۔ خود sigma schedule دینے کے لیے 'custom' منتخب کریں اور schedule کو `array` فیلڈ میں رکھیں۔ |
| `sigmas.array` |  | array of number | no | `[]` |  | منتخب طریقہ 'custom' ہونے پر لاگو ہونے والا sigma schedule۔ |
| `prediction_type` |  | enum (string) | no | `epsilon` | `v_prediction`, `epsilon` | تصاویر کی تخلیق کے لیے prediction type منتخب کریں؛ مختلف انتخاب نہ ہونے پر `epsilon` استعمال ہوتا ہے۔ |
| `rescale_betas_snr_zero` |  | boolean | no | `false` |  | کنٹرول کرتا ہے کہ sampler، rescale_betas_snr_zero فعال کرے یا نہیں۔ |
| `image_format` |  | enum (string) | no | `png` | `jpeg`, `png` | نتیجہ خیز تصویر کا فائل فارمیٹ۔ |
| `num_images` | `num_outputs` | integer | no | `1` | 1 – 8 | متعین کریں کہ ایک درخواست کتنی تصاویر تیار کرے؛ بڑے batch کے لیے زیادہ تخلیقی وقت دستیاب ہوگا۔ |
| `enable_safety_checker` |  | boolean | no | `false` |  | حفاظتی checker کی فعالیت؛ true جانچ فعال کرتا ہے۔ |
| `tile_width` |  | integer | no | `4096` | 128 – 4,096 | تصویر کی تخلیق کے دوران ہر tile کا سائز متعین کریں۔ |
| `tile_height` |  | integer | no | `4096` | 128 – 4,096 | تصویر کی تخلیق کے دوران ہر tile کا سائز متعین کریں۔ |
| `tile_stride_width` |  | integer | no | `2048` | 64 – 2,048 | تصویر کی تخلیق کے دوران مسلسل tile پوزیشنز کے درمیان فاصلہ متعین کریں۔ |
| `tile_stride_height` |  | integer | no | `2048` | 64 – 2,048 | تصویر کی تخلیق کے دوران مسلسل tile پوزیشنز کے درمیان فاصلہ متعین کریں۔ |
| `eta` |  | number | no | `0` | 0 – 1 | تصاویر کی تخلیق کے دوران استعمال ہونے والی Eta ترتیب۔ |
| `debug_latents` |  | boolean | no | `false` |  | true ہونے پر debugging کے لیے latents محفوظ کرتا ہے۔ |
| `debug_per_pass_latents` |  | boolean | no | `false` |  | اسے true کر کے ہر pass کی debugging فعال کریں؛ اس سے ہر pass کے latents محفوظ ہوتے ہیں۔ |

File parameters (`ic_light_model_background_image_url`, `ic_light_image_url`) take a public `https://` URL, a `data:` URI up to 10 MB, or the `file_url` of an upload from `POST /files`.

## Example input

Required parameters only:

```json
{
  "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

A fuller example:

```json
{
  "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

## Run it

Set `DOITONG_API_KEY` to a key from https://doitong.com/developers/dashboard#keys. `?wait=20` returns the finished request in the same call when it is ready within 20 seconds; otherwise poll `GET /requests/{id}` (it also accepts `?wait=`), or pass `webhook_url`.

### curl

```bash
# 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/lora?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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"
```

### JavaScript

```javascript
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/lora?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }),
});
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 + ")");
```

### Python

```python
import os
import requests

API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/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"])
```

### MCP

The MCP server at `https://api.doitong.com/v1/mcp` exposes the tools `search_models`, `get_model`, `quote`, `run`, `get_request`, `cancel_request`, `list_requests`, `create_upload` and `get_account`. A `run` call for this model:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run",
    "arguments": {
      "model_id": "lora",
      "input": {
        "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
        "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
      },
      "wait_seconds": 20
    }
  }
}
```

## Response

Every call returns a request object. `status` is one of `queued`, `running`, `succeeded`, `failed`, `canceled`. `outputs` lists the generated files with URLs on our storage (kept forever, or 7 days with `?storage=temporary`; `storage` says which); `output` is the model's own result object with the same URLs.

```json
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "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": 57,
    "usd": "0.057",
    "charged": 57,
    "refunded": 0
  },
  "input": {
    "model_name": "stabilityai/stable-diffusion-xl-base-1.0",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "output": {
    "images": [
      {
        "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,
        "width": 1024,
        "height": 768
      }
    ],
    "seed": 42,
    "has_nsfw_concepts": [
      false
    ],
    "debug_latents": {
      "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
    },
    "debug_per_pass_latents": {
      "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": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "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"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `images` | array of object {url, content_type, file_name, file_size, width, height} | تیار کردہ تصاویر کی فائل کی معلومات۔ |
| `seed` | integer | تصویر کی تخلیق کا سیڈ، جس میں ان پٹ میں سیڈ نہ دینے پر تصادفی طور پر منتخب قدر شامل ہوتی ہے؛ بصورتِ دیگر فراہم کردہ قدر دہرائی جاتی ہے۔ |
| `has_nsfw_concepts` | array of boolean | بتاتا ہے کہ تخلیق کردہ تصاویر میں NSFW تصورات موجود ہیں یا نہیں۔ |
| `debug_latents` | object {url, content_type, file_name, file_size} \| null | Debugging کے لیے محفوظ کیا گیا latent data۔ |
| `debug_per_pass_latents` | object {url, content_type, file_name, file_size} \| null | Debugging کے لیے ہر pass کا محفوظ کیا گیا latent data۔ |

## Related models

- [Stable Diffusion with LoRAs · Image to Image](https://doitong.com/developers/models/lora/image-to-image.md) (`lora/image-to-image`): $0.264 / image
- [Stable Diffusion with LoRAs · Inpaint](https://doitong.com/developers/models/lora/inpaint.md) (`lora/inpaint`): $0.184 / image
- [FLUX.1 \[dev\]](https://doitong.com/developers/models/flux/dev.md) (`flux/dev`): $0.025 / megapixel
- [FLUX.1 \[schnell\]](https://doitong.com/developers/models/flux/schnell.md) (`flux/schnell`): $0.003 / megapixel
- [FLUX.2 \[dev\]](https://doitong.com/developers/models/flux-2.md) (`flux-2`): $0.012 / megapixel
- [FLUX.2 \[pro\]](https://doitong.com/developers/models/flux-2-pro.md) (`flux-2-pro`): $0.015 / megapixel of output image
- [GPT Image 2.5 Text to Image](https://doitong.com/developers/models/openai/gpt-image-2.5/flare/text-to-image.md) (`openai/gpt-image-2.5/flare/text-to-image`): from $0.008 / image
- [Ideogram V4.5](https://doitong.com/developers/models/ideogram/v4.5.md) (`ideogram/v4.5`): from $0.03 / image

## Links

- HTML page: https://doitong.com/developers/models/lora
- All models and guides for AI agents: https://doitong.com/developers/llms.txt
- OpenAPI 3.1 with this model's typed request body: https://doitong.com/developers/openapi.json?model=lora
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.com/v1/models/lora
