# FLUX.1 [dev] with Controlnets and Loras API

> FLUX.1 [dev] ٹیکسٹ ٹو امیج، LoRAs، ControlNets، IP-Adapters، EasyControl اور حوالہ جاتی تصویر کی رہنمائی کے ساتھ

`prompt` سے تصاویر تخلیق کرتا ہے اور کئی کنڈیشننگ طریقے فراہم کرتا ہے: `loras`، `control_loras`، `controlnets`، `controlnet_unions`، `ip_adapters` اور `easycontrols`، جبکہ ماسک والے حصوں کے لیے `fill_image` بھی دستیاب ہے۔ یہ `reference_image_url`، منفی پرامپٹس، اور euler یا dpmpp_2m شیڈیولر کا انتخاب بھی قبول کرتا ہے۔ ہر کال میں زیادہ سے زیادہ 10 تصاویر، png یا jpeg میں۔

- Model id: `flux-general`
- Made by: Black Forest Labs
- Category: Text to Image
- Output: image
- Estimated price per run: $0.30 / image (cheapest run $0.30 (300 API credits))
- Run: `POST https://api.doitong.com/v1/run/flux-general`
- Quote: `POST https://api.doitong.com/v1/quote/flux-general`
- Docs page: https://doitong.com/ur/developers/models/flux-general

## Pricing

