# Meshy 7 API Meshy 7 3D 생성 모델의 전체 API 레퍼런스입니다. ## 모델 종류 | 모델 | 설명 | | -------------------------- | -------------------------------------------------- | | `meshy-v7-text-to-3d` | 텍스트 설명으로 3D 모델을 생성합니다 | | `meshy-v7-image-to-3d` | 단일 이미지로 3D 모델을 생성합니다 | | `meshy-v7-multiview-to-3d` | 여러 참조 이미지로 3D 모델을 생성합니다 | ## 엔드포인트 ```text POST /api/v1/3d/task GET /api/v1/3d/{task_id} ``` ## Meshy 7 텍스트로 3D 생성 ### 필수 매개변수 | 매개변수 | 유형 | 설명 | | ------------ | ------ | -------------------------------------------- | | `model_name` | string | `meshy-v7-text-to-3d`이어야 합니다 | | `prompt` | string | 생성할 3D 모델에 대한 텍스트 설명입니다. 1~600자 | ### 선택적 매개변수 | 매개변수 | 유형 | 설명 | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | 리메시 후 토폴로지: `triangle` 또는 `quad`. 기본값은 `triangle` | | `target_polycount` | integer | 리메시 후 목표 폴리곤 수입니다. 범위: 100~300000. 기본값은 30000 | | `remesh` | boolean | 메시를 다시 생성할지 여부입니다. 기본값은 `true` | | `symmetry_mode` | string | 대칭 모드: `off`, `auto`, `on`. 기본값은 `auto` | | `pose_mode` | string | 인간형 모델의 포즈: `a-pose` 또는 `t-pose`. 기본적으로 포즈를 지정하지 않습니다 | | `pbr` | boolean | PBR 머티리얼 텍스처를 생성할지 여부입니다. 기본값은 `false` | | `texture_prompt` | string | 텍스처 생성을 안내하는 데 사용하는 텍스트 설명입니다. 최대 600자 | | `texture_image` | string | 텍스처 생성을 안내하는 데 사용하는 참조 이미지 URL | | `seed` | integer | 난수 시드입니다. 기본값은 `-1`이며 무작위 결과를 생성합니다 | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-text-to-3d', prompt: 'A stylized red panda explorer wearing a small canvas backpack', topology: 'quad', remesh: true, symmetry_mode: 'auto', pose_mode: 'a-pose', pbr: true, texture_prompt: 'Hand-painted fur and weathered canvas with warm autumn colors', texture_image: 'https://example.com/red-panda-texture.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Meshy 7 이미지로 3D 생성 ### 필수 매개변수 | 매개변수 | 유형 | 설명 | | ------------ | ------ | ------------------------------------------ | | `model_name` | string | `meshy-v7-image-to-3d`이어야 합니다 | | `image_url` | string | 공개적으로 접근 가능한 입력 이미지 URL | ### 선택적 매개변수 | 매개변수 | 유형 | 설명 | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | 리메시 후 토폴로지: `triangle` 또는 `quad`. 기본값은 `triangle` | | `target_polycount` | integer | 리메시 후 목표 폴리곤 수입니다. 범위: 100~300000. 기본값은 30000 | | `remesh` | boolean | 메시를 다시 생성할지 여부입니다. 기본값은 `true` | | `symmetry_mode` | string | 대칭 모드: `off`, `auto`, `on`. 기본값은 `auto` | | `pose_mode` | string | 인간형 모델의 포즈: `a-pose` 또는 `t-pose`. 기본값은 `a-pose` | | `pbr` | boolean | PBR 머티리얼 텍스처를 생성할지 여부입니다. 기본값은 `false` | | `texture_prompt` | string | 텍스처 생성을 안내하는 데 사용하는 텍스트 설명입니다. 최대 600자 | | `texture_image` | string | 텍스처 생성을 안내하는 데 사용하는 참조 이미지 URL | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-image-to-3d', image_url: 'https://example.com/ceramic-lamp.png', topology: 'triangle', remesh: true, symmetry_mode: 'auto', pose_mode: 'a-pose', pbr: true, texture_prompt: 'Glazed blue ceramic with subtle gold details', texture_image: 'https://example.com/ceramic-reference.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Meshy 7 다중 시점 이미지로 3D 생성 ### 필수 매개변수 | 매개변수 | 유형 | 설명 | | ------------ | -------- | ------------------------------------------------ | | `model_name` | string | `meshy-v7-multiview-to-3d`이어야 합니다 | | `images` | string[] | 참조 이미지 URL 1~4개입니다. 시점 순서는 상관없습니다 | ### 선택적 매개변수 | 매개변수 | 유형 | 설명 | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | 리메시 후 토폴로지: `triangle` 또는 `quad`. 기본값은 `triangle` | | `target_polycount` | integer | 리메시 후 목표 폴리곤 수입니다. 범위: 100~300000. 기본값은 30000 | | `remesh` | boolean | 메시를 다시 생성할지 여부입니다. 기본값은 `true` | | `symmetry_mode` | string | 대칭 모드: `off`, `auto`, `on`. 기본값은 `auto` | | `pose_mode` | string | 인간형 모델의 포즈: `a-pose` 또는 `t-pose`. 기본적으로 포즈를 지정하지 않습니다 | | `pbr` | boolean | PBR 머티리얼 텍스처를 생성할지 여부입니다. 기본값은 `false` | | `texture_prompt` | string | 텍스처 생성을 안내하는 데 사용하는 텍스트 설명입니다. 최대 600자 | | `texture_image` | string | 텍스처 생성을 안내하는 데 사용하는 참조 이미지 URL | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-multiview-to-3d', images: [ 'https://example.com/chair-front.png', 'https://example.com/chair-side.png', 'https://example.com/chair-back.png', ], topology: 'quad', remesh: true, symmetry_mode: 'auto', pbr: true, texture_prompt: 'Natural walnut wood and woven cream fabric', texture_image: 'https://example.com/chair-material-reference.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## 응답 형식 ### 작업 제출 ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/3d/{task_id}", "task_status": "submitted" } } ``` ### 작업 상태 조회 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/{task_id}', { headers: { Authorization: 'Bearer YOUR_API_KEY' }, }); const { data } = await response.json(); console.log(data.task_status); ``` ### 완료된 작업 ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/3d/{task_id}", "task_status": "succeed", "task_status_msg": null, "task_result": { "credit": 0.2, "files": [{ "url": "https://example.com/generated-model.glb" }] } } } ``` ### 작업 상태 값 - `submitted`: 작업이 제출되었습니다. - `processing`: 작업을 처리 중입니다. - `succeed`: 작업이 성공적으로 완료되었습니다. - `failed`: 작업이 실패했습니다.