Creative Lab — कोलैप्सिबल फिजेट API

किसी सोर्स फोटो को प्रिंट-इन-प्लेस कोलैप्सिबल फिजेट टॉय में बदलें: विषय की सिल्हूट नेस्टेड कॉन्सेंट्रिक रिंगों के एक सेट में बदल जाती है जो सपाट होकर सिकुड़ जाती हैं और फिर से फैल जाती हैं, बिना किसी असेंबली के एक ही पीस में प्रिंट होती हैं।

  • POST /openapi/creative-lab/fidget-collapsible/v1

अन्य Creative Lab endpoints के विपरीत, इसमें कोई प्रोटोटाइप/बिल्ड स्टेज जोड़ी नहीं है — चुनने के लिए कोई इंटरमीडिएट कैंडिडेट नहीं होते, इसलिए एक ही टास्क इमेज को पूरी तरह 3D मॉडल तक ले जाता है। वेब ऐप जो ज्यामिति कंट्रोल्स दिखाता है (साइज़, लेयर काउंट, गैप विड्थ, दीवार की मोटाई, एक्सट्रूज़न डेप्थ, बल्ज) वे भी रिक्वेस्ट का हिस्सा नहीं हैं: हर टास्क समान सर्वर-साइड डिफॉल्ट्स के साथ बनता है।


POST/openapi/creative-lab/fidget-collapsible/v1

एक Collapsible Fidget Task बनाएं

एक सोर्स फोटो से collapsible fidget मॉडल जनरेट करें। रिस्पॉन्स के आकार के लिए The Collapsible Fidget Task Object देखें।

प्रत्येक task की लागत 6 क्रेडिट है और इसके लिए पेड प्लान आवश्यक है।

पैरामीटर

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

    Meshy के लिए collapsible fidget में बदलने हेतु सोर्स फोटो। हम वर्तमान में .jpg, .jpeg, .png, और .webp फॉर्मेट सपोर्ट करते हैं।

    इमेज प्रदान करने के दो तरीके हैं:

    • सार्वजनिक रूप से एक्सेस योग्य URL: एक URL जो पब्लिक इंटरनेट से एक्सेस किया जा सकता है।
    • Data URI: इमेज का base64-एन्कोडेड data URI। Data URI का उदाहरण: data:image/jpeg;base64,<your base64-encoded image data>

    एक स्पष्ट, बंद आउटलाइन वाला विषय सबसे बेहतर काम करता है — सिल्हूट ही रिंग्स बनता है। भीड़भाड़ वाले बैकग्राउंड, कई अलग-अलग विषय, या बहुत पतली आकृतियाँ नेस्टेड दीवारों के लिए बहुत कम जगह छोड़ सकती हैं, और task एक task error के साथ फेल हो जाता है।

  • Name
    name
    Type
    string
    Description

    डिस्प्ले प्रयोजनों के लिए वैकल्पिक task नाम। अधिकतम 100 वर्ण। यह केवल एक task लेबल है; मॉडल पर कुछ भी उकेरा नहीं जाता।

रिटर्न्स

रिस्पॉन्स की result प्रॉपर्टी में नए बनाए गए collapsible fidget task की task id होती है। Get a Task एंडपॉइंट को पोल करें या stream को तब तक सब्सक्राइब करें जब तक task SUCCEEDED तक न पहुँच जाए, फिर model_urls.stl से प्रिंट करने योग्य STL डाउनलोड करें (और, यदि उपलब्ध हो, तो पहले प्रीव्यू करने के लिए model_urls.glb से GLB भी डाउनलोड करें)।

फेलियर मोड्स

  • 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

    या तो आपका अकाउंट फ्री प्लान पर है — इस एंडपॉइंट पर task बनाने के लिए पेड प्लान आवश्यक है — या आपके पास पर्याप्त क्रेडिट नहीं हैं।

  • Name
    403 - Forbidden
    Description

    इनपुट इमेज को इंटेलेक्चुअल प्रॉपर्टी उल्लंघन के लिए फ्लैग किया गया था।

  • Name
    429 - Too Many Requests
    Description

    आपने अपनी रेट लिमिट पार कर ली है।

Request

POST
/openapi/creative-lab/fidget-collapsible/v1
curl https://api.meshy.cn/openapi/creative-lab/fidget-collapsible/v1 \
  -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>"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/creative-lab/fidget-collapsible/v1/:id

