openapi: 3.2.0 info: title: Meshy Text to 3D API description: 'Meshy is an AI 3D model generation platform. The REST API at https://api.meshy.ai provides Text-to-3D (v2 preview + refine workflow), Image-to-3D, and related asset generation operations. Authentication is via bearer token. ' version: '2.0' contact: name: Meshy url: https://docs.meshy.ai/ servers: - url: https://api.meshy.ai description: Production API security: - bearerAuth: [] tags: - name: Text to 3D paths: /openapi/v2/text-to-3d: post: tags: - Text to 3D summary: Create a Text-to-3D task (preview or refine mode) requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TextTo3DRequest' responses: '202': description: Task accepted content: application/json: schema: $ref: '#/components/schemas/TaskCreated' get: tags: - Text to 3D summary: List Text-to-3D tasks (paginated) parameters: - in: query name: page_num schema: type: integer default: 1 - in: query name: page_size schema: type: integer default: 10 responses: '200': description: List of tasks content: application/json: schema: type: array items: $ref: '#/components/schemas/Task' /openapi/v2/text-to-3d/{id}: parameters: - in: path name: id required: true schema: type: string get: tags: - Text to 3D summary: Retrieve a Text-to-3D task responses: '200': description: Task details content: application/json: schema: $ref: '#/components/schemas/Task' delete: tags: - Text to 3D summary: Delete a Text-to-3D task responses: '200': description: Deleted /openapi/v2/text-to-3d/{id}/stream: parameters: - in: path name: id required: true schema: type: string get: tags: - Text to 3D summary: Stream real-time task updates via SSE responses: '200': description: Server-Sent Events stream content: text/event-stream: {} components: schemas: TaskCreated: type: object properties: result: type: string description: Task ID Task: type: object properties: id: type: string status: type: string enum: - PENDING - IN_PROGRESS - SUCCEEDED - FAILED - CANCELED - EXPIRED progress: type: integer created_at: type: integer finished_at: type: integer model_urls: type: object additionalProperties: type: string thumbnail_url: type: string prompt: type: string consumed_credits: type: integer TextTo3DRequest: type: object required: - mode properties: mode: type: string enum: - preview - refine prompt: type: string maxLength: 600 preview_task_id: type: string description: Required when mode is "refine" model_type: type: string enum: - standard - lowpoly ai_model: type: string enum: - meshy-5 - meshy-6 - latest pose_mode: type: string enum: - a-pose - t-pose - '' enable_pbr: type: boolean texture_prompt: type: string maxLength: 600 target_formats: type: array items: type: string enum: - glb - obj - fbx - stl - usdz - 3mf securitySchemes: bearerAuth: type: http scheme: bearer description: 'API key supplied as `Authorization: Bearer YOUR_API_KEY`'