lowpoly 30 अक्टू॰ 2026 को बंद हो जाएगा। अनुरोध त्रुटियों से बचने के लिए इन तारीखों से पहले मॉडल बदल लें। सभी बहिष्करण देखें

Creative Lab लैंप API

एक फोटो को दो चरणों में 3D-प्रिंट करने योग्य लैंपशेड में बदलें। एक प्रोटोटाइप टास्क एक मैट-व्हाइट कॉन्सेप्ट इमेज जनरेट करता है और उसे 3D मॉडल में बदल देता है। एक बिल्ड टास्क, जो प्रोटोटाइप टास्क की ID को input_task_id के रूप में लेता है, उस मॉडल को प्रिंट करने योग्य STL पार्ट्स में बदल देता है। डिफ़ॉल्ट फिक्सचर प्रीसेट के साथ, पार्ट्स एक ओपन-बॉटम लैंपशेड होते हैं जिसमें लाइट फिक्सचर के लिए एक बेस प्लेट और फिक्सचर माउंट शामिल होता है।

  • POST /openapi/creative-lab/lamp/v1/prototype
  • POST /openapi/creative-lab/lamp/v1/build

POST/openapi/creative-lab/lamp/v1/prototype

Lamp प्रोटोटाइप टास्क बनाएं

एक फोटो से एक मैट-व्हाइट कॉन्सेप्ट इमेज जनरेट करता है और उसे एक 3D लैंपशेड मॉडल में बदल देता है। टास्क कॉन्सेप्ट इमेज को image_urls में, और मॉडल को model_urls.glb में लौटाता है, जिसका प्रीव्यू thumbnail_url में होता है। प्रिंट करने योग्य पार्ट्स बनाने के लिए, इस टास्क की ID को build एंडपॉइंट को input_task_id के रूप में भेजें। टास्क के फ़ील्ड्स के लिए, The Lamp prototype task object देखें।

Request

POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1: concept image + 3D lampshade model from a source photo
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "image_subject": "character"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
एक सोर्स फोटो से शुरू करें। प्रोटोटाइप कॉन्सेप्ट इमेज और वह 3D मॉडल लौटाता है जिसे build स्टेज प्रोसेस करता है।
Creative Lab Lamp इनपुट के रूप में उपयोग की गई सोर्स बिल्ली की फोटो
Prototype input
सोर्स फोटो से जनरेट किया गया Creative Lab Lamp प्रोटोटाइप आउटपुट
Prototype output

पैरामीटर

  • Name
    image_url
    Type
    string
    आवश्यक
    Description

    लैंपशेड के आधार के लिए फोटो, पब्लिक URL या डेटा URI (data:image/jpeg;base64,<your base64-encoded image data>) के रूप में।

    इमेज अधिकतम 20 MB की JPG, JPEG, PNG, या WebP फ़ाइल होनी चाहिए।

  • Name
    image_subject
    Type
    string
    डिफ़ॉल्ट character
    Description

    फोटो में विषय का प्रकार, जो यह तय करता है कि Meshy इसे कैसे स्टाइलाइज़ करे।

    उपलब्ध वैल्यूज़:

    • character: एक एकल कैरेक्टर या ऑब्जेक्ट, जैसे कि एक फिगरीन, एक जानवर, या एक मस्कॉट
    • landscape: एक आउटडोर सीन या पैनोरमा, जैसे कि एक पहाड़, एक शहर का नज़ारा, या एक जंगल
  • Name
    name
    Type
    string
    Description

    टास्क के लिए एक नाम, अधिकतम 100 अक्षर तक। यह टास्क के name फ़ील्ड में वापस आता है। अधिक लंबा नाम 400 लौटाता है।

  • Name
    remove_background
    Type
    boolean
    डिफ़ॉल्ट false
    Description

    क्या प्रोटोटाइप इमेज से बैकग्राउंड हटाना है। true एक पारदर्शी RGBA PNG लौटाता है, ताकि आप विषय को किसी भी बैकग्राउंड पर रख सकें। Meshy इमेज से 3D मॉडल भी उसके बैकग्राउंड के बिना बनाता है। अगर Meshy बैकग्राउंड नहीं हटा पाता, तो यह इमेज को उसके बैकग्राउंड के साथ ही उपयोग करता है, और टास्क फिर भी सफल होता है।

रिटर्न

