Fibo Edit
Tích hợp
bria/fibo-edit/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-edit/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
# 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-edit/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({}),
});
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 = {}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bria/fibo-edit/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/vi/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-edit/edit",
"input": {}
}
Gọi mô hình Fibo Edit (bria/fibo-edit/edit) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/developers/models/bria/fibo-edit/edit.md
POST https://api.doitong.com/v1/run/bria/fibo-edit/edit?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.com/v1/quote/bria/fibo-edit/edit với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Yêu cầu này: 0,04 $ 40 tín dụng API Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Kết quả đầu tiên của bạn sẽ xuất hiện ở đây
Tạo một yêu cầu bên dưới và chạy bằng khóa API của bạn. Đầu ra được sao chép vào bộ lưu trữ của chúng tôi, giữ vĩnh viễn hoặc 7 ngày miễn phí.
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/bria/fibo-edit/edit?wait=20
báo giá → 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-edit/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
# 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-edit/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({}),
});
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 = {}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bria/fibo-edit/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-edit/edit",
"input": {},
"wait_seconds": 20
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về Fibo Edit
Chỉnh sửa hình ảnh với khả năng kiểm soát chi tiết. Đầu vào gồm `image_url`, `mask_url` tùy chọn và `instruction` hoặc `vgl` dựng sẵn. Ngoài ra, cung cấp `original_vgl` và `new_vgl` để chỉnh sửa theo phần khác biệt. `steps_num` nằm trong khoảng 20 đến 50 (mặc định 30), đồng thời có `guidance_scale`, `negative_prompt` và `seed`.
Tham số
Gửi tên chuẩn hoặc tên gốc, không gửi cả hai. Tên chuẩn
image_urltùy chọn
image
mask_urltùy chọn
mask
instructiontùy chọn
vgltùy chọn
vgl.short_descriptiontùy chọn
vgl.objectstùy chọn
vgl.objects[].descriptiontùy chọn
vgl.objects[].locationtùy chọn
vgl.objects[].relationshipbắt buộc
vgl.objects[].relative_sizetùy chọn
vgl.objects[].shape_and_colortùy chọn
vgl.objects[].texturetùy chọn
vgl.objects[].appearance_detailstùy chọn
vgl.objects[].number_of_objectstùy chọn
vgl.objects[].posetùy chọn
vgl.objects[].expressiontùy chọn
vgl.objects[].clothingtùy chọn
vgl.objects[].actiontùy chọn
vgl.objects[].gendertùy chọn
vgl.objects[].skin_tone_and_texturetùy chọn
vgl.objects[].orientationtùy chọn
vgl.background_settingtùy chọn
vgl.lightingtùy chọn
vgl.lighting.conditionstùy chọn
vgl.lighting.directiontùy chọn
vgl.lighting.shadowstùy chọn
vgl.aestheticstùy chọn
vgl.aesthetics.compositiontùy chọn
vgl.aesthetics.color_schemetùy chọn
vgl.aesthetics.mood_atmospheretùy chọn
vgl.aesthetics.preference_scoretùy chọn
vgl.aesthetics.aesthetic_scoretùy chọn
vgl.photographic_characteristicstùy chọn
vgl.photographic_characteristics.depth_of_fieldtùy chọn
vgl.photographic_characteristics.focustùy chọn
vgl.photographic_characteristics.camera_angletùy chọn
vgl.photographic_characteristics.lens_focal_lengthtùy chọn
vgl.style_mediumtùy chọn
vgl.text_rendertùy chọn
vgl.contexttùy chọn
vgl.artistic_styletùy chọn
vgl.edit_instructiontùy chọn
original_vgltùy chọn
original_vgl.short_descriptiontùy chọn
original_vgl.objectstùy chọn
original_vgl.objects[].descriptiontùy chọn
original_vgl.objects[].locationtùy chọn
original_vgl.objects[].relationshipbắt buộc
original_vgl.objects[].relative_sizetùy chọn
original_vgl.objects[].shape_and_colortùy chọn
original_vgl.objects[].texturetùy chọn
original_vgl.objects[].appearance_detailstùy chọn
original_vgl.objects[].number_of_objectstùy chọn
original_vgl.objects[].posetùy chọn
original_vgl.objects[].expressiontùy chọn
original_vgl.objects[].clothingtùy chọn
original_vgl.objects[].actiontùy chọn
original_vgl.objects[].gendertùy chọn
original_vgl.objects[].skin_tone_and_texturetùy chọn
original_vgl.objects[].orientationtùy chọn
original_vgl.background_settingtùy chọn
original_vgl.lightingtùy chọn
original_vgl.lighting.conditionstùy chọn
original_vgl.lighting.directiontùy chọn
original_vgl.lighting.shadowstùy chọn
original_vgl.aestheticstùy chọn
original_vgl.aesthetics.compositiontùy chọn
original_vgl.aesthetics.color_schemetùy chọn
original_vgl.aesthetics.mood_atmospheretùy chọn
original_vgl.aesthetics.preference_scoretùy chọn
original_vgl.aesthetics.aesthetic_scoretùy chọn
original_vgl.photographic_characteristicstùy chọn
original_vgl.photographic_characteristics.depth_of_fieldtùy chọn
original_vgl.photographic_characteristics.focustùy chọn
original_vgl.photographic_characteristics.camera_angletùy chọn
original_vgl.photographic_characteristics.lens_focal_lengthtùy chọn
original_vgl.style_mediumtùy chọn
original_vgl.text_rendertùy chọn
original_vgl.contexttùy chọn
original_vgl.artistic_styletùy chọn
original_vgl.edit_instructiontùy chọn
new_vgltùy chọn
new_vgl.short_descriptiontùy chọn
new_vgl.objectstùy chọn
new_vgl.objects[].descriptiontùy chọn
new_vgl.objects[].locationtùy chọn
new_vgl.objects[].relationshipbắt buộc
new_vgl.objects[].relative_sizetùy chọn
new_vgl.objects[].shape_and_colortùy chọn
new_vgl.objects[].texturetùy chọn
new_vgl.objects[].appearance_detailstùy chọn
new_vgl.objects[].number_of_objectstùy chọn
new_vgl.objects[].posetùy chọn
new_vgl.objects[].expressiontùy chọn
new_vgl.objects[].clothingtùy chọn
new_vgl.objects[].actiontùy chọn
new_vgl.objects[].gendertùy chọn
new_vgl.objects[].skin_tone_and_texturetùy chọn
new_vgl.objects[].orientationtùy chọn
new_vgl.background_settingtùy chọn
new_vgl.lightingtùy chọn
new_vgl.lighting.conditionstùy chọn
new_vgl.lighting.directiontùy chọn
new_vgl.lighting.shadowstùy chọn
new_vgl.aestheticstùy chọn
new_vgl.aesthetics.compositiontùy chọn
new_vgl.aesthetics.color_schemetùy chọn
new_vgl.aesthetics.mood_atmospheretùy chọn
new_vgl.aesthetics.preference_scoretùy chọn
new_vgl.aesthetics.aesthetic_scoretùy chọn
new_vgl.photographic_characteristicstùy chọn
new_vgl.photographic_characteristics.depth_of_fieldtùy chọn
new_vgl.photographic_characteristics.focustùy chọn
new_vgl.photographic_characteristics.camera_angletùy chọn
new_vgl.photographic_characteristics.lens_focal_lengthtùy chọn
new_vgl.style_mediumtùy chọn
new_vgl.text_rendertùy chọn
new_vgl.contexttùy chọn
new_vgl.artistic_styletùy chọn
new_vgl.edit_instructiontùy chọn
seedtùy chọn
steps_numtùy chọn
negative_prompttùy chọn
guidance_scaletùy chọn
Các tham số tệp nhận URL https:// công khai, URI data: tối đa 10 MB hoặc file_url của một tệp tải lên. Tệp
Đầu ra
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "bria/fibo-edit/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": {},
"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": {},
"structured_instruction": {}
},
"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"
}
}
Các trường đầu ra
- image
- object {url, content_type, file_name, file_size, width, height}Hình ảnh do mô hình tạo.
- images
- array of object {url, content_type, file_name, file_size, width, height}Các hình ảnh được tạo sinh.
- vgl
- objectTài liệu VGL dùng để tạo hình ảnh.
- structured_instruction
- objectBí danh không còn được khuyến nghị cho cùng tài liệu; thay vào đó dùng `vgl`.
Các biến thể Fibo Edit khác
Thêm mô hình: Chỉnh sửa hình ảnh
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/bria/fibo-edit/edit.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt






