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

> Uhariri wa picha wa FLUX.1 [dev] unaoendeshwa na ramani ya mabadiliko inayoweka nguvu ya kubadilisha kila eneo

Hubadilisha picha chanzi eneo kwa eneo, kwa kutumia picha ya ramani ya mabadiliko kudhibiti kiasi cha marekebisho ya kila eneo. Inahitaji `prompt`, `image_url` na `change_map_image_url`. Pia hupokea LoRAs, ControlNets, IP-Adapters na picha rejelezi. `num_inference_steps` huwa 1 hadi 50 na `num_images` hadi 10, ikiwa na matokeo ya png au jpeg.

- Model id: `flux-general/differential-diffusion`
- Made by: Black Forest Labs
- Category: Image Editing
- Output: image
- Estimated price per run: $0.138 / image (cheapest run $0.138 (138 API credits))
- Run: `POST https://api.doitong.com/v1/run/flux-general/differential-diffusion`
- Quote: `POST https://api.doitong.com/v1/quote/flux-general/differential-diffusion`
- Docs page: https://doitong.com/sw/developers/models/flux-general/differential-diffusion

## Pricing

Price: **$0.138 / 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.138 = 138 API credits (1 image × 138 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/differential-diffusion` 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 |  |  | Kidokezo kinachoongoza uzalishaji wa picha. |
| `image_size` |  | object {width, height} \| enum (string) | no |  | `square_hd`, `square`, `portrait_4_3`, `portrait_16_9`, `landscape_4_3`, `landscape_16_9` | Vipimo vya picha iliyozalishwa. |
| `num_inference_steps` |  | integer | no | `28` | 1 – 50 | Idadi ya hatua za inference zitakazoendeshwa. |
| `seed` |  | integer \| null | no |  |  | Seed ya picha zinazoweza kurudiwa: kidokezo na seed zinazofanana huzalisha picha inayofanana wakati toleo la modeli halijabadilika. |
| `loras` |  | array of object {path, scale} | no | `[]` |  | LoRA ambazo athari zake zilizounganishwa huzalisha picha, bila kikomo cha idadi unayoweza kutoa. |
| `loras[].path` |  | string | yes |  |  | Mahali pa uzani wa LoRA, palipobainishwa kama URL au njia. |
| `loras[].scale` |  | object \| number | no | `1` |  | Kipimo kinachotumika kwenye uzito wa LoRA kabla ya kuunganishwa kwenye modeli ya msingi. Toa kamusi ya muundo {"layer_name":layer_scale} ili kuweka vipimo vya safu mahususi; safu zisizobainishwa hutumia 1.0. |
| `control_loras` |  | array of object {path, scale, control_image_url, preprocess} | no | `[]` |  | LoRA za picha za udhibiti zilizounganishwa katika usanidi mmoja kwa ajili ya kuzalisha picha ya mwisho; idadi inayotolewa haina kikomo. |
| `control_loras[].path` |  | string | yes |  |  | Mahali pa uzani wa LoRA, palipobainishwa kama URL au njia. |
| `control_loras[].scale` |  | object \| number | no | `1` |  | Kipimo kinachotumika kwenye uzito wa LoRA kabla ya kuunganishwa kwenye modeli ya msingi. Toa kamusi ya muundo {"layer_name":layer_scale} ili kuweka vipimo vya safu mahususi; safu zisizobainishwa hutumia 1.0. |
| `control_loras[].control_image_url` |  | string (image URL) | yes |  |  | URL ya picha inayotoa picha ya udhibiti. |
| `control_loras[].preprocess` |  | enum (string) | no | `None` | `canny`, `depth`, `None` | Mbinu ya uchakataji wa awali inayotumika kwenye picha iliyotolewa. |
| `controlnets` |  | array of object {path, config_url, variant, control_image_url, mask_image_url, mask_threshold, conditioning_scale, start_percentage, end_percentage} | no | `[]` |  | Usanidi wa ControlNet kwa uzalishaji wa picha, kwa sasa ukiwa na kikomo cha ControlNet moja. |
| `controlnets[].path` |  | string | yes |  |  | Mahali pa uzito wa ControlNet, palipotajwa kama URL au njia. |
| `controlnets[].config_url` |  | string \| null | no |  |  | URL ya hiari inayoelekeza kwenye faili ya config.json ya ControlNet. |
| `controlnets[].variant` |  | string \| null | no |  |  | Lahaja ya hiari ya kutumia pamoja na ufunguo wa hazina ya Hugging Face. |
| `controlnets[].control_image_url` |  | string (image URL) | yes |  |  | URL ya picha inayotoa picha ya udhibiti. |
| `controlnets[].mask_image_url` |  | string (image URL) | no |  |  | URL ya maski inayohusishwa na picha ya udhibiti. |
| `controlnets[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Thamani ya kizingiti cha maski. |
| `controlnets[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Kipimo kinachotumika kwenye uzito wa ControlNet kabla ya kuunganishwa kwenye modeli ya msingi. |
| `controlnets[].start_percentage` |  | number | no | `0` | 0 – 1 | Asilimia ya jumla ya hatua za muda ambapo ControlNet huanza kuathiri uzalishaji wa picha. |
| `controlnets[].end_percentage` |  | number | no | `1` | 0 – 1 | Asilimia ya jumla ya hatua za muda ambapo ControlNet huacha kuathiri uzalishaji wa picha. |
| `controlnet_unions` |  | array of object {path, config_url, variant, controls} | no | `[]` |  | Usanidi wa muungano wa ControlNet kwa uzalishaji wa picha, chini ya kizuizi cha sasa cha ControlNet moja. |
| `controlnet_unions[].path` |  | string | yes |  |  | Mahali pa uzito wa ControlNet, palipotajwa kama URL au njia. |
| `controlnet_unions[].config_url` |  | string \| null | no |  |  | URL ya hiari inayoelekeza kwenye faili ya config.json ya ControlNet. |
| `controlnet_unions[].variant` |  | string \| null | no |  |  | Lahaja ya hiari ya kutumia pamoja na ufunguo wa hazina ya Hugging Face. |
| `controlnet_unions[].controls` |  | array of object {control_image_url, mask_image_url, control_mode, conditioning_scale, mask_threshold, start_percentage, end_percentage} | yes |  |  | Picha za udhibiti na modi zinazohusiana zinazotolewa kwa ControlNet. |
| `controlnet_unions[].controls[].control_image_url` |  | string (image URL) | yes |  |  | URL ya picha inayotoa picha ya udhibiti. |
| `controlnet_unions[].controls[].mask_image_url` |  | string (image URL) | no |  |  | URL ya maski inayohusishwa na picha ya udhibiti. |
| `controlnet_unions[].controls[].control_mode` |  | enum (string) | yes |  | `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality` | Modi ya udhibiti inayotumiwa na Flux Controlnet Union. Chaguo: canny huongoza uzalishaji kwa kingo; tile huongoza kwa vigae; depth huongoza kwa ramani ya kina ya kijivu; blur hufifisha picha; pose huongoza uzalishaji kwa mkao wa picha; gray hufanya picha iwe ya kijivu; low-quality huzalisha toleo la ubora wa chini la picha. |
| `controlnet_unions[].controls[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Kipimo kinachotumika kwenye uzito wa ControlNet kabla ya kuunganishwa kwenye modeli ya msingi. |
| `controlnet_unions[].controls[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Thamani ya kizingiti cha maski. |
| `controlnet_unions[].controls[].start_percentage` |  | number | no | `0` | 0 – 1 | Asilimia ya jumla ya hatua za muda ambapo ControlNet huanza kuathiri uzalishaji wa picha. |
| `controlnet_unions[].controls[].end_percentage` |  | number | no | `1` | 0 – 1 | Asilimia ya jumla ya hatua za muda ambapo ControlNet huacha kuathiri uzalishaji wa picha. |
| `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 inayotumika wakati wa uzalishaji wa picha. |
| `ip_adapters[].path` |  | string | yes |  |  | Mahali pa IP-Adapter kwenye Hugging Face. |
| `ip_adapters[].subfolder` |  | string \| null | no |  |  | Folda ndogo iliyo na uzito wa ip_adapter. |
| `ip_adapters[].weight_name` |  | string \| null | no |  |  | Jina la faili la Safetensors la uzito wa IP-Adapter. |
| `ip_adapters[].image_encoder_path` |  | string | yes |  |  | Mahali pa kisimbaji cha picha cha IP-Adapter, kama 'openai/clip-vit-large-patch14'. |
| `ip_adapters[].image_encoder_subfolder` |  | string \| null | no |  |  | Folda ndogo iliyo na uzito wa kisimbaji cha picha. |
| `ip_adapters[].image_encoder_weight_name` |  | string \| null | no |  |  | Jina la kisimbaji cha picha. |
| `ip_adapters[].image_url` |  | string (image URL) | yes |  |  | URL ya picha ya kuweka masharti inayotolewa kwa IP-Adapter. |
| `ip_adapters[].mask_image_url` |  | string (image URL) \| null | no |  |  | URL ya maski inayohusishwa na picha ya udhibiti. |
| `ip_adapters[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Thamani ya kizingiti cha maski. |
| `ip_adapters[].scale` |  | number | yes |  |  | Kipimo cha IP-Adapter. |
| `easycontrols` |  | array of object {control_method_url, scale, image_url, image_control_type} | no | `[]` |  | Maingizo ya EasyControl yanayotumika wakati wa uzalishaji wa picha. |
| `easycontrols[].control_method_url` |  | string | yes |  |  | URL ya uzito wa safetensor ya mbinu ya udhibiti, au kitambulisho kinachotumika: `canny`, `depth`, `hedsketch`, `inpainting`, `pose`, `seg`, `subject`, `ghibli`. |
| `easycontrols[].scale` |  | number | no | `1` | 0 – 2 | Kipimo cha mbinu ya udhibiti. |
| `easycontrols[].image_url` |  | string (image URL) | yes |  |  | URL ya picha inayotoa ingizo la udhibiti. |
| `easycontrols[].image_control_type` |  | enum (string) | yes |  | `subject`, `spatial` | Modi ya udhibiti wa picha; inakubali ama `spatial` au `subject`. |
| `fill_image` |  | object {fill_image_url} \| null | no |  |  | Picha ya ingizo inayoongoza uzalishaji na inaweza kutoa maudhui kwa maeneo yaliyofichwa kwa maski. |
| `fill_image.fill_image_url` |  | string (image URL) \| array of image URL | no | `[]` |  | URL za picha za kujaza kupitia uelekezaji wa redux. |
| `guidance_scale` |  | number | no | `3.5` | 0 – 20 | Nguvu ya kufuata kidokezo kwa uteuzi wa picha, iliyoonyeshwa kama CFG (Classifier Free Guidance). |
| `real_cfg_scale` |  | number | no | `3.5` | 0 – 5 | Nguvu ya kufuata kidokezo kwa uteuzi wa picha, iliyoonyeshwa kama CFG (Classifier Free Guidance). |
| `use_real_cfg` |  | boolean | no | `false` |  | Swichi ya CFG ya kawaida, inayowezeshwa kiotomatiki na XLabs IP-Adapter v1. Tabia ya mwongozo inalingana na ile ya modeli kama SD1.5 na SDXL. |
| `use_cfg_zero` |  | boolean | no | `false` |  | Huwezesha usampulishaji wa uanzishaji wa CFG-zero, ulioelezwa katika https://arxiv.org/abs/2503.18886. |
| `num_images` | `num_outputs` | integer | no | `1` | 1 – 10 | Weka idadi ya picha za kuzalisha; chaguo hili huwa 1 wakati tokeo linatiririshwa. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Ukaguzi wa usalama, unaorejesha picha nyeusi badala ya picha zilizobainishwa kuwa si salama. Thamani ya true huanzisha ukaguzi; false huuzima tu kwa akaunti zilizoidhinishwa, huku maombi yasiyo na idhini yakikaguliwa bila kujali. |
| `reference_image_url` |  | string (image URL) | no |  |  | URL ya picha inayotumika kwa mwongozo wa Reference-Only. |
| `reference_strength` |  | number | no | `0.65` | -3 – 3 | Ushawishi wa picha ya marejeo wakati wa uzalishaji wa reference_only; bila picha ya marejeo iliyotolewa, mpangilio huu wa nguvu hauna athari. |
| `reference_start` |  | number | no | `0` | 0 – 1 | Mwanzo wa mwongozo wa marejeo, ulioonyeshwa kama asilimia ya hatua zote za muda. |
| `reference_end` |  | number | no | `1` | 0 – 1 | Mwisho wa mwongozo wa marejeo, ulioonyeshwa kama asilimia ya hatua zote za muda. |
| `base_shift` |  | number | no | `0.5` | 0.01 – 5 | Mabadiliko ya msingi yanayotumika kwenye hatua za muda zilizopangwa. |
| `max_shift` |  | number | no | `1.15` | 0.01 – 5 | Mabadiliko ya juu yanayotumika kwenye hatua za muda zilizopangwa. |
| `output_format` |  | enum (string) | no | `png` | `jpeg`, `png` | Muundo wa faili wa picha inayotokana. |
| `use_beta_schedule` |  | boolean | no | `false` |  | Hudhibiti ikiwa sigma za beta zitatumika. |
| `sigma_schedule` |  | string \| null | no |  |  | Ratiba ya sigma inayotumika wakati wa kuondoa kelele. |
| `scheduler` |  | enum (string) | no | `euler` | `euler`, `dpmpp_2m` | Mpangaji anayetumika wakati wa kuondoa kelele. |
| `negative_prompt` |  | string | no | `` |  | Kidokezo hasi kinachochakatwa na NAG kwa chaguomsingi ili kukatisha tamaa vipengele visivyohitajika vilivyobainishwa katika picha zinazozalishwa. |
| `nag_scale` |  | number | no | `3` | ≤ 10, > 1 | Uepukaji wa kidokezo hasi unaodhibitiwa na kipimo cha NAG: kukiongeza hufanya picha inayozalishwa ifanane kidogo na maelezo hasi. |
| `nag_tau` |  | number | no | `2.5` | > 0 | Mpangilio wa NAG tau wa kusawazisha hali fiche; inashauriwa kuuuacha bila kubadilishwa. Kuongeza thamani hudhoofisha usawazishaji na kunaweza kusababisha kuondoka kusikotarajiwa kutoka kwenye picha ya asili. |
| `nag_alpha` |  | number | no | `0.25` | ≤ 1, > 0 | NAG alpha huweka kiasi ambacho kidokezo chanya huelekeza upya mwongozo uliosawazishwa unaounganisha vidokezo chanya na hasi. Uzani huu wa mwisho huipa kidokezo chanya ushawishi zaidi katika mipangilio ya chini na hupunguza uelekezaji upya katika mipangilio ya juu. |
| `nag_end` |  | number | no | `0.25` | ≤ 1, > 0 | Kikomo cha NAG kilichoonyeshwa kama uwiano wa hatua za uzalishaji. Vichakataji asili vya umakini vya FLUX huchukua nafasi baada ya NAG kutekelezwa kwa uwiano huo wa mwanzo. |
| `image_url` | `image` | string (image URL) | yes |  |  | URL ya picha inayotoa picha ya mwanzo. |
| `change_map_image_url` |  | string (image URL) | yes |  |  | URL inayoelekeza kwenye ramani ya mabadiliko. |
| `strength` |  | number | no | `0.85` | 0.01 – 1 | Nguvu ya usambazaji tofauti, kutoka kuhifadhi asili kwa 0.0 hadi kuunda upya kabisa kwa 1.0. |

File parameters (`reference_image_url`, `image`, `change_map_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",
  "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
  "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

A fuller example:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
  "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
  "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

## 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/differential-diffusion?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",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# 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/differential-diffusion?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",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }),
});
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",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-general/differential-diffusion", 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/differential-diffusion",
      "input": {
        "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
        "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
      },
      "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/differential-diffusion",
  "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": 138,
    "usd": "0.138",
    "charged": 138,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "change_map_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "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} | Maelezo ya faili za picha zilizozalishwa. |
