# Meshy 7 API Tài liệu tham khảo API đầy đủ cho các mô hình tạo 3D Meshy 7. ## Các biến thể mô hình | Mô hình | Mô tả | | -------------------------- | -------------------------------------------------- | | `meshy-v7-text-to-3d` | Tạo mô hình 3D từ mô tả bằng văn bản | | `meshy-v7-image-to-3d` | Tạo mô hình 3D từ một hình ảnh | | `meshy-v7-multiview-to-3d` | Tạo mô hình 3D từ nhiều hình ảnh tham chiếu | ## Điểm cuối ```text POST /api/v1/3d/task GET /api/v1/3d/{task_id} ``` ## Tạo 3D từ văn bản với Meshy 7 ### Tham số bắt buộc | Tham số | Kiểu | Mô tả | | ------------ | ------ | -------------------------------------------- | | `model_name` | string | Phải là `meshy-v7-text-to-3d` | | `prompt` | string | Mô tả bằng văn bản về mô hình 3D cần tạo. 1–600 ký tự | ### Tham số tùy chọn | Tham số | Kiểu | Mô tả | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Cấu trúc liên kết sau khi tái tạo lưới: `triangle` hoặc `quad`. Mặc định là `triangle` | | `target_polycount` | integer | Số đa giác mục tiêu sau khi tái tạo lưới. Phạm vi: 100–300000. Mặc định là 30000 | | `remesh` | boolean | Có tái tạo lưới hay không. Mặc định là `true` | | `symmetry_mode` | string | Chế độ đối xứng: `off`, `auto` hoặc `on`. Mặc định là `auto` | | `pose_mode` | string | Tư thế mô hình dạng người: `a-pose` hoặc `t-pose`. Mặc định không chỉ định tư thế | | `pbr` | boolean | Có tạo kết cấu vật liệu PBR hay không. Mặc định là `false` | | `texture_prompt` | string | Mô tả bằng văn bản dùng để hướng dẫn tạo kết cấu. Tối đa 600 ký tự | | `texture_image` | string | URL hình ảnh tham chiếu dùng để hướng dẫn tạo kết cấu | | `seed` | integer | Giá trị khởi tạo ngẫu nhiên. Mặc định là `-1`, tạo ra kết quả ngẫu nhiên | ### Ví dụ yêu cầu ```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; ``` ## Tạo 3D từ hình ảnh với Meshy 7 ### Tham số bắt buộc | Tham số | Kiểu | Mô tả | | ------------ | ------ | ------------------------------------------ | | `model_name` | string | Phải là `meshy-v7-image-to-3d` | | `image_url` | string | URL có thể truy cập công khai của hình ảnh đầu vào | ### Tham số tùy chọn | Tham số | Kiểu | Mô tả | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Cấu trúc liên kết sau khi tái tạo lưới: `triangle` hoặc `quad`. Mặc định là `triangle` | | `target_polycount` | integer | Số đa giác mục tiêu sau khi tái tạo lưới. Phạm vi: 100–300000. Mặc định là 30000 | | `remesh` | boolean | Có tái tạo lưới hay không. Mặc định là `true` | | `symmetry_mode` | string | Chế độ đối xứng: `off`, `auto` hoặc `on`. Mặc định là `auto` | | `pose_mode` | string | Tư thế mô hình dạng người: `a-pose` hoặc `t-pose`. Mặc định là `a-pose` | | `pbr` | boolean | Có tạo kết cấu vật liệu PBR hay không. Mặc định là `false` | | `texture_prompt` | string | Mô tả bằng văn bản dùng để hướng dẫn tạo kết cấu. Tối đa 600 ký tự | | `texture_image` | string | URL hình ảnh tham chiếu dùng để hướng dẫn tạo kết cấu | ### Ví dụ yêu cầu ```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; ``` ## Tạo 3D từ nhiều góc nhìn với Meshy 7 ### Tham số bắt buộc | Tham số | Kiểu | Mô tả | | ------------ | -------- | ------------------------------------------------ | | `model_name` | string | Phải là `meshy-v7-multiview-to-3d` | | `images` | string[] | 1–4 URL hình ảnh tham chiếu. Không yêu cầu thứ tự góc nhìn | ### Tham số tùy chọn | Tham số | Kiểu | Mô tả | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Cấu trúc liên kết sau khi tái tạo lưới: `triangle` hoặc `quad`. Mặc định là `triangle` | | `target_polycount` | integer | Số đa giác mục tiêu sau khi tái tạo lưới. Phạm vi: 100–300000. Mặc định là 30000 | | `remesh` | boolean | Có tái tạo lưới hay không. Mặc định là `true` | | `symmetry_mode` | string | Chế độ đối xứng: `off`, `auto` hoặc `on`. Mặc định là `auto` | | `pose_mode` | string | Tư thế mô hình dạng người: `a-pose` hoặc `t-pose`. Mặc định không chỉ định tư thế | | `pbr` | boolean | Có tạo kết cấu vật liệu PBR hay không. Mặc định là `false` | | `texture_prompt` | string | Mô tả bằng văn bản dùng để hướng dẫn tạo kết cấu. Tối đa 600 ký tự | | `texture_image` | string | URL hình ảnh tham chiếu dùng để hướng dẫn tạo kết cấu | ### Ví dụ yêu cầu ```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; ``` ## Định dạng phản hồi ### Gửi tác vụ ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/3d/{task_id}", "task_status": "submitted" } } ``` ### Truy vấn trạng thái tác vụ ```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); ``` ### Tác vụ đã hoàn tất ```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" }] } } } ``` ### Các giá trị trạng thái tác vụ - `submitted`: Tác vụ đã được gửi. - `processing`: Tác vụ đang được xử lý. - `succeed`: Tác vụ đã hoàn tất thành công. - `failed`: Tác vụ đã thất bại.