FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion
Integrar
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/pt-PT/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"
}
}
Chame o modelo FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion (flux-general/differential-diffusion) através da Doitong API. Documentação para agentes: https://doitong.com/pt-PT/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"
}
Se o estado da resposta for "queued" ou "running", consulte GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 repetidamente até ficar "succeeded"; os ficheiros estão em outputs[].url. POST https://api.doitong.com/v1/quote/flux-general/differential-diffusion com o mesmo corpo devolve o preço exato antes da execução.
Este pedido: ≈0,138 $ 138 créditos da API Executar nesta página
A sua nova chave de API. É apresentada apenas agora e já está inserida no código e no campo da chave de API abaixo. Mantenha-a secreta: nunca a coloque em código que seja executado num navegador.
Criado na Doitong
Trabalhos públicos criados com FLUX.1 [dev] with Controlnets and Loras pela comunidade Doitong. Reutilize um prompt com um clique.
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,...
Criar um pedido
Os controlos são gerados a partir do esquema do modelo. O código e o preço são atualizados à medida que os altera.
/run/flux-general/differential-diffusion?wait=20
cotação → 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
}
}
}
Executar este pedido
A sua chave permanece neste navegador: é enviada apenas para a Doitong API e guardada em localStorage apenas se selecionar Lembrar. Obter uma chave de API
Sobre FLUX.1 [dev] with Controlnets and Loras · Differential Diffusion
Transforma uma imagem de origem região a região, usando uma imagem de mapa de alterações para controlar quanto cada área é modificada. Requer `prompt`, `image_url` e `change_map_image_url`. Aceita também LoRAs, ControlNets, IP-Adapters e uma imagem de referência. `num_inference_steps` varia de 1 a 50 e `num_images` até 10, com saída png ou jpeg.
Parâmetros
Envie o nome canónico ou o nome nativo, não ambos. Nomes canónicos
promptobrigatório
image_sizeopcional
num_inference_stepsopcional
seedopcional
lorasopcional
loras[].pathobrigatório
loras[].scaleopcional
control_lorasopcional
control_loras[].pathobrigatório
control_loras[].scaleopcional
control_loras[].control_image_urlobrigatório
control_loras[].preprocessopcional
controlnetsopcional
controlnets[].pathobrigatório
controlnets[].config_urlopcional
controlnets[].variantopcional
controlnets[].control_image_urlobrigatório
controlnets[].mask_image_urlopcional
controlnets[].mask_thresholdopcional
controlnets[].conditioning_scaleopcional
controlnets[].start_percentageopcional
controlnets[].end_percentageopcional
controlnet_unionsopcional
controlnet_unions[].pathobrigatório
controlnet_unions[].config_urlopcional
controlnet_unions[].variantopcional
controlnet_unions[].controlsobrigatório
controlnet_unions[].controls[].control_image_urlobrigatório
controlnet_unions[].controls[].mask_image_urlopcional
controlnet_unions[].controls[].control_modeobrigatório
controlnet_unions[].controls[].conditioning_scaleopcional
controlnet_unions[].controls[].mask_thresholdopcional
controlnet_unions[].controls[].start_percentageopcional
controlnet_unions[].controls[].end_percentageopcional
ip_adaptersopcional
ip_adapters[].pathobrigatório
ip_adapters[].subfolderopcional
ip_adapters[].weight_nameopcional
ip_adapters[].image_encoder_pathobrigatório
ip_adapters[].image_encoder_subfolderopcional
ip_adapters[].image_encoder_weight_nameopcional
ip_adapters[].image_urlobrigatório
ip_adapters[].mask_image_urlopcional
ip_adapters[].mask_thresholdopcional
ip_adapters[].scaleobrigatório
easycontrolsopcional
easycontrols[].control_method_urlobrigatório
easycontrols[].scaleopcional
easycontrols[].image_urlobrigatório
easycontrols[].image_control_typeobrigatório
fill_imageopcional
fill_image.fill_image_urlopcional
guidance_scaleopcional
real_cfg_scaleopcional
use_real_cfgopcional
use_cfg_zeroopcional
num_imagesopcional
num_outputs
enable_safety_checkeropcional
reference_image_urlopcional
reference_strengthopcional
reference_startopcional
reference_endopcional
base_shiftopcional
max_shiftopcional
output_formatopcional
use_beta_scheduleopcional
sigma_scheduleopcional
scheduleropcional
negative_promptopcional
nag_scaleopcional
nag_tauopcional
nag_alphaopcional
nag_endopcional
image_urlobrigatório
image
change_map_image_urlobrigatório
strengthopcional
Os parâmetros de ficheiro aceitam um URL https:// público, um URI data: até 10 MB ou o file_url de um carregamento. Ficheiros
Resultado
{
"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"
}
}
Campos do resultado
- images
- array of object {url, width, height, content_type}Informações dos ficheiros das imagens geradas.
- timings
- object
- seed
- integerSeed da geração de imagens, incluindo o valor escolhido aleatoriamente se a entrada não tiver fornecido uma seed; caso contrário, repete o valor fornecido.
- has_nsfw_concepts
- array of booleanIndica se aparecem conceitos NSFW nas imagens geradas.
- prompt
- stringPrompt utilizado durante a geração de imagens.
Outras variantes de FLUX.1 [dev] with Controlnets and Loras
Mais modelos: Edição de imagem
Para agentes de IA: esta página em Markdown está disponível em https://doitong.com/pt-PT/developers/models/flux-general/differential-diffusion.md. Todos os modelos e guias: https://doitong.com/developers/llms.txt