एक कोलैप्सिबल फिजेट टास्क प्राप्त करें

किसी वैध टास्क id के लिए एक कोलैप्सिबल फिजेट टास्क प्राप्त करें। केवल इस एंडपॉइंट के माध्यम से बनाए गए टास्क ही यहाँ एड्रेस किए जा सकते हैं — किसी अन्य Creative Lab एंडपॉइंट से बनाया गया टास्क, या वेब ऐप में बनाया गया टास्क, 404 लौटाता है।

रिस्पॉन्स के स्वरूप के लिए The Collapsible Fidget Task Object देखें।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    प्राप्त करने के लिए कोलैप्सिबल फिजेट टास्क का यूनिक आइडेंटिफायर।

रिटर्न

रिस्पॉन्स में कोलैप्सिबल फिजेट टास्क ऑब्जेक्ट होता है।

Request

GET
/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.cn/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}

DELETE/openapi/creative-lab/fidget-collapsible/v1/:id

Delete a Collapsible Fidget Task

एक कोलैप्सिबल फ़िजेट टास्क को कैंसल करें। यदि टास्क अभी भी PENDING है, तो क्रिएट-टाइम पर उपयोग किए गए क्रेडिट रिफंड कर दिए जाते हैं। जो टास्क पहले से IN_PROGRESS हैं, उन्हें बिना रिफंड के कैंसल किया जाता है (हो सकता है कि वर्कर पहले से ही रिसोर्सेज़ खर्च कर रहा हो)। जो टास्क पहले से ही किसी अंतिम स्थिति (SUCCEEDED, FAILED, CANCELED) पर पहुँच चुके हैं, उन्हें कैंसल नहीं किया जा सकता।

Path Parameters

  • Name
    id
    Type
    path
    Description

    कैंसल किए जाने वाले कोलैप्सिबल फ़िजेट टास्क के लिए यूनीक आइडेंटिफ़ायर।

Returns

सफलता पर खाली बॉडी के साथ 204 No Content लौटाता है।

Failure Modes

  • Name
    400 - Bad Request
    Description

    टास्क पहले से ही एक अंतिम स्थिति में है और इसे कैंसल नहीं किया जा सकता।

  • Name
    404 - Not Found
    Description

    टास्क मौजूद नहीं है, किसी अन्य यूज़र से संबंधित है, या इस एंडपॉइंट के माध्यम से नहीं बनाया गया था।

Request

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

Response

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

GET/openapi/creative-lab/fidget-collapsible/v1/:id/stream

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

Server-Sent Events (SSE) के माध्यम से एक collapsible fidget टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करें। एक ऐसा टास्क जो मौजूद नहीं है, या जिसे इस एंडपॉइंट के माध्यम से नहीं बनाया गया था, एक ही event: error पेलोड status_code: 404 के साथ भेजता है और स्ट्रीम को बंद कर देता है।

पैरामीटर

  • Name
    id
    Type
    path
    Description

    स्ट्रीम किए जाने वाले collapsible fidget टास्क के लिए यूनीक आइडेंटिफ़ायर।

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

Server-Sent Events के रूप में Collapsible Fidget टास्क ऑब्जेक्ट्स की एक स्ट्रीम रिटर्न करता है। PENDING या IN_PROGRESS टास्क के लिए, रिस्पॉन्स स्ट्रीम में केवल आवश्यक progress और status फ़ील्ड शामिल होंगे।

Request

GET
/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.cn/openapi/creative-lab/fidget-collapsible/v1/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (task not found, or not created through this endpoint)
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}

GET/openapi/creative-lab/fidget-collapsible/v1

संग्रहणीय (Collapsible) फिजेट टास्क की सूची

अपने संग्रहणीय (collapsible) फिजेट टास्क की पेजिनेटेड सूची प्राप्त करें। केवल इस एंडपॉइंट के माध्यम से बनाए गए टास्क ही शामिल किए जाते हैं।

क्वेरी पैरामीटर

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

    पेजिनेशन के लिए पेज नंबर।

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

    पेज साइज सीमा। अधिकतम अनुमत 100 आइटम हैं।

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

    जिस फ़ील्ड के आधार पर सॉर्ट करना है। उपलब्ध मान:

    • +created_at: निर्माण समय के आधार पर आरोही क्रम में सॉर्ट करें।
    • -created_at: निर्माण समय के आधार पर अवरोही क्रम में सॉर्ट करें।

रिटर्न्स

