Auto Split API
किसी 3D मॉडल को अलग-अलग प्रिंट करने योग्य भागों में विभाजित करें — स्वचालित रूप से, आपके द्वारा नामित भागों के अनुसार, या रंग क्षेत्र के अनुसार — वैकल्पिक कनेक्टर्स के साथ; कट से बचे पतले क्षेत्रों को हमेशा मजबूत किया जाता है ताकि हर भाग ठोस रूप से प्रिंट हो सके।
Auto Split वर्तमान में केवल बिना टेक्सचर वाले मॉडल्स को ही सपोर्ट करता है। इमेज से 3D और मल्टी-इमेज से 3D के लिए, इनपुट जनरेट करते समय should_texture को false सेट करें। टेक्सचर वाले इनपुट को 400 के साथ अस्वीकार कर दिया जाता है। टेक्सचर सपोर्ट अभी progress में है।
Auto Split टास्क बनाएँ
यह एंडपॉइंट एक नया Auto Split टास्क बनाता है। यह टास्क किसी पिछले टास्क के मॉडल को अलग-अलग प्रिंट किए जा सकने वाले हिस्सों में काटता है और सेगमेंटेड मॉडल लौटाता है, जिसमें हर हिस्सा फ़ाइल में अपना खुद का ऑब्जेक्ट होता है।
पैरामीटर
- Name
- input_task_id
- Type
- string
- आवश्यक
- Description
उस सफल टास्क की ID जिसके मॉडल को स्प्लिट करना है। समर्थित टास्क प्रकार: इमेज से 3D, मल्टी-इमेज से 3D, टेक्स्ट से 3D (प्रीव्यू), रीमेश, कन्वर्ट, और रीसाइज़। टास्क की स्थिति
SUCCEEDEDहोनी चाहिए, और इसका मॉडल Meshy 6 या Meshy 7 (ai_modelmeshy-6,meshy-7, याlatest) से जनरेट किया गया होना चाहिए। लो-पॉली और Smart Topology (meshy-t2) मॉडल समर्थित नहीं हैं।
- Name
- mode
- Type
- string
- डिफ़ॉल्ट auto
- Description
मॉडल को हिस्सों में कैसे बाँटा जाता है।
उपलब्ध मान:
auto: Meshy खुद कट चुनता है।promptको नज़रअंदाज़ किया जाता है।by_parts: आपके द्वाराpromptमें नामित संरचनात्मक हिस्सों के अनुसार काटता है, जैसे सिर, बाहें और धड़।by_color: आपके द्वाराpromptमें नामित रंग क्षेत्रों के अनुसार काटता है। इसके लिए ऐसे इनपुट की ज़रूरत होती है जो अपलोड की गई इमेज से जनरेट हुआ हो (इमेज से 3D या मल्टी-इमेज से 3D); अन्य इनपुट400के साथ अस्वीकार कर दिए जाते हैं।
mode = by_parts or by_color- Name
- prompt
- Type
- string
- आवश्यक
- Description
उन हिस्सों का वर्णन करता है जिनमें स्प्लिट करना है, किसी भी भाषा में। Meshy इससे 1 से 10 हिस्सों के नाम पढ़ता है, इसलिए मॉडल का वर्णन करने के बजाय हिस्सों के नाम बताएँ — उदाहरण के लिए
split into the figure and the base, याhead, torso, left arm, right arm, legs। अधिकतम 600 अक्षर। दो विफलता स्थितियाँ हैं: ऐसा विवरण जो स्प्लिट जैसा तो लगता है पर दो से कम हिस्सों के नाम बताता है (उदाहरण के लिएsplit into individual parts)400के साथ अस्वीकार कर दिया जाता है और कोई शुल्क नहीं लिया जाता; ऐसा विवरण जिसे Meshy बिल्कुल भी नहीं पढ़ पाता,autoपर वापस चला जाता है, टास्क फिर भी चलता है और उसका शुल्क लिया जाता है, और इसके रिस्पॉन्स मेंprompt_ignored: trueहोता है।
- Name
- target_formats
- Type
- array
- डिफ़ॉल्ट ["glb"]
- Description
वे फॉर्मेट जिनमें स्प्लिट किए गए मॉडल को एक्सपोर्ट करना है। हर फॉर्मेट में हर हिस्सा एक अलग ऑब्जेक्ट होता है।
glbहमेशा बनाया औरmodel_urlsमें लौटाया जाता है; इसके अलावा जो भी फॉर्मेट चाहिए उन्हें सूची में दें।उपलब्ध मान:
glb,obj,fbx,usdz,blend,3mf।3mfस्लाइसर के लिए तैयार किया जाता है: हर हिस्से के लिए एक ऑब्जेक्ट, हर एक अपने खुद के फिलामेंट स्लॉट पर, ताकि Bambu Studio फ़ाइल को अलग-अलग रंग वाले, अलग-अलग चुने जा सकने वाले हिस्सों के रूप में खोले (आर्काइव में एक Bambu Studio प्रोजेक्ट कॉन्फ़िगरेशन होता है; अन्य स्लाइसर सिर्फ़ ज्यामिति पढ़ते हैं)। Meshy के अन्य प्रिंट फॉर्मेट की तरह यह भी मिलीमीटर में होता है, और चूँकि यह एंडपॉइंट कोई लक्ष्य आकार नहीं लेता, इसलिए पूरे मॉडल को इस तरह स्केल किया जाता है कि उसकी सबसे लंबी भुजा 150 मिमी हो — यही सीमा अन्य प्रिंट-फॉर्मेट एक्सपोर्ट में भी इस्तेमाल होती है, जिसे हर मुख्यधारा के बिल्ड प्लेट में फिट होने के लिए चुना गया है।layout: "on_plate"के साथ यह सीमा पूरी लेआउट की गई प्लेट पर लागू होती है, ताकि फ़ाइल स्लाइस करने के लिए तैयार हो;assembledके साथ, हिस्से वहीं रहते हैं जहाँ सोर्स मॉडल में थे और आप उन्हें स्लाइसर में व्यवस्थित करते हैं।stlसमर्थित नहीं है क्योंकि यह फॉर्मेट अलग-अलग हिस्सों को नहीं रख सकता।
- Name
- layout
- Type
- string
- डिफ़ॉल्ट assembled
- Description
हर आउटपुट फॉर्मेट में, और थंबनेल में, हिस्सों को कैसे व्यवस्थित किया जाता है।
उपलब्ध मान:
assembled: हिस्से वहीं रहते हैं जहाँ सोर्स मॉडल में थे।on_plate: हिस्सों को समतल बिछाकर बिल्ड प्लेट पर फैला दिया जाता है, स्लाइस करने के लिए तैयार — यह वही व्यवस्था है जो वेब ऐप के On Plate व्यू में होती है।
दोनों लेआउट में एक्सपोर्ट की गई फ़ाइलों में प्रति हिस्सा एक ही ऑब्जेक्ट होता है और कुछ नहीं: कट से बची कोई सिकुड़ी हुई पतली परत या बिंदु जैसा टुकड़ा एक्सपोर्ट से पहले हटा दिया जाता है, ताकि फ़ाइल में मिलने वाला हर ऑब्जेक्ट प्रिंट करने योग्य हो।
- Name
- connectors
- Type
- boolean
- डिफ़ॉल्ट false
- Description
हर कट पर मोर्टाइज़-एंड-टेनन कनेक्टर जोड़ता है ताकि प्रिंट किए गए हिस्से आपस में फिट हो सकें।
connectors = true- Name
- connector_type
- Type
- string
- डिफ़ॉल्ट cube
- Description
हर कट सतह पर कनेक्टर का आकार।
उपलब्ध मान:
cube,cylinder।
- Name
- connector_size
- Type
- number
- डिफ़ॉल्ट 0.5
- Description
कट सतह के सापेक्ष कनेक्टर का आकार।
मान्य सीमा:
0.1से0.8।
- Name
- connector_height
- Type
- number
- डिफ़ॉल्ट 0.1
- Description
कनेक्टर कट सतह से कितनी दूर तक फैलता है, कट सतह के सापेक्ष।
मान्य सीमा:
0.1से0.8।
रिटर्न
रिस्पॉन्स की result प्रॉपर्टी में नए बनाए गए Auto Split टास्क की id होती है।
विफलता की स्थितियाँ
- Name
400 - Bad Request- Description
अनुरोध स्वीकार्य नहीं था। सामान्य कारण:
- prompt गायब है: जब
mode,by_partsयाby_colorहो, तोpromptआवश्यक है। - Prompt दो से कम हिस्सों के नाम बताता है:
by_parts/by_colorके लिए कम से कम दो नामित हिस्सों की ज़रूरत है (उदाहरण के लिएhead, torso, base);split into individual partsजैसा सामान्य निर्देश अस्वीकार कर दिया जाता है। कोई शुल्क नहीं लिया जाता। - असमर्थित इनपुट टास्क:
input_task_idको किसी समर्थित प्रकार के सफल टास्क को संदर्भित करना चाहिए, जो Meshy 6 या Meshy 7 से जनरेट किया गया हो। - टेक्सचर्ड इनपुट: इनपुट मॉडल में टेक्सचर हैं। फ़िलहाल केवल बिना टेक्सचर वाले मॉडल समर्थित हैं।
- कोई संदर्भ इमेज नहीं:
by_colorके लिए ऐसे इनपुट की ज़रूरत होती है जो अपलोड की गई इमेज से जनरेट हुआ हो। - असमर्थित फॉर्मेट:
target_formatsमेंstlशामिल है। - सीमा से बाहर कनेक्टर:
connector_sizeयाconnector_height,0.1से0.8की सीमा से बाहर है।
- prompt गायब है: जब
- Name
401 - Unauthorized- Description
प्रमाणीकरण विफल रहा। कृपया अपनी API की जाँच करें।
- Name
402 - Payment Required- Description
इस टास्क को पूरा करने के लिए पर्याप्त क्रेडिट नहीं हैं।
- Name
404 - Not Found- Description
input_task_idमौजूद नहीं है या आपके अकाउंट से संबंधित नहीं है।
- Name
429 - Too Many Requests- Description
आपने अपनी रेट लिमिट पार कर ली है।
by_partsऔरby_colorअनुरोध भी प्रति अकाउंट प्रति मिनट 12 अनुरोधों की एक साझा prompt-पार्सिंग सीमा साझा करते हैं।
- Name
503 - Service Unavailable- Description
Prompt-आधारित स्प्लिटिंग (
by_partsऔरby_color) अस्थायी रूप से अनुपलब्ध है। बाद में फिर से प्रयास करें, याmode: "auto"का उपयोग करें, जो इससे प्रभावित नहीं है। कोई शुल्क नहीं लिया जाता।
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Advanced request: name the parts, add connectors, export glb and obj
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"mode": "by_parts",
"prompt": "split into the figure and the base",
"target_formats": ["glb", "obj"],
"layout": "on_plate",
"connectors": true,
"connector_type": "cylinder",
"connector_size": 0.4
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Auto Split टास्क प्राप्त करें
यह एंडपॉइंट किसी Auto Split टास्क को उसकी ID के द्वारा प्राप्त करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
प्राप्त किए जाने वाले Auto Split टास्क की ID।
रिटर्न
Auto Split टास्क ऑब्जेक्ट।
Request
curl https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Auto Split टास्क को हटाएँ
यह एंडपॉइंट किसी Auto Split टास्क को स्थायी रूप से हटा देता है, जिसमें उससे जुड़े सभी मॉडल और डेटा शामिल हैं। यह कार्रवाई अपरिवर्तनीय है।
Path Parameters
- Name
- id
- Type
- path
- Description
हटाए जाने वाले Auto Split टास्क का ID।
Returns
सफल होने पर 200 OK लौटाता है।
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Auto Split टास्क की सूची
यह एंडपॉइंट आपको Auto Split टास्क की सूची प्राप्त करने की सुविधा देता है।
पैरामीटर
वैकल्पिक विशेषताएँ
- Name
- page_num
- Type
- integer
- Description
पेजिनेशन के लिए पेज नंबर। शुरुआत और डिफ़ॉल्ट
1है।
- Name
- page_size
- Type
- integer
- Description
पेज साइज़ की सीमा। डिफ़ॉल्ट रूप से
10आइटम। अधिकतम अनुमत100आइटम है; इससे बड़े मान100पर सीमित कर दिए जाते हैं।
- Name
- sort_by
- Type
- string
- Description
जिस फ़ील्ड से सॉर्ट करना है। उपलब्ध मान:
+created_at: निर्माण समय के आधार पर आरोही क्रम में सॉर्ट करें।-created_at: निर्माण समय के आधार पर अवरोही क्रम में सॉर्ट करें।
रिटर्न
यह The Auto Split Task Objects की एक पेजिनेटेड सूची लौटाता है।
Request
curl https://api.meshy.ai/openapi/v1/print/split?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
]
Auto Split टास्क को स्ट्रीम करें
यह एंडपॉइंट Server-Sent Events (SSE) का उपयोग करके किसी Auto Split टास्क के लिए रीयल-टाइम अपडेट स्ट्रीम करता है।
पैरामीटर
- Name
- id
- Type
- path
- Description
स्ट्रीम करने के लिए Auto Split टास्क का यूनीक आइडेंटिफ़ायर।
रिटर्न
Server-Sent Events के रूप में The Auto Split Task Objects की एक स्ट्रीम लौटाता है।
हर message इवेंट पूरा टास्क ऑब्जेक्ट ले जाता है, जैसा कि Retrieve an Auto Split Task से लौटाया जाता है, जिसमें consumed_credits, टाइमस्टैम्प और prompt_ignored शामिल हैं; जब टास्क PENDING या IN_PROGRESS होता है, तो फ़्रेम्स के बीच बदलने वाले फ़ील्ड्स progress, status, started_at और preceding_tasks होते हैं, और SUCCEEDED तक पहुँचने पर model_urls, thumbnail_url, part_count और parts दिखाई देते हैं। एक error इवेंट केवल status_code और message ले जाता है, इसलिए status पढ़ने से पहले इवेंट के नाम के आधार पर शाखा (branch) करें।
Request
curl -N https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress (other task fields omitted here for brevity;
// each frame is the full task object).
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
Auto Split टास्क ऑब्जेक्ट
एक Auto Split टास्क में केवल नीचे दिए गए properties होती हैं। अन्य टास्क ऑब्जेक्ट में शामिल जनरेशन-prompt फ़ील्ड (name, object_prompt, texture_prompt और अन्य), अकेला model_url, और texture_urls किसी split के लिए कभी भी भरे नहीं जाते और न ही लौटाए जाते हैं। टास्क चलने के दौरान भरने वाली properties (thumbnail_url, model_urls, टाइमस्टैंप) हमेशा मौजूद रहती हैं, जब तक इनमें कोई मान न हो तब तक ये खाली रहती हैं, इसलिए PENDING और SUCCEEDED के बीच keys का सेट नहीं बदलता।
- Name
- id
- Type
- string
- Description
टास्क के लिए यूनिक आइडेंटिफ़ायर। हालांकि हम इम्प्लीमेंटेशन डिटेल के रूप में टास्क id के लिए k-sortable UUID का उपयोग करते हैं, फिर भी आपको id के फॉर्मेट के बारे में कोई धारणा नहीं बनानी चाहिए।
- Name
- type
- Type
- string
- Description
टास्क का टाइप। इसका मान
print-splitहोता है।
- Name
- model_urls
- Type
- object
- Description
स्प्लिट किए गए मॉडल के लिए डाउनलोड करने योग्य URLs, प्रत्येक अनुरोधित फॉर्मेट के लिए एक। फ़ाइल में प्रत्येक पार्ट एक अलग ऑब्जेक्ट होता है। यदि किसी फॉर्मेट का अनुरोध नहीं किया गया था तो उसकी property को छोड़ दिया जाएगा।
- Name
glb- Type
- string
- Description
GLB फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
obj- Type
- string
- Description
OBJ फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
fbx- Type
- string
- Description
FBX फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
usdz- Type
- string
- Description
USDZ फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
blend- Type
- string
- Description
Blender फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL।
- Name
3mf- Type
- string
- Description
3MF फॉर्मेट में स्प्लिट किए गए मॉडल का डाउनलोड करने योग्य URL: प्रति पार्ट एक ऑब्जेक्ट, प्रत्येक अपने ही फ़िलामेंट स्लॉट पर, मिलीमीटर में, इस तरह स्केल किया गया कि सबसे लंबा किनारा 150 mm हो, साथ ही एक Bambu Studio प्रोजेक्ट कॉन्फ़िगरेशन के साथ।
- Name
- thumbnail_url
- Type
- string
- Description
अनुरोधित
layoutमें, प्रत्येक पार्ट को अलग रंग में दिखाते हुए, स्प्लिट किए गए मॉडल के रेंडर किए गए प्रीव्यू का डाउनलोड करने योग्य URL।
- Name
- prompt_ignored
- Type
- boolean
- Description
trueतब होता है जबby_partsयाby_colorअनुरोध केpromptमें किसी पार्ट का नाम नहीं लिया गया था, इसलिए Meshy ने मॉडल को अपने-आप स्प्लिट कर दिया — परिणाम में पार्ट के नाम Meshy के हैं, आपके नहीं। यहPENDINGसे लेकर तब तक मौजूद रहता है।autoटास्क के लिए और जब भी prompt का पालन किया गया हो, इसे छोड़ दिया जाता है।
- Name
- part_count
- Type
- integer
- Description
स्प्लिट किए गए मॉडल में प्रिंट करने योग्य पार्ट्स की संख्या — एक्सपोर्ट की गई फ़ाइलों में प्रत्येक ऑब्जेक्ट के लिए एक। जो ढहे हुए (collapsed) पतले हिस्से segmentation प्रिंट करने योग्य टुकड़े में नहीं बदल सका, उन्हें एक्सपोर्ट से पहले फ़ाइलों से हटा दिया जाता है और इन्हें गिना नहीं जाता।
- Name
- progress
- Type
- integer
- Description
टास्क की progress। यदि टास्क अभी शुरू नहीं हुआ है, तो यह property
0होगी। एक बार टास्क सफल हो जाने पर, यह100हो जाएगी।
- Name
- status
- Type
- string
- Description
टास्क की स्थिति। संभावित मान
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELEDमें से एक है।
- Name
- preceding_tasks
- Type
- integer
- Description
पूर्ववर्ती टास्क की संख्या।
इस फ़ील्ड का मान तभी सार्थक है जब टास्क की स्थिति
PENDINGहो।
- Name
- created_at
- Type
- timestamp
- Description
टास्क कब बनाया गया, इसका टाइमस्टैंप, मिलीसेकंड में।
- Name
- started_at
- Type
- timestamp
- Description
टास्क कब शुरू हुआ, इसका टाइमस्टैंप, मिलीसेकंड में। यदि टास्क अभी शुरू नहीं हुआ है, तो यह property
0होगी।
- Name
- finished_at
- Type
- timestamp
- Description
टास्क कब पूरा हुआ, इसका टाइमस्टैंप, मिलीसेकंड में। यदि टास्क अभी पूरा नहीं हुआ है, तो यह property
0होगी।
- Name
- task_error
- Type
- object
- Description
असफल टास्क के लिए एरर विवरण। पूरे
task_errorऑब्जेक्ट रेफ़रेंस के लिए एरर देखें।
- Name
- consumed_credits
- Type
- integer
- Description
इस टास्क द्वारा उपयोग किए गए क्रेडिट की संख्या। यह हमेशा मौजूद रहती है: टास्क स्वीकार हो जाने के बाद
10, औरFAILEDटास्क के लिए0क्योंकि विफलता पर शुल्क वापस कर दिया जाता है। टास्क कोPENDINGरहते हुए ही डिलीट करने पर भी उसका शुल्क वापस कर दिया जाता है।
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}