Fibo 2.0 Edit
Integrasikan
bria/fibo-2/edit
# 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/bria/fibo-2/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"images": [
"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/bria/fibo-2/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"images": [
"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 = {
"images": [
"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/bria/fibo-2/edit", 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://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "bria/fibo-2/edit",
"input": {
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
}
Panggil model Fibo 2.0 Edit (bria/fibo-2/edit) melalui Doitong API. Dokumentasi untuk ejen: https://doitong.com/ms/developers/models/bria/fibo-2/edit.md
POST https://api.doitong.com/v1/run/bria/fibo-2/edit?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"images": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
}
Jika status respons ialah "queued" atau "running", tinjau GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 sehingga statusnya menjadi "succeeded"; fail berada dalam outputs[].url. POST https://api.doitong.com/v1/quote/bria/fibo-2/edit dengan badan yang sama mengembalikan harga tepat sebelum dijalankan.
Permintaan ini: $0.04 40 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/bria/fibo-2/edit?wait=20
sebut harga → $0.04
# 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/bria/fibo-2/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"images": [
"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/bria/fibo-2/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"images": [
"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 = {
"images": [
"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/bria/fibo-2/edit", 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": "bria/fibo-2/edit",
"input": {
"images": [
"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 Fibo 2.0 Edit
Menyunting satu hingga empat imej yang diberikan dalam `image_urls`, dengan `instruction` merujuk kepadanya sebagai <image_1>, <image_2> dan seterusnya. Berguna untuk pertukaran latar belakang dan penyusunan semula produk. `mask_url` mengehadkan suntingan kepada satu kawasan bagi permintaan imej tunggal. `aspect_ratio` menawarkan 16 nilai yang disenaraikan, dan dokumen `vgl` berstruktur boleh dihantar atau digunakan semula.
Parameter
Hantar sama ada nama kanonik atau nama natif, bukan kedua-duanya. Nama kanonik
image_urlsdiperlukan
images
instructionpilihan
aspect_ratiopilihan
+5 lagi
9:2110:1616:916:1021:9seedpilihan
mask_urlpilihan
mask
vglpilihan
vgl.short_descriptionpilihan
vgl.objectspilihan
vgl.objects[].descriptionpilihan
vgl.objects[].locationpilihan
vgl.objects[].relationshipdiperlukan
vgl.objects[].relative_sizepilihan
vgl.objects[].shape_and_colorpilihan
vgl.objects[].texturepilihan
vgl.objects[].appearance_detailspilihan
vgl.objects[].number_of_objectspilihan
vgl.objects[].posepilihan
vgl.objects[].expressionpilihan
vgl.objects[].clothingpilihan
vgl.objects[].actionpilihan
vgl.objects[].genderpilihan
vgl.objects[].skin_tone_and_texturepilihan
vgl.objects[].orientationpilihan
vgl.background_settingpilihan
vgl.lightingpilihan
vgl.lighting.conditionspilihan
vgl.lighting.directionpilihan
vgl.lighting.shadowspilihan
vgl.aestheticspilihan
vgl.aesthetics.compositionpilihan
vgl.aesthetics.color_schemepilihan
vgl.aesthetics.mood_atmospherepilihan
vgl.photographic_characteristicspilihan
vgl.photographic_characteristics.depth_of_fieldpilihan
vgl.photographic_characteristics.focuspilihan
vgl.photographic_characteristics.camera_anglepilihan
vgl.photographic_characteristics.lens_focal_lengthpilihan
vgl.style_mediumpilihan
vgl.text_renderpilihan
vgl.text_render[].textdiperlukan
vgl.text_render[].locationpilihan
vgl.text_render[].sizepilihan
vgl.text_render[].colorpilihan
vgl.text_render[].fontpilihan
vgl.text_render[].appearance_detailspilihan
vgl.contextpilihan
vgl.artistic_stylepilihan
vgl.edit_instructionpilihan
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": "bria/fibo-2/edit",
"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": 40,
"usd": "0.04",
"charged": 40,
"refunded": 0
},
"input": {
"image_urls": [
"https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
]
},
"output": {
"image": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768
},
"images": [
{
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768
}
],
"vgl": {}
},
"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"
}
}
Medan output
- image
- object {url, content_type, file_name, file_size, width, height}Imej yang terhasil daripada penyuntingan.
- images
- array of object {url, content_type, file_name, file_size, width, height}Senarai imej yang sepadan dengan format yang dikembalikan oleh aplikasi FIBO lain; satu-satunya entrinya ialah imej yang sama.
- vgl
- objectVGL yang digunakan untuk penyuntingan, dengan `edit_instruction` disertakan.
Varian Fibo 2.0 lain
Lebih banyak model: Penyuntingan Imej
Untuk ejen AI: halaman ini dalam Markdown tersedia di https://doitong.com/ms/developers/models/bria/fibo-2/edit.md. Semua model dan panduan: https://doitong.com/developers/llms.txt






