FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion
Интеграция
flux-general/differential-diffusion
# 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": "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"
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": "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 + ")");
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": "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"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/ru/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": "flux-general/differential-diffusion",
"input": {
"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"
}
}
Вызовите модель FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion (flux-general/differential-diffusion) через Doitong API. Документация для агентов: https://doitong.com/ru/developers/models/flux-general/differential-diffusion.md
POST https://api.doitong.com/v1/run/flux-general/differential-diffusion?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/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"
}
Если статус ответа — "queued" или "running", выполняйте опрос GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20, пока он не станет "succeeded"; файлы находятся в outputs[].url. POST https://api.doitong.com/v1/quote/flux-general/differential-diffusion с тем же телом возвращает точную цену до запуска.
Этот запрос: ≈0,138 $ 138 API-кредитов · ≈ 14,55 ₽ Запустить на этой странице
Ваш новый API-ключ. Он отображается только сейчас и уже вставлен в код и поле API-ключа ниже. Храните его в секрете: никогда не помещайте его в код, выполняемый в браузере.
Создано на Doitong
Публичные работы сообщества Doitong, созданные с помощью FLUX.1 [dev] with Controlnets and Loras. Повторно используйте промпт одним нажатием.
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...
Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi wajahnya. Ia memeluk...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam, celana riding fit, dan sepatu motor. Ia sedang melakukan aksi freestyle ekstrem dengan motor sport 500cc...
Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam dan celana riding fit. Ia sedang bersiap melakukan freestyle menggunakan motor sport 500cc berwarna merah,...
Сформировать запрос
Элементы управления сгенерированы из схемы модели. Код и цена обновляются при изменении параметров.
/run/flux-general/differential-diffusion?wait=20
стоимость → 0,138 $
# 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": "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"
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": "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 + ")");
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": "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"])
{
"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": "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
}
}
}
Запустить этот запрос
Ваш ключ хранится в этом браузере: он отправляется только в Doitong API и сохраняется в localStorage только при включении параметра «Запомнить». Получить API-ключ
О FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion
Преобразует исходное изображение по областям, используя карту изменений для управления степенью модификации каждой области. Требуются `prompt`, `image_url` и `change_map_image_url`. Также поддерживаются LoRA, ControlNet, IP-Adapters и эталонное изображение. `num_inference_steps` принимает значения от 1 до 50, а `num_images` — до 10; доступны форматы png или jpeg.
Параметры
Передавайте либо каноническое имя, либо исходное имя, но не оба. Канонические имена
promptобязательно
image_sizeнеобязательно
num_inference_stepsнеобязательно
seedнеобязательно
lorasнеобязательно
loras[].pathобязательно
loras[].scaleнеобязательно
control_lorasнеобязательно
control_loras[].pathобязательно
control_loras[].scaleнеобязательно
control_loras[].control_image_urlобязательно
control_loras[].preprocessнеобязательно
controlnetsнеобязательно
controlnets[].pathобязательно
controlnets[].config_urlнеобязательно
controlnets[].variantнеобязательно
controlnets[].control_image_urlобязательно
controlnets[].mask_image_urlнеобязательно
controlnets[].mask_thresholdнеобязательно
controlnets[].conditioning_scaleнеобязательно
controlnets[].start_percentageнеобязательно
controlnets[].end_percentageнеобязательно
controlnet_unionsнеобязательно
controlnet_unions[].pathобязательно
controlnet_unions[].config_urlнеобязательно
controlnet_unions[].variantнеобязательно
controlnet_unions[].controlsобязательно
controlnet_unions[].controls[].control_image_urlобязательно
controlnet_unions[].controls[].mask_image_urlнеобязательно
controlnet_unions[].controls[].control_modeобязательно
controlnet_unions[].controls[].conditioning_scaleнеобязательно
controlnet_unions[].controls[].mask_thresholdнеобязательно
controlnet_unions[].controls[].start_percentageнеобязательно
controlnet_unions[].controls[].end_percentageнеобязательно
ip_adaptersнеобязательно
ip_adapters[].pathобязательно
ip_adapters[].subfolderнеобязательно
ip_adapters[].weight_nameнеобязательно
ip_adapters[].image_encoder_pathобязательно
ip_adapters[].image_encoder_subfolderнеобязательно
ip_adapters[].image_encoder_weight_nameнеобязательно
ip_adapters[].image_urlобязательно
ip_adapters[].mask_image_urlнеобязательно
ip_adapters[].mask_thresholdнеобязательно
ip_adapters[].scaleобязательно
easycontrolsнеобязательно
easycontrols[].control_method_urlобязательно
easycontrols[].scaleнеобязательно
easycontrols[].image_urlобязательно
easycontrols[].image_control_typeобязательно
fill_imageнеобязательно
fill_image.fill_image_urlнеобязательно
guidance_scaleнеобязательно
real_cfg_scaleнеобязательно
use_real_cfgнеобязательно
use_cfg_zeroнеобязательно
num_imagesнеобязательно
num_outputs
enable_safety_checkerнеобязательно
reference_image_urlнеобязательно
reference_strengthнеобязательно
reference_startнеобязательно
reference_endнеобязательно
base_shiftнеобязательно
max_shiftнеобязательно
output_formatнеобязательно
use_beta_scheduleнеобязательно
sigma_scheduleнеобязательно
schedulerнеобязательно
negative_promptнеобязательно
nag_scaleнеобязательно
nag_tauнеобязательно
nag_alphaнеобязательно
nag_endнеобязательно
image_urlобязательно
image
change_map_image_urlобязательно
strengthнеобязательно
Параметры файлов принимают общедоступный https:// URL, data: URI размером до 10 MB или file_url загруженного файла. Файлы
Результат
{
"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"
}
}
Поля результата
- images
- array of object {url, width, height, content_type}Информация о файлах сгенерированных изображений.
- timings
- object
- seed
- integerСид генерации изображения, включая случайно выбранное значение, если во входных данных сид не указан; в противном случае повторяет переданное значение.
- has_nsfw_concepts
- array of booleanПоказывает, присутствуют ли в сгенерированных изображениях концепции NSFW.
- prompt
- stringПромпт, используемый при генерации изображения.
Другие варианты FLUX.1 [dev] with Controlnets and Loras
Другие модели: Редактирование изображений
Для AI-агентов: эта страница в формате Markdown доступна по адресу https://doitong.com/ru/developers/models/flux-general/differential-diffusion.md. Все модели и руководства: https://doitong.com/developers/llms.txt






