FLUX.1 [dev] with Controlnets and Loras · Rf Inversion
Integrasikan
flux-general/rf-inversion
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/flux-general/rf-inversion?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"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/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/rf-inversion?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"
}),
});
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://vit.doitong.com/api/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",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-general/rf-inversion", 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/ms/developers/docs/mcp)
claude mcp add --transport http doitong-models https://vit.doitong.com/api/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "flux-general/rf-inversion",
"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"
}
}
Panggil model FLUX.1 [dev] with Controlnets and Loras · Rf Inversion (flux-general/rf-inversion) melalui Doitong API. Dokumentasi untuk ejen: https://doitong.com/ms/developers/models/flux-general/rf-inversion.md
POST https://vit.doitong.com/api/v1/run/flux-general/rf-inversion?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"
}
Jika status respons ialah "queued" atau "running", tinjau GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 sehingga statusnya menjadi "succeeded"; fail berada dalam outputs[].url. POST https://vit.doitong.com/api/v1/quote/flux-general/rf-inversion dengan badan yang sama mengembalikan harga tepat sebelum dijalankan.
Permintaan ini: ≈$0.025 25 kredit API Jalankan pada halaman ini
Kunci API baharu anda. Ia hanya dipaparkan sekarang dan sudah dimasukkan dalam kod serta medan kunci API di bawah. Simpan secara rahsia: jangan sekali-kali letakkannya dalam kod yang berjalan dalam pelayar.
Hasil pertama anda akan muncul di sini
Bina permintaan di bawah dan jalankannya dengan kunci API anda. Output disalin ke storan kami, disimpan selama-lamanya atau 7 hari secara percuma.
Bina permintaan
Kawalan dijana daripada skema model. Kod dan harga dikemas kini apabila anda mengubahnya.
/run/flux-general/rf-inversion?wait=20
sebut harga → $0.025
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/flux-general/rf-inversion?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"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/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/rf-inversion?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"
}),
});
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://vit.doitong.com/api/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",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/flux-general/rf-inversion", 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/rf-inversion",
"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"
},
"wait_seconds": 20
}
}
}
Jalankan permintaan ini
Kunci anda kekal dalam pelayar ini: ia hanya dihantar kepada Doitong API dan disimpan (localStorage) hanya jika anda menanda Ingat. Dapatkan kunci API
Tentang FLUX.1 [dev] with Controlnets and Loras · Rf Inversion
Menyunting imej di `image_url` mengikut `prompt` menggunakan saluran RF-Inversion, yang bermula daripada imej asal dan bukannya hingar. LoRAs, control LoRAs, ControlNets dan imej rujukan boleh ditambah, manakala tetapan NAG (`nag_scale`, `nag_tau`, `nag_alpha`, `nag_end`) melaraskan panduan prompt negatif.
Parameter
Hantar sama ada nama kanonik atau nama natif, bukan kedua-duanya. Nama kanonik
promptdiperlukan
image_sizepilihan
num_inference_stepspilihan
seedpilihan
loraspilihan
loras[].pathdiperlukan
loras[].scalepilihan
control_loraspilihan
control_loras[].pathdiperlukan
control_loras[].scalepilihan
control_loras[].control_image_urldiperlukan
control_loras[].preprocesspilihan
controlnetspilihan
controlnets[].pathdiperlukan
controlnets[].config_urlpilihan
controlnets[].variantpilihan
controlnets[].control_image_urldiperlukan
controlnets[].mask_image_urlpilihan
controlnets[].mask_thresholdpilihan
controlnets[].conditioning_scalepilihan
controlnets[].start_percentagepilihan
controlnets[].end_percentagepilihan
controlnet_unionspilihan
controlnet_unions[].pathdiperlukan
controlnet_unions[].config_urlpilihan
controlnet_unions[].variantpilihan
controlnet_unions[].controlsdiperlukan
controlnet_unions[].controls[].control_image_urldiperlukan
controlnet_unions[].controls[].mask_image_urlpilihan
controlnet_unions[].controls[].control_modediperlukan
controlnet_unions[].controls[].conditioning_scalepilihan
controlnet_unions[].controls[].mask_thresholdpilihan
controlnet_unions[].controls[].start_percentagepilihan
controlnet_unions[].controls[].end_percentagepilihan
easycontrolspilihan
easycontrols[].control_method_urldiperlukan
easycontrols[].scalepilihan
easycontrols[].image_urldiperlukan
easycontrols[].image_control_typediperlukan
fill_imagepilihan
fill_image.fill_image_urlpilihan
guidance_scalepilihan
use_cfg_zeropilihan
num_imagespilihan
num_outputs
enable_safety_checkerpilihan
reference_image_urlpilihan
reference_strengthpilihan
reference_startpilihan
reference_endpilihan
base_shiftpilihan
max_shiftpilihan
output_formatpilihan
use_beta_schedulepilihan
sigma_schedulepilihan
schedulerpilihan
negative_promptpilihan
nag_scalepilihan
nag_taupilihan
nag_alphapilihan
nag_endpilihan
image_urldiperlukan
image
controller_guidance_forwardpilihan
controller_guidance_reversepilihan
reverse_guidance_startpilihan
reverse_guidance_endpilihan
reverse_guidance_schedulepilihan
Parameter fail menerima URL awam https://, URI data: sehingga 10 MB, atau file_url bagi muat naik. Fail
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux-general/rf-inversion",
"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": 25,
"usd": "0.025",
"charged": 25,
"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"
},
"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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Medan output
- images
- array of object {url, width, height, content_type}Maklumat fail untuk imej yang dijana.
- timings
- object
- seed
- integerSeed penjanaan imej, termasuk nilai yang dipilih secara rawak jika input tidak membekalkan seed; jika tidak, nilai yang dibekalkan diulang.
- has_nsfw_concepts
- array of booleanMenunjukkan sama ada konsep NSFW muncul dalam imej yang dijana.
- prompt
- stringPrompt yang digunakan semasa penjanaan imej.
Varian FLUX.1 [dev] with Controlnets and Loras lain
Lebih banyak model: Penyuntingan Imej
Untuk ejen AI: halaman ini dalam Markdown tersedia di https://doitong.com/ms/developers/models/flux-general/rf-inversion.md. Semua model dan panduan: https://doitong.com/developers/llms.txt