संग्रहणीय फिजेट टास्क ऑब्जेक्ट की एक पेजिनेटेड सूची लौटाता है।

Request

GET
/openapi/creative-lab/fidget-collapsible/v1
curl https://api.meshy.cn/openapi/creative-lab/fidget-collapsible/v1?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-fidget-collapsible",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123512000,
    "expires_at": 1729382712000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "model_urls": {
      "glb": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "stl": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
    }
  }
]

द कोलैप्सिबल फिजेट टास्क ऑब्जेक्ट

द कोलैप्सिबल फिजेट टास्क ऑब्जेक्ट एक वर्क यूनिट है जिसे Meshy एक सोर्स फोटो को प्रिंट-इन-प्लेस कोलैप्सिबल फिजेट मॉडल में बदलने के लिए ट्रैक करता है। यह एक सिंगल-स्टेज टास्क है: यहाँ चेन करने के लिए कोई प्रोटोटाइप नहीं होता, और इंटरमीडिएट सिल्हूट रिस्पॉन्स का हिस्सा नहीं होता।

Properties

  • Name
    id
    Type
    string
    Description

    टास्क के लिए यूनिक आइडेंटिफायर। जबकि हम इम्प्लीमेंटेशन डिटेल के रूप में टास्क id के लिए k-sortable UUID का उपयोग करते हैं, आपको id के फॉर्मेट के बारे में कोई धारणा नहीं बनानी चाहिए।

  • Name
    type
    Type
    string
    Description

    टास्क का टाइप। इसका वैल्यू creative-lab-fidget-collapsible है।

  • Name
    name
    Type
    string
    Description

    टास्क बनाते समय दिया गया टास्क नाम। यदि कोई नाम नहीं दिया गया था, तो यह खाली स्ट्रिंग होगा।

  • Name
    status
    Type
    string
    Description

    टास्क की स्थिति। संभावित वैल्यू PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED में से कोई एक है।

  • Name
    progress
    Type
    integer
    Description

    टास्क की progress। यदि टास्क अभी शुरू नहीं हुआ है, तो यह प्रॉपर्टी 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

    टास्क के परिणाम की समाप्ति का टाइमस्टैंप, मिलीसेकंड में।

  • Name
    preceding_tasks
    Type
    integer
    Description

    पूर्ववर्ती टास्क की संख्या।

  • Name
    task_error
    Type
    object
    Description

    विफल टास्क के लिए एरर की डिटेल। पूरे task_error ऑब्जेक्ट संदर्भ के लिए एरर देखें।

  • Name
    consumed_credits
    Type
    integer
    Description

    इस टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या। यह तब मौजूद होता है जब टास्क की स्थिति PENDING, IN_PROGRESS, या SUCCEEDED हो। FAILED टास्क के लिए 0 रिटर्न करता है (विफलता पर क्रेडिट रिफंड कर दिए जाते हैं)।

  • Name
    model_urls
    Type
    object
    Description

    जनरेट किए गए 3D मॉडल के लिए डाउनलोड योग्य URL। टास्क SUCCEEDED होने के बाद भरा जाता है: stl हमेशा मौजूद होता है, glb केवल तब जब प्रीव्यू रेंडर सफल हुआ हो।

    • Name
      stl
      Type
      string
      Description

      STL फ़ाइल का डाउनलोड योग्य URL। यह प्रिंट करने योग्य डिलिवरेबल है — इसे सीधे स्लाइसर पर भेजें।

    • Name
      glb
      Type
      string
      Description

      GLB फ़ाइल का डाउनलोड योग्य URL, मॉडल को 3D व्यूअर में प्रीव्यू करने के लिए। इसके रंग केवल प्रीव्यू के लिए हैं: STL में कोई रंग नहीं होता, और प्रिंट किया गया फिजेट अपना रंग फिलामेंट से लेता है। GLB बेस्ट-एफर्ट है: जब प्रीव्यू रेंडर उपलब्ध नहीं होता है, तो model_urls से यह कुंजी पूरी तरह छोड़ दी जाती है, इसलिए इसे सुरक्षात्मक तरीके से पढ़ें — stl ही डिलिवरेबल है और SUCCEEDED टास्क पर हमेशा मौजूद रहता है।

Example Collapsible Fidget Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-fidget-collapsible",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123512000,
  "expires_at": 1729382712000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "glb": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "stl": "https://assets.meshy.cn/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  }
}