Price: **$0.30 / 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.30 = 300 API credits (1 image × 300 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/flux-general` 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 |
|---|---|---|---|---|---|---|
| `prompt` |  | string | yes |  |  | تصویر کی تخلیق کی رہنمائی کرنے والا پرامپٹ۔ |
| `image_size` |  | object {width, height} \| enum (string) | no |  | `square_hd`, `square`, `portrait_4_3`, `portrait_16_9`, `landscape_4_3`, `landscape_16_9` | تخلیق شدہ تصویر کی dimensions۔ |
| `num_inference_steps` |  | integer | no | `28` | 1 – 50 | چلائے جانے والے inference steps کی تعداد۔ |
| `seed` |  | integer \| null | no |  |  | قابلِ تکرار تصاویر کے لیے سیڈ: ماڈل ورژن تبدیل نہ ہونے پر یکساں پرامپٹ اور سیڈ یکساں تصویر تیار کرتے ہیں۔ |
| `loras` |  | array of object {path, scale} | no | `[]` |  | وہ LoRAs جن کا مشترکہ اثر تخلیق شدہ تصویر بناتا ہے؛ فراہم کیے جانے والے LoRAs کی تعداد کی کوئی حد نہیں۔ |
| `loras[].path` |  | string | yes |  |  | LoRA weights کا مقام، URL یا path کے طور پر۔ |
| `loras[].scale` |  | object \| number | no | `1` |  | Base ماڈل میں merge کرنے سے پہلے LoRA weights پر لاگو کیا جانے والا scaling۔ انفرادی layer scales مقرر کرنے کے لیے {"layer_name":layer_scale} شکل کی dictionary فراہم کریں؛ غیر متعین layers کے لیے 1.0 استعمال ہوتا ہے۔ |
| `control_loras` |  | array of object {path, scale, control_image_url, preprocess} | no | `[]` |  | Control-image LoRAs، جو final تصویر بنانے کے لیے مشترکہ configuration میں merge کیے جاتے ہیں؛ فراہم کردہ تعداد کی کوئی حد نہیں۔ |
| `control_loras[].path` |  | string | yes |  |  | LoRA weights کا مقام، URL یا path کے طور پر۔ |
| `control_loras[].scale` |  | object \| number | no | `1` |  | Base ماڈل میں merge کرنے سے پہلے LoRA weights پر لاگو کیا جانے والا scaling۔ انفرادی layer scales مقرر کرنے کے لیے {"layer_name":layer_scale} شکل کی dictionary فراہم کریں؛ غیر متعین layers کے لیے 1.0 استعمال ہوتا ہے۔ |
| `control_loras[].control_image_url` |  | string (image URL) | yes |  |  | Control تصویر فراہم کرنے والا تصویر URL۔ |
| `control_loras[].preprocess` |  | enum (string) | no | `None` | `canny`, `depth`, `None` | فراہم کردہ تصویر پر لاگو کیا جانے والا preprocessing method۔ |
| `controlnets` |  | array of object {path, config_url, variant, control_image_url, mask_image_url, mask_threshold, conditioning_scale, start_percentage, end_percentage} | no | `[]` |  | تصویر کی تخلیق کے لیے ControlNet configuration؛ فی الحال صرف ایک ControlNet تک محدود۔ |
| `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[].control_image_url` |  | string (image URL) | yes |  |  | Control تصویر فراہم کرنے والا تصویر URL۔ |
| `controlnets[].mask_image_url` |  | string (image URL) | no |  |  | Control تصویر سے منسلک mask URL۔ |
| `controlnets[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask threshold value۔ |
| `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 تصویر کی تخلیق پر اثر انداز ہونا بند کرتا ہے۔ |
| `controlnet_unions` |  | array of object {path, config_url, variant, controls} | no | `[]` |  | تصویر کی تخلیق کے لیے ControlNet union configuration، موجودہ single-ControlNet پابندی کے تابع۔ |
| `controlnet_unions[].path` |  | string | yes |  |  | ControlNet weight کا مقام، URL یا path کے طور پر متعین کیا جاتا ہے۔ |
| `controlnet_unions[].config_url` |  | string \| null | no |  |  | ControlNet کی config.json فائل کی طرف اشارہ کرنے والا اختیاری URL۔ |
| `controlnet_unions[].variant` |  | string \| null | no |  |  | Hugging Face repository key کے ساتھ استعمال کے لیے اختیاری variant۔ |
| `controlnet_unions[].controls` |  | array of object {control_image_url, mask_image_url, control_mode, conditioning_scale, mask_threshold, start_percentage, end_percentage} | yes |  |  | ControlNet کو فراہم کی جانے والی control تصویر اور متعلقہ modes۔ |
| `controlnet_unions[].controls[].control_image_url` |  | string (image URL) | yes |  |  | Control تصویر فراہم کرنے والا تصویر URL۔ |
| `controlnet_unions[].controls[].mask_image_url` |  | string (image URL) | no |  |  | Control تصویر سے منسلک mask URL۔ |
| `controlnet_unions[].controls[].control_mode` |  | enum (string) | yes |  | `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality` | Flux Controlnet Union کے ذریعے استعمال ہونے والا control mode۔ Options: canny کناروں سے تخلیق کی رہنمائی کرتا ہے؛ tile tiles سے؛ depth grayscale depth map سے؛ blur تصویر کو دھندلا کرتا ہے؛ pose تصویر کے pose سے؛ gray تصویر کو grayscale بناتا ہے؛ low-quality تصویر کا کم معیار والا ورژن بناتا ہے۔ |
| `controlnet_unions[].controls[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Base ماڈل میں merge کرنے سے پہلے ControlNet weights پر لاگو کیا جانے والا scaling۔ |
| `controlnet_unions[].controls[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask threshold value۔ |
| `controlnet_unions[].controls[].start_percentage` |  | number | no | `0` | 0 – 1 | کل timesteps کا وہ فیصد جس پر ControlNet تصویر کی تخلیق پر اثر انداز ہونا شروع کرتا ہے۔ |
| `controlnet_unions[].controls[].end_percentage` |  | number | no | `1` | 0 – 1 | کل timesteps کا وہ فیصد جس پر ControlNet تصویر کی تخلیق پر اثر انداز ہونا بند کرتا ہے۔ |
| `ip_adapters` |  | array of object {path, subfolder, weight_name, image_encoder_path, image_encoder_subfolder, image_encoder_weight_name, image_url, mask_image_url, mask_threshold, scale} | no | `[]` |  | تصویر کی تخلیق کے دوران لاگو کیا جانے والا IP-Adapter۔ |
| `ip_adapters[].path` |  | string | yes |  |  | Hugging Face پر IP-Adapter کا مقام۔ |
| `ip_adapters[].subfolder` |  | string \| null | no |  |  | ip_adapter weights پر مشتمل subfolder۔ |
| `ip_adapters[].weight_name` |  | string \| null | no |  |  | IP-Adapter کے weights کی Safetensors filename۔ |
| `ip_adapters[].image_encoder_path` |  | string | yes |  |  | IP-Adapter تصویر encoder کا مقام، جیسے 'openai/clip-vit-large-patch14'۔ |
| `ip_adapters[].image_encoder_subfolder` |  | string \| null | no |  |  | تصویر encoder کے weights پر مشتمل subfolder۔ |
| `ip_adapters[].image_encoder_weight_name` |  | string \| null | no |  |  | تصویر encoder کا نام۔ |
| `ip_adapters[].image_url` |  | string (image URL) | yes |  |  | IP-Adapter کو فراہم کیا جانے والا conditioning تصویر URL۔ |
| `ip_adapters[].mask_image_url` |  | string (image URL) \| null | no |  |  | Control تصویر سے منسلک mask URL۔ |
| `ip_adapters[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask threshold value۔ |
| `ip_adapters[].scale` |  | number | yes |  |  | IP-Adapter scaling factor۔ |
| `easycontrols` |  | array of object {control_method_url, scale, image_url, image_control_type} | no | `[]` |  | تصویر کی تخلیق کے دوران لاگو کیے جانے والے EasyControl ان پٹ۔ |
| `easycontrols[].control_method_url` |  | string | yes |  |  | Control method کا safetensor weight URL، یا supported identifier: `canny`, `depth`, `hedsketch`, `inpainting`, `pose`, `seg`, `subject`, `ghibli`۔ |
| `easycontrols[].scale` |  | number | no | `1` | 0 – 2 | Control method scaling factor۔ |
| `easycontrols[].image_url` |  | string (image URL) | yes |  |  | Control ان پٹ فراہم کرنے والا تصویر URL۔ |
| `easycontrols[].image_control_type` |  | enum (string) | yes |  | `subject`, `spatial` | تصویر control mode؛ `spatial` یا `subject` میں سے ایک قبول کرتا ہے۔ |
| `fill_image` |  | object {fill_image_url} \| null | no |  |  | ان پٹ تصویر جو تخلیق کی رہنمائی کرتی ہے اور masked regions کے لیے مواد فراہم کر سکتی ہے۔ |
| `fill_image.fill_image_url` |  | string (image URL) \| array of image URL | no | `[]` |  | redux prompting کے ذریعے بھرنے کے لیے تصویر URLs۔ |
| `guidance_scale` |  | number | no | `3.5` | 0 – 20 | تصویر کے انتخاب کے لیے پرامپٹ کی پابندی کی طاقت، CFG (Classifier Free Guidance) کے طور پر ظاہر کی جاتی ہے۔ |
| `real_cfg_scale` |  | number | no | `3.5` | 0 – 5 | تصویر کے انتخاب کے لیے پرامپٹ کی پابندی کی طاقت، CFG (Classifier Free Guidance) کے طور پر ظاہر کی جاتی ہے۔ |
| `use_real_cfg` |  | boolean | no | `false` |  | Classical CFG switch، XLabs IP-Adapter v1 کے ساتھ خودکار طور پر فعال۔ guidance behavior، SD1.5 اور SDXL جیسے ماڈل سے مطابقت رکھتا ہے۔ |
| `use_cfg_zero` |  | boolean | no | `false` |  | CFG-zero initialization sampling فعال کرتا ہے، جس کی وضاحت https://arxiv.org/abs/2503.18886 پر ہے۔ |
| `num_images` | `num_outputs` | integer | no | `1` | 1 – 10 | تخلیق کی جانے والی تصاویر کی تعداد مقرر کریں؛ آؤٹ پٹ stream ہونے پر یہ انتخاب 1 پر مقرر ہوتا ہے۔ |
| `enable_safety_checker` |  | boolean | no | `true` |  | حفاظتی جانچ، جو غیر محفوظ قرار دی گئی تصاویر کی جگہ سیاہ تصاویر واپس کرتی ہے۔ true جانچ فعال کرتا ہے؛ false اسے صرف مجاز اکاؤنٹس کے لیے غیر فعال کرتا ہے، جبکہ بغیر اجازت درخواستوں کی جانچ بہرحال ہوتی ہے۔ |
| `reference_image_url` |  | string (image URL) | no |  |  | Reference-Only guidance کے لیے استعمال ہونے والا تصویر URL۔ |
| `reference_strength` |  | number | no | `0.65` | -3 – 3 | reference_only تخلیق کے دوران reference تصویر کا اثر؛ reference تصویر فراہم نہ کرنے پر اس strength setting کا کوئی اثر نہیں۔ |
| `reference_start` |  | number | no | `0` | 0 – 1 | Reference guidance کا ابتدائی نقطہ، تمام timesteps کے فیصد کے طور پر۔ |
| `reference_end` |  | number | no | `1` | 0 – 1 | Reference guidance کا آخری نقطہ، تمام timesteps کے فیصد کے طور پر۔ |
| `base_shift` |  | number | no | `0.5` | 0.01 – 5 | scheduled timesteps پر لاگو کیا جانے والا baseline shift۔ |
| `max_shift` |  | number | no | `1.15` | 0.01 – 5 | scheduled timesteps پر لاگو کیا جانے والا زیادہ سے زیادہ shift۔ |
| `output_format` |  | enum (string) | no | `png` | `jpeg`, `png` | نتیجہ خیز تصویر کا فائل فارمیٹ۔ |
| `use_beta_schedule` |  | boolean | no | `false` |  | یہ کنٹرول کرتا ہے کہ beta sigmas استعمال کیے جائیں یا نہیں۔ |
| `sigma_schedule` |  | string \| null | no |  |  | denoising کے دوران استعمال ہونے والا sigma schedule۔ |
| `scheduler` |  | enum (string) | no | `euler` | `euler`, `dpmpp_2m` | denoising کے دوران استعمال ہونے والا scheduler۔ |
| `negative_prompt` |  | string | no | `` |  | منفی پرامپٹ، جسے ڈیفالٹ طور پر NAG کے ساتھ process کیا جاتا ہے تاکہ تخلیق شدہ تصاویر میں مخصوص ناپسندیدہ features کی حوصلہ شکنی ہو۔ |
| `nag_scale` |  | number | no | `3` | ≤ 10, > 1 | NAG scale کے ذریعے کنٹرول کیا جانے والا منفی پرامپٹ سے اجتناب؛ اسے بڑھانے سے تخلیق شدہ تصویر منفی description سے کم مشابہ ہوتی ہے۔ |
| `nag_tau` |  | number | no | `2.5` | > 0 | hidden-state normalization کے لیے NAG tau setting؛ اسے تبدیل نہ کرنے کی سفارش کی جاتی ہے۔ اسے بڑھانے سے normalization کمزور ہوتی ہے اور اصل تصویر سے غیر متوقع انحراف کا خطرہ بڑھتا ہے۔ |
| `nag_alpha` |  | number | no | `0.25` | ≤ 1, > 0 | NAG alpha یہ طے کرتا ہے کہ مثبت اور منفی پرامپٹس کو یکجا کرنے والی نارملائزڈ گائیڈنس کا رخ مثبت پرامپٹ کس حد تک موڑتا ہے۔ یہ حتمی وزن کم سیٹنگز پر مثبت پرامپٹ کا اثر بڑھاتا ہے اور زیادہ سیٹنگز پر رخ موڑنے کا اثر کم کرتا ہے۔ |
| `nag_end` |  | number | no | `0.25` | ≤ 1, > 0 | NAG cutoff، تخلیق steps کے تناسب کے طور پر۔ NAG کے اس ابتدائی تناسب کے مکمل ہونے کے بعد FLUX کے original attention processors کنٹرول سنبھال لیتے ہیں۔ |

File parameters (`reference_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
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

A fuller example:

```json
{
  "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/flux-general?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"
  }'

# 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/flux-general?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"
  }),
});
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 = {
    "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/flux-general", 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": "flux-general",
      "input": {
        "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": "flux-general",
  "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": 300,
    "usd": "0.30",
    "charged": 300,
    "refunded": 0
  },
  "input": {
    "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",
        "width": 1024,
        "height": 768,
        "content_type": "image/jpeg"
      }
    ],
    "timings": {},
    "seed": 42,
    "has_nsfw_concepts": [
      false
    ],
    "prompt": "string"
  },
  "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, width, height, content_type} | تیار کردہ تصاویر کی فائل کی معلومات۔ |
