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

> FLUX.1 [dev] Bildbearbechtung mat enger Ännerungskaart, déi d'Stäerkt pro Regioun bestëmmt

Transforméiert e Quellbild Regioun fir Regioun a benotzt eng Ännerungskaart, fir ze kontrolléieren, wéi staark all Beräich geännert gëtt. Verlaangt `prompt`, `image_url` an `change_map_image_url`. Ënnerstëtzt och LoRAs, ControlNets, IP-Adapters an e Referenzbild. `num_inference_steps` geet vun 1 bis 50 an `num_images` bis 10, mat png- oder jpeg-Ausgab.

- 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/lb/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 |  |  | Prompt, deen d'Bild-Generatioun steiert. |
| `image_size` |  | object {width, height} \| enum (string) | no |  | `square_hd`, `square`, `portrait_4_3`, `portrait_16_9`, `landscape_4_3`, `landscape_16_9` | Dimensioune vum generéierte Bild. |
| `num_inference_steps` |  | integer | no | `28` | 1 – 50 | Unzuel vun Inferenz-Schrëtt, déi ausgefouert ginn. |
| `seed` |  | integer \| null | no |  |  | Seed fir reproduzéierbar Biller: Dee selwechte Prompt a Seed produzéieren datselwecht Bild, wann d'Modellversioun onverännert ass. |
| `loras` |  | array of object {path, scale} | no | `[]` |  | LoRAs, deenen hire kombinéierten Effekt dat generéiert Bild ergëtt, ouni Limit fir d'Zuel vun den uginnene LoRAs. |
| `loras[].path` |  | string | yes |  |  | Plaz vun de LoRA-Gewiichter, uginn als URL oder Pad. |
| `loras[].scale` |  | object \| number | no | `1` |  | Skaléierung, déi op LoRA-Gewiichter applizéiert gëtt, ier se mam Basismodell zesummegefouert ginn. E Dictionary am Format {"layer_name":layer_scale} uginn, fir individuell Layer-Skaléierungen ze setzen; net uginn Layer benotzen 1.0. |
| `control_loras` |  | array of object {path, scale, control_image_url, preprocess} | no | `[]` |  | Kontrollbild-LoRAs, déi an enger kombinéierter Konfiguratioun fir d'Generatioun vum finale Bild zesummegefouert ginn; d'Zuel ass onlimitéiert. |
| `control_loras[].path` |  | string | yes |  |  | Plaz vun de LoRA-Gewiichter, uginn als URL oder Pad. |
| `control_loras[].scale` |  | object \| number | no | `1` |  | Skaléierung, déi op LoRA-Gewiichter applizéiert gëtt, ier se mam Basismodell zesummegefouert ginn. E Dictionary am Format {"layer_name":layer_scale} uginn, fir individuell Layer-Skaléierungen ze setzen; net uginn Layer benotzen 1.0. |
| `control_loras[].control_image_url` |  | string (image URL) | yes |  |  | Bild-URL, déi d'Kontrollbild liwwert. |
| `control_loras[].preprocess` |  | enum (string) | no | `None` | `canny`, `depth`, `None` | Virveraarbechtungsmethod, déi op dat geliwwert Bild applizéiert gëtt. |
| `controlnets` |  | array of object {path, config_url, variant, control_image_url, mask_image_url, mask_threshold, conditioning_scale, start_percentage, end_percentage} | no | `[]` |  | ControlNet-Konfiguratioun fir d'Bildgeneratioun, aktuell op een eenzegt ControlNet limitéiert. |
| `controlnets[].path` |  | string | yes |  |  | Lokalisatioun vun de ControlNet-Gewiichter, uginn als URL oder Pad. |
| `controlnets[].config_url` |  | string \| null | no |  |  | Optional URL op d'config.json-Datei vum ControlNet. |
| `controlnets[].variant` |  | string \| null | no |  |  | Optional Variant fir d'Benotzung mat engem Hugging Face Repository Key. |
| `controlnets[].control_image_url` |  | string (image URL) | yes |  |  | Bild-URL, déi d'Kontrollbild liwwert. |
| `controlnets[].mask_image_url` |  | string (image URL) | no |  |  | Mask-URL, déi mam Kontrollbild verbonne ass. |
| `controlnets[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask-Schwellewäert. |
| `controlnets[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Skaléierung, déi op ControlNet-Gewiichter applizéiert gëtt, ier se mam Basismodell zesummegefouert ginn. |
| `controlnets[].start_percentage` |  | number | no | `0` | 0 – 1 | Prozentsaz vun de gesamten Timesteps, bei deem ControlNet d'Bildgeneratioun ufänkt ze beaflossen. |
| `controlnets[].end_percentage` |  | number | no | `1` | 0 – 1 | Prozentsaz vun de gesamten Timesteps, bei deem ControlNet ophält, d'Bildgeneratioun ze beaflossen. |
| `controlnet_unions` |  | array of object {path, config_url, variant, controls} | no | `[]` |  | ControlNet-Union-Konfiguratioun fir d'Bildgeneratioun, ënnerleien der aktueller Restriktioun op een eenzegt ControlNet. |
| `controlnet_unions[].path` |  | string | yes |  |  | Lokalisatioun vun de ControlNet-Gewiichter, uginn als URL oder Pad. |
| `controlnet_unions[].config_url` |  | string \| null | no |  |  | Optional URL op d'config.json-Datei vum ControlNet. |
| `controlnet_unions[].variant` |  | string \| null | no |  |  | Optional Variant fir d'Benotzung mat engem Hugging Face Repository Key. |
| `controlnet_unions[].controls` |  | array of object {control_image_url, mask_image_url, control_mode, conditioning_scale, mask_threshold, start_percentage, end_percentage} | yes |  |  | Kontrollbiller an déi dozougehéiereg Modi, déi dem ControlNet geliwwert ginn. |
| `controlnet_unions[].controls[].control_image_url` |  | string (image URL) | yes |  |  | Bild-URL, déi d'Kontrollbild liwwert. |
| `controlnet_unions[].controls[].mask_image_url` |  | string (image URL) | no |  |  | Mask-URL, déi mam Kontrollbild verbonne ass. |
| `controlnet_unions[].controls[].control_mode` |  | enum (string) | yes |  | `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality` | Kontrollmodus, dee vu Flux Controlnet Union benotzt gëtt. Optiounen: canny guidéiert d'Generatioun mat Kanten; tile mat Tiles; depth mat enger groer Déiftekaart; blur verschwëmmt d'Bild; pose guidéiert d'Generatioun mat der Pose vum Bild; gray mécht d'Bild gro; low-quality produzéiert eng Versioun vum Bild mat niddereger Qualitéit. |
| `controlnet_unions[].controls[].conditioning_scale` |  | number | no | `1` | 0 – 2 | Skaléierung, déi op ControlNet-Gewiichter applizéiert gëtt, ier se mam Basismodell zesummegefouert ginn. |
| `controlnet_unions[].controls[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask-Schwellewäert. |
| `controlnet_unions[].controls[].start_percentage` |  | number | no | `0` | 0 – 1 | Prozentsaz vun de gesamten Timesteps, bei deem ControlNet d'Bildgeneratioun ufänkt ze beaflossen. |
| `controlnet_unions[].controls[].end_percentage` |  | number | no | `1` | 0 – 1 | Prozentsaz vun de gesamten Timesteps, bei deem ControlNet ophält, d'Bildgeneratioun ze beaflossen. |
| `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, dee während der Bildgeneratioun applizéiert gëtt. |
| `ip_adapters[].path` |  | string | yes |  |  | IP-Adapter-Lokalisatioun op Hugging Face. |
| `ip_adapters[].subfolder` |  | string \| null | no |  |  | Ënnerdossier mat den ip_adapter-Gewiichter. |
| `ip_adapters[].weight_name` |  | string \| null | no |  |  | Safetensors-Dateinumm fir d'Gewiichter vum IP-Adapter. |
| `ip_adapters[].image_encoder_path` |  | string | yes |  |  | Lokalisatioun vum Bildencoder vum IP-Adapter, wéi 'openai/clip-vit-large-patch14'. |
| `ip_adapters[].image_encoder_subfolder` |  | string \| null | no |  |  | Ënnerdossier mat de Gewiichter vum Bildencoder. |
| `ip_adapters[].image_encoder_weight_name` |  | string \| null | no |  |  | Numm vum Bildencoder. |
| `ip_adapters[].image_url` |  | string (image URL) | yes |  |  | Conditioning-Bild-URL, déi dem IP-Adapter geliwwert gëtt. |
| `ip_adapters[].mask_image_url` |  | string (image URL) \| null | no |  |  | Mask-URL, déi mam Kontrollbild verbonne ass. |
| `ip_adapters[].mask_threshold` |  | number | no | `0.5` | 0.01 – 0.99 | Mask-Schwellewäert. |
| `ip_adapters[].scale` |  | number | yes |  |  | Skaléierungsfaktor vum IP-Adapter. |
| `easycontrols` |  | array of object {control_method_url, scale, image_url, image_control_type} | no | `[]` |  | EasyControl-Inputen, déi während der Bildgeneratioun applizéiert ginn. |
| `easycontrols[].control_method_url` |  | string | yes |  |  | Safetensor-Gewiichts-URL vun der Kontrollmethod oder en ënnerstëtzten Identifier: `canny`, `depth`, `hedsketch`, `inpainting`, `pose`, `seg`, `subject`, `ghibli`. |
| `easycontrols[].scale` |  | number | no | `1` | 0 – 2 | Skaléierungsfaktor vun der Kontrollmethod. |
| `easycontrols[].image_url` |  | string (image URL) | yes |  |  | Bild-URL, déi e Kontrollinput liwwert. |
| `easycontrols[].image_control_type` |  | enum (string) | yes |  | `subject`, `spatial` | Bildkontrollmodus; akzeptéiert entweder `spatial` oder `subject`. |
| `fill_image` |  | object {fill_image_url} \| null | no |  |  | Input-Bild, dat d'Generatioun guidéiert an Inhalt fir maskéiert Beräicher liwwere kann. |
| `fill_image.fill_image_url` |  | string (image URL) \| array of image URL | no | `[]` |  | Bild-URLen fir d'Fëllen iwwer Redux-Prompting. |
| `guidance_scale` |  | number | no | `3.5` | 0 – 20 | Stäerkt vun der Prompt-Entspriechung bei der Bildauswiel, ausgedréckt als CFG (Classifier Free Guidance). |
| `real_cfg_scale` |  | number | no | `3.5` | 0 – 5 | Stäerkt vun der Prompt-Entspriechung bei der Bildauswiel, ausgedréckt als CFG (Classifier Free Guidance). |
| `use_real_cfg` |  | boolean | no | `false` |  | Schalter fir klassesch CFG, automatesch aktivéiert mat XLabs IP-Adapter v1. D'Guidance-Verhale entsprécht deem vu Modeller wéi SD1.5 an SDXL. |
| `use_cfg_zero` |  | boolean | no | `false` |  | Aktivéiert d'CFG-zero-Initialiséierungs-Sampling, beschriwwen op https://arxiv.org/abs/2503.18886. |
| `num_images` | `num_outputs` | integer | no | `1` | 1 – 10 | Setzt, wéi vill Biller generéiert solle ginn; wann den Output gestreamt gëtt, ass dës Wiel op 1 fixéiert. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Sécherheetskontroll, déi schwaarz Biller amplaz vun all als onsécher markéierte Biller zréckgëtt. true aktivéiert d'Kontroll; false deaktivéiert se nëmme fir autoriséiert Konten, während Ufroen ouni Autorisatioun trotzdeem kontrolléiert ginn. |
| `reference_image_url` |  | string (image URL) | no |  |  | Bild-URL fir Reference-Only Guidance. |
| `reference_strength` |  | number | no | `0.65` | -3 – 3 | Afloss vum Referenzbild während der reference_only-Generatioun; ouni geliwwert Referenzbild huet dës Stäerkt-Astellung keen Effekt. |
| `reference_start` |  | number | no | `0` | 0 – 1 | Startpunkt vun der Referenz-Guidance, ausgedréckt als Prozentsaz vun allen Timesteps. |
| `reference_end` |  | number | no | `1` | 0 – 1 | Endpunkt vun der Referenz-Guidance, ausgedréckt als Prozentsaz vun allen Timesteps. |
| `base_shift` |  | number | no | `0.5` | 0.01 – 5 | Basisverschiebung, déi op geplangten Timesteps applizéiert gëtt. |
| `max_shift` |  | number | no | `1.15` | 0.01 – 5 | Maximal Verschiebung, déi op geplangten Timesteps applizéiert gëtt. |
| `output_format` |  | enum (string) | no | `png` | `jpeg`, `png` | Dateiformat vum resultéierende Bild. |
| `use_beta_schedule` |  | boolean | no | `false` |  | Steiert, ob Beta-Sigmas benotzt ginn. |
| `sigma_schedule` |  | string \| null | no |  |  | Sigma-Zäitplang, dee beim Denoising benotzt gëtt. |
| `scheduler` |  | enum (string) | no | `euler` | `euler`, `dpmpp_2m` | Scheduler, dee beim Denoising benotzt gëtt. |
| `negative_prompt` |  | string | no | `` |  | Negativen Prompt, dee standardméisseg mat NAG veraarbecht gëtt, fir déi uginn ongewënschte Charakteristiken an de generéierte Biller ze vermeiden. |
| `nag_scale` |  | number | no | `3` | ≤ 10, > 1 | Vermeidung vum negativen Prompt, gesteiert duerch d'NAG-Skaléierung: eng Erhéijung mécht dat generéiert Bild manner ähnlech wéi déi negativ Beschreiwung. |
| `nag_tau` |  | number | no | `2.5` | > 0 | NAG-Tau-Astellung fir d'Normaliséierung vum Hidden State; et gëtt recommandéiert, se onverännert ze loossen. Eng Erhéijung schwächt d'Normaliséierung a riskéiert onerwaart Ofwäichunge vum Originalbild. |
| `nag_alpha` |  | number | no | `0.25` | ≤ 1, > 0 | NAG-Alpha bestëmmt, wéi staark de positive Prompt déi normaliséiert Guidance ëmleede soll, déi de positiven an den negativen Prompt kombinéiert. Dës final Gewiichtung gëtt dem positive Prompt bei niddregen Astellunge méi Afloss a reduzéiert d'Ëmleedung bei héijen Astellungen. |
| `nag_end` |  | number | no | `0.25` | ≤ 1, > 0 | NAG-Cutoff, ausgedréckt als Undeel vun de Generatiounsschrëtt. Déi ursprénglech Attention-Prozessoren vu FLUX iwwerhuelen, nodeems NAG während dësem initialen Undeel gelaf ass. |
| `image_url` | `image` | string (image URL) | yes |  |  | Bild-URL, déi dat initialt Bild liwwert. |
| `change_map_image_url` |  | string (image URL) | yes |  |  | URL op d'Change Map. |
| `strength` |  | number | no | `0.85` | 0.01 – 1 | Differenziell Diffusiounsstäerkt, vun der Erhalung vum Original bei 0.0 bis zu enger kompletter Neimaachung bei 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} | Dateiinformatioun fir déi generéiert Biller. |
| `timings` | object |  |
| `seed` | integer | Seed fir d'Bild-Generatioun, inklusiv dem zoufälleg gewielte Wäert, wann am Input kee Seed uginn ass; soss gëtt de geliwwerte Wäert widderholl. |
| `has_nsfw_concepts` | array of boolean | Gëtt un, ob NSFW-Konzepter an de generéierte Biller optrieden. |
| `prompt` | string | Prompt, deen während der Bild-Generatioun benotzt gëtt. |

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