| `timings` | object |  |
| `seed` | integer | Seed ya uzalishaji wa picha, ikijumuisha thamani iliyochaguliwa bila mpangilio ikiwa ingizo halikutoa seed; vinginevyo, hurudia thamani iliyotolewa. |
| `has_nsfw_concepts` | array of boolean | Huonyesha ikiwa dhana za NSFW zinaonekana katika picha zilizozalishwa. |
| `prompt` | string | Kidokezo kinachotumika wakati wa uzalishaji wa picha. |

## Related models

- [FLUX.1 \[dev\] with Controlnets and Loras](https://doitong.com/developers/models/flux-general.md) (`flux-general`): $0.30 / 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 Kontext \[pro\]](https://doitong.com/developers/models/flux-pro/kontext.md) (`flux-pro/kontext`): $0.04 / image
- [GPT Image 2.5 Edit](https://doitong.com/developers/models/openai/gpt-image-2.5/flare/edit.md) (`openai/gpt-image-2.5/flare/edit`): from $0.12 / image
- [Nano Banana 2 Edit](https://doitong.com/developers/models/nano-banana-2/edit.md) (`nano-banana-2/edit`): from $0.06 / image
- [Nano Banana Pro Edit](https://doitong.com/developers/models/nano-banana-pro/edit.md) (`nano-banana-pro/edit`): from $0.15 / image

## Links

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