| `timings` | object |  |
| `seed` | integer | تصویر کی تخلیق کا سیڈ، جس میں ان پٹ میں سیڈ نہ دینے پر تصادفی طور پر منتخب قدر شامل ہوتی ہے؛ بصورتِ دیگر فراہم کردہ قدر دہرائی جاتی ہے۔ |
| `has_nsfw_concepts` | array of boolean | بتاتا ہے کہ تخلیق کردہ تصاویر میں NSFW تصورات موجود ہیں یا نہیں۔ |
| `prompt` | string | تصویر کی تخلیق کے دوران استعمال ہونے والا پرامپٹ۔ |

## Related models

- [FLUX.1 \[dev\] with Controlnets and Loras · Differential Diffusion](https://doitong.com/developers/models/flux-general/differential-diffusion.md) (`flux-general/differential-diffusion`): $0.138 / image
- [FLUX.1 \[dev\] with Controlnets and Loras · Image to Image](https://doitong.com/developers/models/flux-general/image-to-image.md) (`flux-general/image-to-image`): $0.15 / image
- [FLUX.1 \[dev\] with Controlnets and Loras · Inpainting](https://doitong.com/developers/models/flux-general/inpainting.md) (`flux-general/inpainting`): $0.192 / image
- [FLUX.1 \[dev\] with Controlnets and Loras · Rf Inversion](https://doitong.com/developers/models/flux-general/rf-inversion.md) (`flux-general/rf-inversion`): $0.025 / 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

## Links

- HTML page: https://doitong.com/developers/models/flux-general
- 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=flux-general
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.com/v1/models/flux-general