result फ़ील्ड में नए प्रोटोटाइप टास्क की ID होती है। टास्क प्राप्त करें या इसे स्ट्रीम करें जब तक कि status, SUCCEEDED न हो जाए। फिर ID को build एंडपॉइंट को input_task_id के रूप में भेजें।

विफलता के मामले

  • Name
    400 - Bad Request
    Description

    रिक्वेस्ट चल नहीं सकती। उदाहरण के लिए:

    • image_url गायब है।
    • इमेज JPG, JPEG, PNG, या WebP फ़ाइल नहीं है।
    • इमेज बहुत छोटी है, 20 MB से अधिक है, या अधिकतम पिक्सेल संख्या से अधिक है।
    • Meshy इमेज डाउनलोड नहीं कर सकता, उदाहरण के लिए क्योंकि URL 404 लौटाता है या टाइमआउट हो जाता है।
    • डेटा URI मान्य base64 नहीं है।
    • इमेज को NSFW के रूप में फ़्लैग किया गया था।
    • image_subject, character या landscape नहीं है।

    एरर मैसेज बताता है कि कौन सी समस्या पाई गई। रिक्वेस्ट ठीक करें, फिर इसे दोबारा भेजें।

  • Name
    401 - Unauthorized
    Description

    API की गायब है या अमान्य है। Authorization हेडर जांचें।

  • Name
    402 - Payment Required
    Description

    इनमें से कोई एक लागू होता है:

    • अकाउंट में पर्याप्त क्रेडिट नहीं हैं।
    • API की, वर्कस्पेस, या सदस्य अपनी क्रेडिट सीमा तक पहुंच गया।
    • अकाउंट फ्री प्लान पर है।

    अपने क्रेडिट और प्लान की जांच करें, फिर दोबारा कोशिश करें।

  • Name
    403 - Forbidden
    Description

    आपकी टीम ने IP Filtering चालू किया हुआ है, और Meshy ने इमेज को थर्ड-पार्टी इंटेलेक्चुअल प्रॉपर्टी के लिए फ़्लैग किया है। ऐसी इमेज भेजें जिसे उपयोग करने का अधिकार आपके पास हो।

  • Name
    429 - Too Many Requests
    Description

    इनमें से कोई एक सीमा पहुंच गई थी:

    • आपने अपनी रेट लिमिट से अधिक रिक्वेस्ट भेजीं। कुछ सेकंड रुकें, फिर दोबारा कोशिश करें। Rate limits देखें।
    • आपके बहुत सारे टास्क कतार में हैं या चल रहे हैं। कुछ के पूरे होने की प्रतीक्षा करें, फिर दोबारा कोशिश करें।
    • बिना क्रेडिट के अनलिमिटेड प्लान पर, आप उन टास्क की संख्या तक पहुंच गए जो बिना क्रेडिट के चल सकते हैं। किसी टास्क के पूरे होने की प्रतीक्षा करें, या क्रेडिट जोड़ें।
  • Name
    500 - Internal Server Error
    Description

    Meshy को सर्वर एरर मिला, उदाहरण के लिए क्योंकि यह इमेज पर इंटेलेक्चुअल प्रॉपर्टी चेक नहीं चला सका। Meshy टास्क नहीं बनाता, और उसके द्वारा चार्ज किए गए किसी भी क्रेडिट को रिफंड कर देता है। रिक्वेस्ट दोबारा करें।


POST/openapi/creative-lab/lamp/v1/build

लैंप बिल्ड टास्क बनाएं

एक सफल प्रोटोटाइप टास्क से 3D-प्रिंट करने योग्य पार्ट्स जेनरेट करता है। Meshy प्रोटोटाइप के मॉडल को diameter_mm तक स्केल करता है, cut_amount_percent के अनुसार इसके निचले हिस्से को फ्लैट काटता है, और इसे thickness_mm तक खोखला करता है। फिक्सचर प्रीसेट के साथ, यह निचले हिस्से को भी खोलता है, फिक्सचर होल के साथ एक बेस प्लेट जोड़ता है, और लाइट के लिए एक अलग माउंट बनाता है। टास्क के फील्ड्स के लिए, The Lamp build task object देखें।

Request

