Bria Product Dimensions
통합
모델 id
bria/product-dimensions
# 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/product-dimensions?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}'
# 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/product-dimensions?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}),
});
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 = {
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22,
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7,
},
],
"style": "default",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bria/product-dimensions", 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/ko/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/product-dimensions",
"input": {
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}
}
Doitong API를 통해 Bria Product Dimensions 모델(bria/product-dimensions)을 호출합니다. 에이전트용 문서: https://doitong.com/ko/developers/models/bria/product-dimensions.md
POST https://api.doitong.com/v1/run/bria/product-dimensions?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}
응답 상태가 "queued" 또는 "running"이면 "succeeded"가 될 때까지 GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20을 폴링하세요. 파일은 outputs[].url에 있습니다. POST https://api.doitong.com/v1/quote/bria/product-dimensions에 동일한 본문을 보내면 실행 전에 정확한 가격을 반환합니다.
이 요청: $0.04 40 API 크레딧 이 페이지에서 실행
새 API 키입니다. 지금만 표시되며 이미 아래 코드와 API 키 필드에 입력되어 있습니다. 안전하게 보관하세요. 브라우저에서 실행되는 코드에 절대 넣지 마세요.
Bria AI · 이미지
첫 번째 결과가 여기에 표시됩니다
아래에서 요청을 작성하고 API 키로 실행하세요. 출력은 스토리지에 복사되며, 영구 보관하거나 7일 동안 무료로 보관할 수 있습니다.
요청 만들기
컨트롤은 모델 스키마에서 생성됩니다. 값을 변경하면 코드와 가격이 업데이트됩니다.
POST
/run/bria/product-dimensions?wait=20
견적 → $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/product-dimensions?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}'
# 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/product-dimensions?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
}),
});
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 = {
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22,
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7,
},
],
"style": "default",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bria/product-dimensions", 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/product-dimensions",
"input": {
"image": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
},
"wait_seconds": 20
}
}
}
Bria Product Dimensions 정보
제품 `image`와 `dimensions`의 항목 하나 이상을 받아 제품 주위에 측정값이 표시된 선을 그립니다. `style`(기본값, childlike 또는 elegant), 최대 80자의 `title`, 배경색 및 256~2200픽셀 범위의 정사각형 `output_size`를 선택합니다. 출력은 png, jpeg 또는 투명 오버레이가 포함된 이중 합성 이미지일 수 있습니다.
매개변수
이름유형
기본값허용됨
설명
title_position선택 사항
유형enum
기본값top_center
top_lefttop_centertop_right
상단을 가로지르는 제목의 위치입니다.
proportional_lines선택 사항
유형boolean
기본값true
치수선 길이를 측정값에 비례하도록 설정합니다.
sync선택 사항
유형boolean
기본값false
생성 이미지의 전달 방식입니다. true이면 CDN 링크 대신 삽입된 base64 데이터를 선택합니다.
image필수
유형string
공개적으로 접근 가능한 이미지 링크 또는 원시 바이트의 base64 인코딩으로 제공하는 상품 이미지 입력입니다.
dimensions필수
유형object[]
그릴 치수 주석입니다. 하나 이상 필요합니다.
dimensions[].name필수
유형enum
heightwidth_bottomwidth_top
표시할 치수입니다. 길이와 깊이는 의도적으로 사용할 수 없습니다.
dimensions[].value필수
유형number
> 0
물리적 측정값입니다.
dimensions[].unit필수
유형enum
mmcmmin"ft'
물리적 측정에 사용하는 단위입니다.
dimensions[].position선택 사항
유형enum
topbottomleftright
주석이 표시될 면입니다. 생략하면 치수 이름에 따라 기본값이 결정됩니다.
style필수
유형enum
defaultchildlikeelegant
렌더링에 사용하는 스타일입니다.
title선택 사항
유형string | null
≤ 80자
상품 위에 표시할 선택적 제목입니다.
output_size선택 사항
유형integer
기본값2200
256 – 2,200
정사각형 출력의 각 변 길이(픽셀)입니다.
output_format선택 사항
유형enum
기본값png
pngjpegdual
렌더링할 출력 선택입니다. png, jpeg 또는 합성 이미지와 투명 오버레이를 모두 반환하는 dual입니다.
background선택 사항
유형string
기본값white
hex 값 또는 white, cream, charcoal로 지정하는 색상입니다.
units_display선택 사항
유형enum
기본값single
singledual_bulletdual_slashdual_parens
기본 단위와 보조 단위를 모두 제공할 때 레이블 표시 스타일입니다.
weight선택 사항
유형object
상품 아래에 무게를 표시하는 선택적 배지입니다.
weight.value필수
유형number
> 0
weight.unit필수
유형enum
lbozgkg
weight.label선택 사항
유형enum
기본값Weight
WeightNet Weight
capacity선택 사항
유형object
상품 아래에 용량을 표시하는 선택적 배지입니다.
capacity.value필수
유형number
> 0
capacity.unit필수
유형enum
fl_ozmllqtgalcups
필수
출력
GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "bria/product-dimensions",
"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": "example",
"dimensions": [
{
"name": "height",
"position": "left",
"unit": "cm",
"value": 22
},
{
"name": "width_bottom",
"position": "bottom",
"unit": "cm",
"value": 7
}
],
"style": "default"
},
"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
},
"transparent_overlay": {
"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
}
},
"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"
}
}
파일 보관 방식 선택모든 outputs[].url은 스토리지에 저장된 복사본입니다. 계정 설정 또는 ?storage=에 따라 영구 보관(GB-월 단위 과금)하거나 7일 동안 무료로 보관합니다.
모든 모델에서 동일한 구조이미지, 동영상, 오디오 모두 type, url, content_type, width, height 및 duration을 사용합니다. output은 모델 자체의 결과 객체입니다.
출력 필드
- image
- object {url, content_type, file_name, file_size, width, height}상품의 치수를 표시하는 렌더링 이미지입니다.
- transparent_overlay
- object {url, content_type, file_name, file_size, width, height} | nulloutput_format이 dual로 설정된 경우에만 포함되는 투명 오버레이입니다.
다른 Bria 변형
더 많은 모델: 이미지 편집
AI 에이전트용: 이 페이지의 Markdown 버전: https://doitong.com/ko/developers/models/bria/product-dimensions.md. 모든 모델 및 가이드: https://doitong.com/developers/llms.txt






