사진을 커스텀 냉장고 자석으로 변환해 보세요 — 평평한 자석 뒷면을 가진, 냉장고 크기에 맞춘 둥근 사각형 형태의 컬러 뎁스 릴리프로,
두 단계로 진행됩니다: prototype은 입력한 사진으로부터 컬러 콘셉트 이미지를 생성하고, 이어서 build는 그
콘셉트 이미지를 릴리프 3D 모델로 변환합니다. 두 단계는 input_task_id를 통해 연결됩니다.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
소스 사진으로부터 색상이 입혀진 단일 컨셉 이미지를 생성합니다. 반환된 작업 ID는 build 엔드포인트에 input_task_id로 전달하는 값입니다. 응답 형태에 대해서는
냉장고 자석 프로토타입 작업 객체를
참고하세요.
파라미터
Name
image_url
Type
string
필수
Description
Meshy가 냉장고 자석 제작에 사용할 수 있도록 색상을 입힌 컨셉 이미지로 변환할 소스 사진입니다. 현재 .jpg, .jpeg, .png, .webp 형식을 지원합니다.
이미지를 제공하는 방법은 두 가지입니다:
공개적으로 접근 가능한 URL: 공용 인터넷에서 접근할 수 있는 URL입니다.
Data URI: 이미지를 base64로 인코딩한 data URI입니다. data URI 예시: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
표시 용도의 선택적 작업 이름입니다. 최대 100자입니다.
Name
remove_background
Type
boolean
기본값 false
Description
true로 설정하면 프로토타입 이미지가 배경이 제거된 투명 RGBA PNG로 반환되어, 피사체를 원하는 배경 위에 합성할 수 있습니다.
이 옵션은 이 엔드포인트가 반환하는 이미지에만 적용됩니다. relief 처리 전 배경 제거를 제어하는 동일한 이름의 build 옵션(기본값 true)과는 별개입니다.
반환값
응답의 result 속성에는 새로 생성된 냉장고 자석 프로토타입 작업의 id가 포함됩니다. 작업 가져오기 엔드포인트를 폴링하거나 스트림을 구독하여 작업이 SUCCEEDED 상태가 될 때까지 기다린 다음, 해당 ID를 build 엔드포인트에 input_task_id로 전달하세요.
실패 모드
Name
400 - Bad Request
Description
요청을 처리할 수 없습니다. 일반적인 원인은 다음과 같습니다:
파라미터 누락: image_url은 필수입니다.
잘못된 이미지 형식: 제공된 image_url이 지원되는 형식(.jpg, .jpeg, .png, .webp)이 아닙니다.
이미지 크기 범위 초과: 이미지가 너무 작거나, 최대 파일 크기를 초과하거나, 최대 픽셀 수를 초과합니다.
접근할 수 없는 URL: image_url을 다운로드할 수 없습니다(404 또는 timeout).
잘못된 Data URI: base64 문자열의 형식이 올바르지 않습니다.
콘텐츠 플래그 처리됨: 입력 이미지가 NSFW 또는 지적 재산권 moderation에 의해 플래그 처리되었습니다.
Name
401 - Unauthorized
Description
인증에 실패했습니다. API 키를 확인해 주세요.
Name
402 - Payment Required
Description
이 작업을 수행하기에 크레딧이 부족합니다.
Name
429 - Too Many Requests
Description
속도 제한을 초과했습니다.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Response
{"result":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Prototype example
Start with a source photo, then generate the prototype image used by the fridge magnet build stage.
성공한 프로토타입 작업으로부터 최종 3D 프린팅 가능한 냉장고 자석을 생성합니다. 빌드는 프로토타입의 컬러화된 콘셉트 이미지에 대해 깊이 맵 부조(relief) 파이프라인을 실행하고, 요청한 형식으로 단일 메시 아티팩트를 제공합니다. 응답 형태는
냉장고 자석 빌드 작업 객체를 참고하세요.
파라미터
Name
input_task_id
Type
string
필수
Description
동일한 OpenAPI 엔드포인트를 통해 생성된 프로토타입 작업의 작업 ID입니다. 프로토타입은 동일한 API 키로 생성되어야 하고, SUCCEEDED에 도달해야 하며, 정확히 하나의 후보 이미지를 생성했어야 합니다.
웹앱을 통해 생성된 프로토타입 작업은 허용되지 않습니다 — 빌드 엔드포인트는 오직 POST /openapi/creative-lab/fridge-magnet/v1/prototype에 의해 생성된 프로토타입 작업만 받아들이며, 그 외의 출처는 404로 거부합니다.
Name
name
Type
string
Description
표시용 선택적 작업 이름입니다. 최대 100자입니다.
options
부조 지오메트리를 위한 선택적 조정 파라미터입니다. 모든 필드에는 합리적인 기본값이 있으므로, 재정의하고 싶은 항목만 전송하면 됩니다.
Name
badge_shape
Type
string
기본값 rounded-rect
Description
냉장고 자석의 외곽 실루엣입니다. 사용 가능한 값:
circle
rounded-rect (기본값)
hexagon
shield
star
Name
size_mm
Type
number
기본값 60
Description
냉장고 자석의 경계 정사각형 변 길이이며, 단위는 밀리미터입니다. 범위: (0, 400].
Name
relief_height_mm
Type
number
기본값 3.3
Description
베이스 위 부조의 최대 높이이며, 단위는 밀리미터입니다. 범위: [0, 20].
Name
relief_offset_mm
Type
number
기본값 0
Description
압출 전 부조에 적용되는 수직 오프셋이며, 단위는 밀리미터입니다. 범위: [0, 20].
Name
base_thickness_mm
Type
number
기본값 2.0
Description
부조 뒤쪽 평평한 베이스 판의 두께이며, 단위는 밀리미터입니다. 냉장고 자석의 기본값은 더 두꺼운 2mm 베이스로, 부조가 약해 보이지 않으면서도 냉장고에 붙일 수 있는 충분한 몸체를 자석에 제공합니다. 범위: [0, 20].
Name
has_closed_back
Type
boolean
기본값 true
Description
냉장고 자석의 뒷면이 닫힌 표면(자석을 붙이는 면)으로 밀봉되는지 여부입니다. 열린 쉘로 만들려면 false로 설정하세요.
Name
relief_curve
Type
string
기본값 linear
Description
깊이 맵 값을 부조 높이로 매핑하는 전달 곡선입니다. 사용 가능한 값:
linear (기본값)
gamma
s-curve
Name
curve_param
Type
number
기본값 1.0
Description
전달 곡선의 형태 파라미터입니다(relief_curve가 gamma일 때만 의미가 있습니다). 범위: (0, 10].
Name
invert_depth
Type
boolean
기본값 false
Description
깊이 맵 해석을 반전시켜 더 어두운 영역이 더 높은 부조가 되도록 합니다.
Name
smoothing
Type
number
기본값 0.24
Description
부조 추출 전 깊이 맵에 적용되는 스무딩 강도입니다. 범위: [0, 10].
Name
relief_scale
Type
number
기본값 1.0
Description
relief_height_mm 위에 추가로 적용되는 수직 배율 승수입니다. 범위: (0, 10].
Name
depth_threshold
Type
number
기본값 0.1
Description
깊이 맵 값에 대한 로우패스 임계값이며, 이 값보다 낮은 값은 0으로 고정됩니다. 범위: [0, 1].
Name
remove_background
Type
boolean
기본값 true
Description
부조 처리 전에 프로토타입의 콘셉트 이미지 배경을 자동으로 제거합니다.
동일한 이름의 프로토타입 파라미터(기본값 false)와는 별개이며, 그 파라미터는 프로토타입 이미지 자체가 투명도와 함께 반환되는지 여부를 제어합니다.
Name
export_resolution
Type
integer
기본값 512
Description
내보내기에 사용되는 메시 해상도입니다. 범위: [64, 2048].
output
선택적 전송 형식 선택기입니다. 기본값은 glb입니다.
Name
format
Type
string
기본값 glb
Description
빌드가 반환하는 아티팩트 번들입니다. 사용 가능한 값:
glb (기본값) — model_urls.glb 아래에 단일 model.glb를 반환합니다.
냉장고 자석 작업을 취소합니다. 작업이 아직 PENDING 상태라면 생성 시 소모된
크레딧이 환불됩니다. 이미 IN_PROGRESS 상태인 작업은 환불 없이 취소됩니다(워커가
이미 리소스를 소모하고 있을 수 있기 때문입니다). 이미 최종 상태(SUCCEEDED, FAILED,
CANCELED)에 도달한 작업은 취소할 수 없습니다.
Server-Sent Events(SSE)를 통해 냉장고 자석 작업의 실시간 업데이트를 스트리밍합니다.
URL 경로는 작업의 단계와 일치해야 합니다 —
/prototype/:buildId/stream에서 스트림을 열면 status_code: 404가 포함된
단일 event: error 페이로드가 전송되고 스트림이 닫힙니다.
매개변수
Name
id
Type
path
Description
스트리밍할 냉장고 자석 작업의 고유 식별자입니다.
반환값
Fridge Magnet Prototype 또는
Fridge Magnet Build 작업 객체의 스트림을
Server-Sent Events 형태로 반환합니다. 매 프레임은 해당 단계의 전체 작업 객체를
담고 있으며 — Get 엔드포인트가 반환하는 것과 동일한 형태입니다 — 따라서 작업이
PENDING 또는 IN_PROGRESS 상태인 동안에는 출력 필드가 아직 채워지지 않은
상태(null, [] 또는 {})이며 finished_at은 null입니다.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Fridge Magnet 프로토타입 태스크 객체는 소스 사진으로부터 컬러화된 컨셉 이미지를 생성하기 위해 Meshy가 추적하는 작업 단위입니다. 이 단계의 출력은 input_task_id를 통해 빌드 단계로 연결됩니다.
속성
Name
id
Type
string
Description
태스크의 고유 식별자입니다. 구현 세부 사항으로 태스크 id에 k-정렬 가능한 UUID를 사용하고 있지만, id의 형식에 대해 어떠한 가정도 해서는 안 됩니다.
Name
type
Type
string
Description
태스크의 유형입니다. 값은 creative-lab-fridge-magnet-prototype입니다.
Name
name
Type
string
Description
태스크가 생성될 때 제공된 태스크 이름입니다. 이름이 제공되지 않은 경우 빈 문자열입니다.
Name
status
Type
string
Description
태스크의 상태입니다. 가능한 값은 PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED 중 하나입니다.
Name
progress
Type
integer
Description
태스크의 진행 상황입니다. 태스크가 아직 시작되지 않은 경우 이 속성은 0이 됩니다. 태스크가 성공하면 100이 됩니다.
Name
created_at
Type
timestamp
Description
태스크가 생성된 시각의 타임스탬프(밀리초 단위)입니다.
타임스탬프는 RFC 3339 표준에 따라 1970년 1월 1일 UTC 이후 경과된 밀리초 수를 나타냅니다.
예를 들어, 2023년 9월 1일 금요일 12:00:00 PM GMT는 1693569600000으로 표현됩니다. 이는 Meshy API의 모든 타임스탬프에 적용됩니다.
Name
started_at
Type
timestamp
Description
태스크가 시작된 시각의 타임스탬프(밀리초 단위)입니다. 태스크가 아직 시작되지 않은 경우 이 속성은 0이 됩니다.
Name
finished_at
Type
timestamp
Description
태스크가 완료된 시각의 타임스탬프(밀리초 단위)입니다. 태스크가 아직 완료되지 않은 경우 이 속성은 0이 됩니다.
Name
expires_at
Type
timestamp
Description
태스크 결과가 만료되는 시각의 타임스탬프(밀리초 단위)입니다.
Name
preceding_tasks
Type
integer
Description
선행 태스크의 수입니다.
이 필드의 값은 태스크 상태가 PENDING일 때만 의미가 있습니다.
Name
task_error
Type
object
Description
실패한 태스크에 대한 오류 세부 정보입니다. 전체 task_error 객체 참조는 오류를 참고하세요.
Name
consumed_credits
Type
integer
Description
이 태스크에서 소비된 크레딧의 수입니다. 태스크 상태가 PENDING, IN_PROGRESS, SUCCEEDED일 때 존재합니다. FAILED 태스크의 경우 0을 반환합니다(실패 시 크레딧은 환불됩니다).
Name
image_urls
Type
array of strings
Description
이 프로토타입 태스크에서 생성된 컨셉 이미지 후보의 다운로드 가능한 URL입니다. 현재 API는 항상 정확히 하나의 후보만 반환하지만, 향후 개정에서 호환성을 깨지 않고 여러 후보를 노출할 수 있도록 이 필드는 배열로 되어 있습니다.
냉장고 자석 빌드 태스크 객체는 Meshy가 성공한 프로토타입 태스크로부터 최종 3D 냉장고 자석 메시를 생성하기 위해 추적하는 작업 단위입니다. 빌드는 프로토타입의 콘셉트 이미지에 깊이 맵 릴리프 파이프라인을 실행하고, 호출자가 요청한 형식으로 단일 메시 아티팩트를 게시합니다.
속성
Name
id
Type
string
Description
태스크의 고유 식별자입니다.
Name
type
Type
string
Description
태스크의 유형입니다. 값은 creative-lab-fridge-magnet-build입니다.
Name
name
Type
string
Description
태스크가 생성될 때 제공된 태스크 이름입니다. 이름이 제공되지 않은 경우 빈 문자열입니다.
Name
status
Type
string
Description
태스크의 상태입니다. 가능한 값은 PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED 중 하나입니다.
Name
progress
Type
integer
Description
태스크의 진행률입니다. 태스크가 아직 시작되지 않은 경우 이 속성은 0입니다. 태스크가 성공하면 100이 됩니다.
Name
created_at
Type
timestamp
Description
태스크가 생성된 시점의 타임스탬프이며, 단위는 밀리초입니다.
Name
started_at
Type
timestamp
Description
태스크가 시작된 시점의 타임스탬프이며, 단위는 밀리초입니다.
Name
finished_at
Type
timestamp
Description
태스크가 종료된 시점의 타임스탬프이며, 단위는 밀리초입니다.
Name
expires_at
Type
timestamp
Description
태스크 결과가 만료되는 시점의 타임스탬프이며, 단위는 밀리초입니다.
Name
preceding_tasks
Type
integer
Description
선행 태스크의 개수입니다. 상태가 PENDING일 때만 의미가 있습니다.
Name
task_error
Type
object
Description
실패한 태스크의 오류 세부 정보입니다. task_error 객체에 대한 전체 참조는 오류를 참고하세요.
Name
consumed_credits
Type
integer
Description
이 태스크에서 소비된 크레딧의 수입니다. FAILED 태스크의 경우 0을 반환합니다(실패 시 크레딧이 환불됩니다).
Name
model_urls
Type
object
Description
생성된 아티팩트의 다운로드 가능한 URL이며, 아티팩트 이름을 키로 사용합니다. 항상 정확히 하나의 항목만 포함하며, 이는 빌드 요청의 output.format을 통해 요청된 형식입니다. 키는 요청된 형식과 일치합니다:
Name
glb
Type
string
Description
GLB 파일에 대한 다운로드 가능한 URL입니다. output.format이 glb(기본값)였을 때 존재합니다.
Name
obj
Type
string
Description
model.obj, model.mtl, texture.png를 포함하는 zip 번들에 대한 다운로드 가능한 URL입니다. output.format이 obj였을 때 존재합니다.
Name
bundle_zip
Type
string
Description
생성기가 출력하는 모든 아티팩트의 zip 번들에 대한 다운로드 가능한 URL입니다. output.format이 zip였을 때 존재합니다.