POST
/openapi/creative-lab/lamp/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "options": {
      "diameter_mm": 120,
      "thickness_mm": 2,
      "light_source_preset": "bambu_mh001_60mm",
      "cut_amount_percent": 30
    },
    "output": {
      "format": "stl"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Build example
The build task turns the prototype's 3D model into printable lampshade parts.
Creative Lab Lamp build model preview
Build model preview

पैरामीटर्स

  • Name
    input_task_id
    Type
    string
    आवश्यक
    Description

    बिल्ड करने के लिए प्रोटोटाइप टास्क की ID। यह आपके अकाउंट द्वारा POST /openapi/creative-lab/lamp/v1/prototype से बनाया गया टास्क होना चाहिए, जिसका स्टेटस SUCCEEDED हो।

    ऐसी ID जो API से बने आपके Lamp प्रोटोटाइप टास्क में से कोई न हो, 404 लौटाती है, जिसमें वेब ऐप में बना प्रोटोटाइप भी शामिल है।

  • Name
    name
    Type
    string
    Description

    टास्क के लिए एक नाम, 100 कैरेक्टर तक। यह टास्क के name फील्ड में वापस आता है। इससे लंबा नाम 400 लौटाता है।

options

लैंपशेड के आकार के लिए वैकल्पिक सेटिंग्स। हर फील्ड की एक डिफ़ॉल्ट वैल्यू होती है, इसलिए केवल वही फील्ड भेजें जिन्हें आप बदलना चाहते हैं।

  • Name
    diameter_mm
    Type
    number
    डिफ़ॉल्ट 150
    Description

    मिलीमीटर में, लैंपशेड के सबसे बड़े डायमेंशन का साइज़, 50 से 400 तक। Meshy मॉडल को फिट करने के लिए समान रूप से स्केल करता है। 0 डिफ़ॉल्ट का उपयोग करता है, और रेंज से बाहर कोई भी अन्य वैल्यू 400 लौटाती है।

  • Name
    thickness_mm
    Type
    number
    डिफ़ॉल्ट 1
    Description

    मिलीमीटर में, लैंपशेड की दीवार की मोटाई, 10 तक। 0 डिफ़ॉल्ट का उपयोग करता है, और नेगेटिव वैल्यू या 10 से ज़्यादा वैल्यू 400 लौटाती है।

  • Name
    cut_amount_percent
    Type
    number
    डिफ़ॉल्ट 1
    Description

    मॉडल की ऊंचाई का वह प्रतिशत जिसे नीचे फ्लैट काटना है, 1 से 100 तक। फ्लैट बॉटम लैंपशेड को प्रिंट बेड पर बैठने देता है और फिक्सचर के लिए जगह छोड़ता है। रेंज से बाहर की वैल्यू 400 लौटाती है।

  • Name
    light_source_preset
    Type
    string
    डिफ़ॉल्ट bambu_mh001_60mm
    Description

    लाइट फिक्सचर प्रीसेट, जो सेट करता है कि Meshy निचले हिस्से को कैसे बनाता है।

    उपलब्ध वैल्यूज़:

    • bambu_mh001_60mm: एक ओपन-बॉटम लैंपशेड जिसमें 60 मिमी फिक्सचर होल वाली बेस प्लेट है, दोनों model_urls.lamp_stl में, और फिक्सचर माउंट model_urls.base_stl में
    • none: model_urls.lamp_stl में एक सिंगल सील्ड लैंपशेड, जिसमें कोई model_urls.base_stl नहीं है
  • Name
    fixture_offset_x_mm
    Type
    number
    डिफ़ॉल्ट 0
    Description

    लैंपशेड के केंद्र से X अक्ष पर फिक्सचर होल को कितनी दूर ले जाना है, मिलीमीटर में, -80 से 80 तक। यह तभी लागू होता है जब light_source_preset none न हो।

  • Name
    fixture_offset_z_mm
    Type
    number
    डिफ़ॉल्ट 0
    Description

    लैंपशेड के केंद्र से Z अक्ष (डेप्थ) पर फिक्सचर होल को कितनी दूर ले जाना है, मिलीमीटर में, -80 से 80 तक। यह तभी लागू होता है जब light_source_preset none न हो।

  • Name
    rotate_x_deg
    Type
    number
    डिफ़ॉल्ट 0
    Description

    Meshy के मॉडल को प्रोसेस करने से पहले X अक्ष के चारों ओर लागू किया जाने वाला रोटेशन, डिग्री में, -360 से 360 तक। Meshy मॉडल के केंद्र के चारों ओर तीनों रोटेशन को XYZ Euler एंगल के रूप में लागू करता है।

  • Name
    rotate_y_deg
    Type
    number
    डिफ़ॉल्ट 0
    Description

    Meshy के मॉडल को प्रोसेस करने से पहले Y अक्ष के चारों ओर लागू किया जाने वाला रोटेशन, डिग्री में, -360 से 360 तक।

  • Name
    rotate_z_deg
    Type
    number
    डिफ़ॉल्ट 0
    Description

    Meshy के मॉडल को प्रोसेस करने से पहले Z अक्ष के चारों ओर लागू किया जाने वाला रोटेशन, डिग्री में, -360 से 360 तक।

  • Name
    include_result_json
    Type
    boolean
    डिफ़ॉल्ट false
    Description

    क्या zip बंडल में result.json फ़ाइल जोड़नी है, जिसमें चलाई गई पाइपलाइन का नाम, चेतावनियां, और फ़ाइल पाथ हों। इसके लिए output.format का zip पर सेट होना ज़रूरी है। stl के साथ true 400 लौटाता है।

output

वैकल्पिक। बिल्ड द्वारा लौटाई जाने वाली फ़ाइलें सेट करता है।

  • Name
    format
    Type
    string
    डिफ़ॉल्ट stl
    Description

    बिल्ड द्वारा लौटाई जाने वाली फ़ाइलें।

    उपलब्ध वैल्यूज़:

    • stl: model_urls.lamp_stl, फिक्सचर प्रीसेट होने पर इसकी बेस प्लेट के साथ लैंपशेड, और जब light_source_preset none न हो तब model_urls.base_stl
    • zip: model_urls.bundle_zip में एक zip फ़ाइल, जिसमें lamp.stl, और लागू होने पर base.stl और result.json हों

रिटर्न वैल्यू

result फील्ड में नए बिल्ड टास्क की ID होती है। Get the task या stream it तब तक करें जब तक status, SUCCEEDED न हो जाए। फिर model_urls से फ़ाइलें डाउनलोड करें।

विफलता के तरीके

  • Name
    400 - Bad Request
    Description

    रिक्वेस्ट नहीं चल सकती। उदाहरण के लिए:

    • input_task_id मौजूद नहीं है या वैध टास्क ID नहीं है।
    • प्रोटोटाइप टास्क का स्टेटस SUCCEEDED नहीं है। अगर यह अभी भी चल रहा है, तो प्रतीक्षा करें और फिर से कोशिश करें। अगर यह फेल हो गया या कैंसल कर दिया गया, तो नया प्रोटोटाइप टास्क बनाएं।
    • प्रोटोटाइप टास्क सफल रहा लेकिन उसमें कोई 3D मॉडल नहीं है। नया प्रोटोटाइप टास्क बनाएं।
    • कोई options फील्ड अपनी रेंज से बाहर है या उपलब्ध वैल्यू नहीं है।
    • output.format, stl या zip नहीं है, या include_result_json, zip के बिना true है।

    एरर मैसेज बताता है कि कौन सी समस्या मिली।

  • Name
    401 - Unauthorized
    Description

    API की मौजूद नहीं है या अमान्य है। Authorization हेडर जांचें।

  • Name
    402 - Payment Required
    Description

    इनमें से कोई एक लागू होता है:

    • अकाउंट में पर्याप्त क्रेडिट नहीं हैं।
    • API की, वर्कस्पेस, या सदस्य अपनी क्रेडिट लिमिट तक पहुंच गया है।
    • अकाउंट फ्री प्लान पर है।

    अपने क्रेडिट और प्लान की जांच करें, फिर फिर से कोशिश करें।

  • Name
    404 - Not Found
    Description

    input_task_id, API से आपके अकाउंट द्वारा बनाए गए किसी भी Lamp प्रोटोटाइप टास्क से मेल नहीं खाता। वेब ऐप में बना प्रोटोटाइप भी 404 लौटाता है। प्रोटोटाइप क्रिएट रिस्पॉन्स से result ID भेजें।

  • Name
    429 - Too Many Requests
    Description

    इनमें से एक लिमिट तक पहुंच गई थी:

    • आपने अपनी रेट लिमिट से ज़्यादा रिक्वेस्ट भेजी हैं। कुछ सेकंड प्रतीक्षा करें, फिर फिर से कोशिश करें। Rate limits देखें।
    • आपके बहुत सारे टास्क कतार में हैं या चल रहे हैं। कुछ के पूरा होने का इंतज़ार करें, फिर फिर से कोशिश करें।
    • बिना क्रेडिट बचे अनलिमिटेड प्लान पर, आप बिना क्रेडिट के चलने वाले टास्क की संख्या तक पहुंच गए हैं। किसी टास्क के पूरा होने का इंतज़ार करें, या क्रेडिट जोड़ें।

GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id

एक लैंप टास्क प्राप्त करें

यह एक prototype या build टास्क लौटाता है। पाथ को टास्क के स्टेज से मेल खाना चाहिए। /prototype/:id के माध्यम से अनुरोध किया गया build टास्क 404 लौटाता है, और इसी तरह /build/:id के माध्यम से अनुरोध किया गया prototype टास्क भी 404 लौटाता है।

फ़ील्ड्स के लिए, The Lamp prototype task object और The Lamp build task object देखें।

Request

GET
/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

पैरामीटर

  • Name
    id
    Type
    path
    Description

    क्रिएट रिस्पॉन्स से मिला टास्क ID।

रिटर्न

पाथ में दिए गए स्टेज के अनुसार, prototype task object या build task object।

विफलता की स्थितियां

  • Name
    400 - Bad Request
    Description

    id एक वैध टास्क ID नहीं है। क्रिएट रिस्पॉन्स से मिला result ID भेजें।

  • Name
    403 - Forbidden
    Description

    आपकी टीम में IP Filtering चालू है, और Meshy ने prototype टास्क की इमेज को थर्ड-पार्टी इंटेलेक्चुअल प्रॉपर्टी के लिए फ़्लैग किया है। build टास्क और Enterprise प्लान वाली टीमों को यह एरर नहीं मिलती। ऐसी इमेज से prototype टास्क बनाएं जिसका उपयोग करने का आपके पास अधिकार हो।

  • Name
    404 - Not Found
    Description

    इस ID वाला कोई लैंप टास्क आपके अकाउंट से संबंधित नहीं है, या टास्क का स्टेज पाथ से मेल नहीं खाता। ID जांचें, और टास्क से मेल खाने के लिए /prototype या /build का उपयोग करें।

  • Name
    500 - Internal Server Error
    Description

    Meshy इंटेलेक्चुअल प्रॉपर्टी चेक नहीं चला सका। अनुरोध को फिर से भेजें।


DELETE/openapi/creative-lab/lamp/v1/(prototype|build)/:id

Lamp टास्क को डिलीट करें

यह एक Lamp टास्क को कैंसल करता है। किसी PENDING टास्क को कैंसल करने पर उसके क्रेडिट रिफंड हो जाते हैं। IN_PROGRESS टास्क बिना रिफंड के कैंसल होता है, क्योंकि कोई वर्कर पहले ही उसे शुरू कर चुका होता है। जिस टास्क की स्थिति अंतिम हो (SUCCEEDED, FAILED, या CANCELED), उसे कैंसल नहीं किया जा सकता।

पाथ टास्क के चरण (stage) से मेल खाना चाहिए। उदाहरण के लिए, किसी बिल्ड टास्क की ID के साथ /prototype/:id पर DELETE करने पर 404 मिलता है।

Request

DELETE
/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

पाथ पैरामीटर

  • Name
    id
    Type
    path
    Description

    कैंसल करने वाले टास्क की ID।

रिटर्न

खाली बॉडी के साथ 204 No Content।

विफलता के मामले (Failure modes)

  • Name
    400 - Bad Request
    Description

    इनमें से कोई एक लागू होता है:

    • id एक वैध टास्क ID नहीं है। क्रिएट रिस्पॉन्स से मिली result ID भेजें।
    • टास्क की स्थिति पहले से ही अंतिम है (SUCCEEDED, FAILED, या CANCELED), इसलिए इसे कैंसल नहीं किया जा सकता।
  • Name
    404 - Not Found
    Description

    इस ID वाला कोई Lamp टास्क आपके अकाउंट से संबंधित नहीं है, या टास्क का चरण पाथ से मेल नहीं खाता। ID जांचें, और टास्क से मेल खाने के लिए /prototype या /build का उपयोग करें।


GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id/stream

एक Lamp टास्क को स्ट्रीम करें

किसी Lamp टास्क के अपडेट्स को Server-Sent Events (SSE) के रूप में स्ट्रीम करता है। पाथ को टास्क के स्टेज से मेल खाना चाहिए। अगर यह मेल नहीं खाता, उदाहरण के लिए किसी build टास्क की ID को /prototype/:id/stream पर इस्तेमाल करने पर, स्ट्रीम status_code: 404 के साथ एक error ईवेंट भेजती है और बंद हो जाती है।

Request

GET
/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
event: error
data: {
  "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 following PENDING frame is shortened to the fields that change.
event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

पैरामीटर

  • Name
    id
    Type
    path
    Description

    क्रिएट रिस्पॉन्स से मिली टास्क ID।

रिटर्न वैल्यू

prototype या build टास्क ऑब्जेक्ट्स की एक स्ट्रीम। हर ईवेंट में पूरा टास्क ऑब्जेक्ट होता है, जैसा कि एक Lamp टास्क प्राप्त करें रिटर्न करता है। जब तक टास्क PENDING या IN_PROGRESS है, इसके आउटपुट फ़ील्ड्स अभी भी खाली (null, [], या {}) रहते हैं, और finished_at null होता है।

अगर IP Filtering टास्क के परिणाम को ब्लॉक करती है, तो स्ट्रीम उसकी जगह एक error ईवेंट भेजती है, जिसमें वही status_code होता है जो get रिक्वेस्ट रिटर्न करती।


GET/openapi/creative-lab/lamp/v1/(prototype|build)

लैंप टास्क की सूची बनाएं

एक समय में एक पेज, एक स्टेज के आपके लैंप टास्क लौटाता है। पाथ स्टेज का चयन करता है। /prototype केवल prototype टास्क लौटाता है, और /build केवल build टास्क लौटाता है।

Request

GET
/openapi/creative-lab/lamp/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-lamp-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 30,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

Path parameters

  • Name
    stage
    Type
    path
    आवश्यक
    Description

    सूचीबद्ध करने के लिए स्टेज, prototype या build।

Query parameters

  • Name
    page_num
    Type
    integer
    डिफ़ॉल्ट 1
    Description

    लौटाने के लिए पेज, 1 से 255 तक। 0 पहला पेज लौटाता है। 0 से 255 के बाहर का मान 400 लौटाता है।

  • Name
    page_size
    Type
    integer
    डिफ़ॉल्ट 10
    Description

    प्रति पेज टास्क की संख्या, अधिकतम 100 तक। 101 से 255 तक का मान 100 टास्क लौटाता है, और 0 डिफ़ॉल्ट का उपयोग करता है। 0 से 255 के बाहर का मान 400 लौटाता है।

  • Name
    sort_by
    Type
    string
    डिफ़ॉल्ट -created_at
    Description

    सॉर्ट क्रम।

    उपलब्ध मान:

    • -created_at: सबसे नया पहले
    • +created_at: सबसे पुराना पहले

रिटर्न वैल्यू

prototype task objects या build task objects का एक ऐरे, जो पाथ में दिए गए स्टेज से मेल खाता है।


लैंप प्रोटोटाइप टास्क ऑब्जेक्ट

एक प्रोटोटाइप टास्क एक फ़ोटो से मैट-व्हाइट कॉन्सेप्ट इमेज जनरेट करता है और उसे एक 3D मॉडल में बदल देता है। प्रिंट करने योग्य पार्ट्स बनाने के लिए, टास्क की ID को बिल्ड एंडपॉइंट को input_task_id के रूप में पास करें।

Properties

Example Lamp Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}
  • Name
    id
    Type
    string
    Description

    टास्क ID। इसके फ़ॉर्मेट पर भरोसा न करें।

  • Name
    type
    Type
    string
    Description

    टास्क का प्रकार, हमेशा creative-lab-lamp-prototype।

  • Name
    name
    Type
    string
    Description

    टास्क बनाते समय आपके द्वारा भेजा गया name, या यदि आपने कोई नहीं भेजा तो ""।

  • Name
    status
    Type
    string
    Description

    टास्क की स्थिति।

    उपलब्ध मान:

    • PENDING: कतार में प्रतीक्षा कर रहा है
    • IN_PROGRESS: परिणाम जनरेट कर रहा है
    • SUCCEEDED: अंतिम, परिणाम के साथ
    • FAILED: अंतिम, कारण task_error में है
    • CANCELED: अंतिम, बिना किसी परिणाम के
  • Name
    progress
    Type
    integer
    Description

    किए गए काम का प्रतिशत, 0 से 100 तक। जब तक टास्क शुरू नहीं होता यह 0 रहता है और सफल होने पर 100 हो जाता है।

  • Name
    created_at
    Type
    timestamp
    Description

    टास्क बनाए जाने का समय, यूनिक्स मिलीसेकंड में।

  • Name
    started_at
    Type
    timestamp
    Description

    जिस समय किसी वर्कर ने टास्क शुरू किया, यूनिक्स मिलीसेकंड में। तब तक null रहता है।

  • Name
    finished_at
    Type
    timestamp
    Description

    जिस समय टास्क अंतिम स्थिति पर पहुंचा, यूनिक्स मिलीसेकंड में। तब तक null रहता है।

  • Name
    expires_at
    Type
    timestamp
    Description

    जिस समय टास्क के परिणाम की समय-सीमा समाप्त होती है, यूनिक्स मिलीसेकंड में। यह finished_at के 3 दिन बाद का होता है, या जब तक टास्क पूरा नहीं होता तब तक created_at के 3 दिन बाद का। Enterprise खातों के लिए, जो API परिणामों को अनिश्चित काल तक रखते हैं, यह लगभग 100 साल बाद का होता है। एसेट रिटेंशन देखें।

  • Name
    preceding_tasks
    Type
    integer
    Description

    जब टास्क PENDING होता है तो कतार में उसकी स्थिति। 1 का मतलब है कि यह अगली बार शुरू होगा। टास्क के कतार छोड़ने के बाद 0, और लिस्ट परिणामों में हमेशा 0।

  • Name
    task_error
    Type
    object
    Description

    टास्क क्यों विफल हुआ। जब तक status, FAILED न हो तब तक null। एरर देखें।

  • Name
    consumed_credits
    Type
    integer
    Description

    किसी भी रिफंड के बाद, टास्क के लिए चार्ज किए गए क्रेडिट की संख्या। जो रिक्वेस्ट एरर लौटाती है उसके लिए चार्ज नहीं लिया जाता। विफल टास्क के लिए यह 0 होता है, क्योंकि Meshy इसे रिफंड कर देता है। कैंसिल करने पर टास्क का रिफंड तभी होता है जब वह PENDING स्थिति में हो। यदि Meshy चार्ज नहीं पढ़ पाता, तो get या stream रिस्पॉन्स में यह फ़ील्ड छोड़ दी जाती है, और एक लिस्ट रिक्वेस्ट 500 लौटाती है। ऐसी स्थिति में, रिक्वेस्ट को फिर से आज़माएं।

  • Name
    model_urls
    Type
    object
    Description

    कॉन्सेप्ट इमेज से जनरेट किए गए 3D मॉडल के लिए डाउनलोड URL। जब तक टास्क सफल नहीं होता तब तक {}।

    • Name
      glb
      Type
      string
      Description

      लैंपशेड मॉडल के लिए डाउनलोड URL, एक GLB फ़ाइल के रूप में। बिल्ड स्टेज इस मॉडल को प्रिंट करने योग्य पार्ट्स में बदल देता है।

  • Name
    thumbnail_url
    Type
    string
    Description

    3D मॉडल की प्रिव्यू इमेज के लिए डाउनलोड URL। जब तक टास्क सफल नहीं होता तब तक ""।

  • Name
    image_urls
    Type
    array of strings
    Description

    कॉन्सेप्ट इमेज के लिए डाउनलोड URL। टास्क के सफल होने के बाद ऐरे में एक URL होता है, और तब तक यह खाली रहता है।


लैंप बिल्ड टास्क ऑब्जेक्ट

एक बिल्ड टास्क किसी सफल प्रोटोटाइप टास्क के 3D मॉडल को प्रिंट करने योग्य लैंपशेड पार्ट्स में बदल देता है। Meshy मॉडल को खोखला करता है और उसका निचला हिस्सा सपाट काट देता है। फिक्सचर प्रीसेट के साथ, यह नीचे का हिस्सा भी खोलता है और बेस प्लेट तथा फिक्सचर माउंट जोड़ता है।

Properties

Example Lamp Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}
  • Name
    id
    Type
    string
    Description

    टास्क ID। इसके फॉर्मैट पर निर्भर न रहें।

  • Name
    type
    Type
    string
    Description

    टास्क का प्रकार, हमेशा creative-lab-lamp-build।

  • Name
    name
    Type
    string
    Description

    टास्क बनाते समय आपने जो name भेजा था, या अगर आपने कोई नहीं भेजा तो ""।

  • Name
    status
    Type
    string
    Description

    टास्क की स्थिति।

    उपलब्ध मान:

    • PENDING: कतार में प्रतीक्षारत
    • IN_PROGRESS: परिणाम तैयार किया जा रहा है
    • SUCCEEDED: अंतिम, परिणाम के साथ
    • FAILED: अंतिम, कारण task_error में है
    • CANCELED: अंतिम, बिना किसी परिणाम के
  • Name
    progress
    Type
    integer
    Description

    पूरा किया गया कार्य, प्रतिशत में, 0 से 100 तक। जब तक टास्क शुरू नहीं होता यह 0 रहता है और सफल होने पर 100 हो जाता है।

  • Name
    created_at
    Type
    timestamp
    Description

    टास्क बनाए जाने का समय, यूनिक्स मिलीसेकंड में।

  • Name
    started_at
    Type
    timestamp
    Description

    जिस समय किसी वर्कर ने टास्क शुरू किया, यूनिक्स मिलीसेकंड में। तब तक null रहता है।

  • Name
    finished_at
    Type
    timestamp
    Description

    जिस समय टास्क किसी अंतिम स्थिति पर पहुँचा, यूनिक्स मिलीसेकंड में। तब तक null रहता है।

  • Name
    expires_at
    Type
    timestamp
    Description

    जिस समय टास्क का परिणाम समाप्त होता है, यूनिक्स मिलीसेकंड में। यह finished_at के 3 दिन बाद का समय है, या टास्क के पूर्ण होने तक created_at के 3 दिन बाद का। Enterprise खातों के लिए, जो API परिणामों को अनिश्चित काल तक बनाए रखते हैं, यह लगभग 100 साल बाद का समय होता है। देखें एसेट रिटेंशन।

  • Name
    preceding_tasks
    Type
    integer
    Description

    जब टास्क PENDING स्थिति में होता है, तब कतार में उसकी स्थिति। 1 का मतलब है कि यह अगली बार शुरू होगा। टास्क के कतार से बाहर निकलने के बाद 0, और लिस्ट परिणामों में हमेशा 0।

  • Name
    task_error
    Type
    object
    Description

    टास्क क्यों विफल हुआ। जब तक status, FAILED न हो, तब तक null। देखें एरर।

  • Name
    consumed_credits
    Type
    integer
    Description

    किसी भी रिफंड के बाद, टास्क के लिए चार्ज किए गए क्रेडिट की संख्या। जो अनुरोध एरर लौटाता है उससे शुल्क नहीं लिया जाता। विफल टास्क के लिए यह 0 होता है, क्योंकि Meshy उसे रिफंड कर देता है। टास्क को रद्द करने पर रिफंड केवल तभी मिलता है जब वह PENDING स्थिति में हो। यदि Meshy चार्ज नहीं पढ़ पाता, तो get या stream प्रतिक्रिया में यह फ़ील्ड नहीं दिखाई देती, और list अनुरोध 500 लौटाता है। ऐसे मामले में, अनुरोध को फिर से करें।

  • Name
    model_urls
    Type
    object
    Description

    प्रिंट करने योग्य फाइलों के लिए डाउनलोड URL। कौन-सी keys दिखाई देंगी यह output.format और options.light_source_preset पर निर्भर करता है।

    • Name
      lamp_stl
      Type
      string
      Description

      lamp.stl के लिए डाउनलोड URL। फिक्सचर प्रीसेट के साथ, यह फिक्सचर होल वाली बेस प्लेट के साथ खुले-नीचे वाला लैंपशेड होता है। options.light_source_preset को none पर सेट करने पर, यह एक सील्ड लैंपशेड होता है। जब output.format, stl हो तब मौजूद होता है।

    • Name
      base_stl
      Type
      string
      Description

      base.stl के लिए डाउनलोड URL, जो लाइट फिक्सचर का माउंट है। जब output.format, stl हो और options.light_source_preset, none न हो तब मौजूद होता है।

    • Name
      bundle_zip
      Type
      string
      Description

      एक zip फाइल के लिए डाउनलोड URL जिसमें lamp.stl होती है, और जब लागू हो तो base.stl तथा result.json भी होती हैं। जब output.format, zip हो तब मौजूद होता है, और तब lamp_stl तथा base_stl शामिल नहीं की जातीं।