แอนิเมชัน API
Endpoints สำหรับค้นหาแอนิเมชันที่มีอยู่และนำไปใช้กับตัวละครที่มี rig
สร้างงานแอนิเมชัน
เอนด์พอยต์นี้ช่วยให้คุณสร้างงานใหม่เพื่อนำแอนิเมชันไปใช้กับตัวละครที่ทำการ rigging ไว้ก่อนหน้านี้ — โดยเป็นแอ็กชันสำเร็จรูปจากคลังแอนิเมชัน (action_id), แอ็กชันสำเร็จรูปหลายรายการรวมเป็นไฟล์เดียว (action_ids) หรือคลิปการเคลื่อนไหวที่คุณสร้างด้วย Text to Motion APImotion_task_id) รวมถึงตัวเลือกการประมวลผลภายหลัง
พารามิเตอร์
- Name
- rig_task_id
- Type
- string
- จำเป็น
- Description
idของงาน rigging ที่เสร็จสมบูรณ์แล้ว (จากPOST /openapi/v1/rigging) ตัวละครจากงานนี้จะถูกนำมาทำแอนิเมชัน
- Name
- action_id
- Type
- integer
- Description
ตัวระบุของแอ็กชันแอนิเมชันสำเร็จรูปที่จะนำไปใช้ ดูรายการแอนิเมชันที่มีให้ใช้งานทั้งหมดได้ที่ Animation Library Reference
ให้ระบุค่าใดค่าหนึ่งเพียงหนึ่งเดียวจากaction_id,action_idsหรือmotion_task_id
- Name
- action_ids
- Type
- array of integers
- Description
แอ็กชันแอนิเมชันสำเร็จรูปหลายรายการที่จะนำไปใช้พร้อมกัน ซึ่งจะถูกส่งกลับมาเป็นไฟล์เดียวที่มีคลิปแอนิเมชันหนึ่งคลิปต่อหนึ่งแอ็กชัน — มีประโยชน์สำหรับการขับเคลื่อนตัวละครจาก state machine ในเกมเอนจิน ให้ระบุค่า
action_idจำนวน 1 ถึง 10 ค่าจาก Animation Library Reference โดย id ต้องไม่ซ้ำกัน มีค่าใช้จ่าย 3 เครดิตต่อหนึ่งแอ็กชัน ให้ระบุค่าใดค่าหนึ่งเพียงหนึ่งเดียวจากaction_id,action_idsหรือmotion_task_idการส่ง
action_idsที่มีสมาชิกเพียงตัวเดียวมีผลเทียบเท่ากับการส่งค่านั้นเป็นaction_id
- Name
- motion_task_id
- Type
- string
- Description
idของงาน Text to Motion ที่เสร็จสมบูรณ์แล้ว ซึ่งจะนำมาใช้แทนแอ็กชันสำเร็จรูป คลิปที่สร้างขึ้นจะถูก retarget ไปยังตัวละครที่ทำ rigging ไว้ และคลิปจะถูกบันทึกสแนปช็อตไว้ ณ เวลาที่สร้าง ดังนั้นงานนี้จะไม่ได้รับผลกระทบหากงานต้นทางหมดอายุหรือถูกลบในภายหลัง แอสเซตของงานต้นทางจะถูกเก็บรักษาไว้ 3 วัน — ควรนำคลิปไปใช้ก่อนที่จะหมดอายุ ต้องใช้ rig แบบสองขา ให้ระบุค่าใดค่าหนึ่งเพียงหนึ่งเดียวจากaction_id,action_idsหรือmotion_task_id
- Name
- post_process
- Type
- object
- Description
ตัวเลือกการประมวลผลภายหลังสำหรับผลลัพธ์แอนิเมชัน สามารถละเว้นได้เพื่อรับไฟล์แอนิเมชันแบบมาตรฐาน
post_process is set- Name
- operation_type
- Type
- string
- จำเป็น
- Description
ประเภทของการดำเนินการที่จะทำ ค่าที่ใช้ได้:
change_fps,fbx2usdz,extract_armature
- Name
- fps
- Type
- integer
- ค่าเริ่มต้น 30
- Description
อัตราเฟรมเป้าหมาย ใช้ได้เฉพาะเมื่อ
operation_typeเป็นchange_fpsค่าที่อนุญาต:24,25,30,60
เมื่อใช้ action_ids งานจะส่งคืนไฟล์รวมเพียงไฟล์เดียวแทนที่จะเป็นไฟล์แยกต่อแอ็กชัน: animation_glb_url และ animation_fbx_url แต่ละตัวจะชี้ไปยังแอสเซตเดียวที่มีทุกแอ็กชันที่ร้องขอเป็นคลิปแยกกัน
- ลำดับคลิป: เป็นไปตามลำดับของอาร์เรย์
action_idsไม่ใช่ลำดับตัวเลขของ id - ชื่อคลิป: ชื่อของแอนิเมชันในคลัง ซึ่งตรงกับชื่อที่คุณจะได้เมื่อส่งออกแอนิเมชันทั้งหมดของตัวละครเป็นไฟล์เดียวจากเว็บแอป Meshy หากมีสอง id ที่ร้องขอแล้วได้ชื่อคลิปเดียวกัน id ที่มาทีหลังจะถูกต่อท้ายด้วย
action_idของมันเพื่อให้ชื่อไม่ซ้ำกัน - การประมวลผลภายหลัง: นำไปใช้กับไฟล์รวม ไม่ใช่กับคลิปแต่ละคลิป
เมื่อใช้ motion_task_id การ retarget อาจสร้างแอนิเมชันแบบ GLB เท่านั้น หากคุณร้องขอ post_process และไม่มีไฟล์ FBX ให้ใช้ งานจะล้มเหลวด้วย task_error และเครดิตของคุณจะถูกคืนโดยอัตโนมัติ หากไม่ได้ระบุ post_process งานจะสำเร็จและ animation_fbx_url จะว่างเปล่า
ผลลัพธ์ที่ได้รับ
พร็อพเพอร์ตี้ result ของการตอบกลับจะมี id ของงานแอนิเมชันที่เพิ่งสร้างขึ้น
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่สามารถยอมรับได้ สาเหตุที่พบบ่อย:
- ขาดพารามิเตอร์:
rig_task_idหายไป หรือไม่ได้ระบุaction_id,action_idsหรือmotion_task_idเลยสักตัว - พารามิเตอร์ขัดแย้งกัน: ระบุ
action_id,action_idsและmotion_task_idมากกว่าหนึ่งตัว — พารามิเตอร์เหล่านี้แยกกันเป็นเอกเทศ - งาน rig ไม่ถูกต้อง:
rig_task_idไม่ถูกต้อง หรืออ้างอิงถึงงานที่ล้มเหลว/ไม่มีอยู่จริง - Action ID ไม่ถูกต้อง:
action_id— หรือรายการหนึ่งในaction_ids— ไม่ตรงกับแอนิเมชันที่ถูกต้อง - มีแอ็กชันมากเกินไป:
action_idsมีจำนวน id มากกว่า 10 รายการ - แอ็กชันซ้ำ:
action_idsมี id เดียวกันปรากฏมากกว่าหนึ่งครั้ง - งาน motion ยังไม่พร้อม: งาน
motion_task_idยังไม่SUCCEEDED - ไม่รองรับ rig:
motion_task_idต้องใช้ rig แบบสองขา rig แบบสี่ขาจะถูกปฏิเสธ
- ขาดพารามิเตอร์:
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว กรุณาตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
404 - Not Found- Description
ไม่พบงาน rigging ที่ระบุโดย
rig_task_id, ไม่พบงาน motion ที่ระบุโดยmotion_task_id, หรือคลิปการเคลื่อนไหวหมดอายุแล้ว (แอสเซตของงานต้นทางจะถูกเก็บรักษาไว้ 3 วัน)
- Name
429 - Too Many Requests- Description
คุณได้เกินการจำกัดอัตราของคุณแล้ว
Request
# Animate a rigged model with required params only
curl https://api.meshy.ai/openapi/v1/animations \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"action_id": 92
}'
# Apply several preset actions and get one file with one clip per action
curl https://api.meshy.ai/openapi/v1/animations \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"action_ids": [10, 25, 92]
}'
# Apply a generated Text to Motion clip instead of a preset action
curl https://api.meshy.ai/openapi/v1/animations \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"motion_task_id": "018c425b-b2c6-727e-d333-3c1887i9h791"
}'
# With post-processing to change FPS
curl https://api.meshy.ai/openapi/v1/animations \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"rig_task_id": "018b314a-a1b5-716d-c222-2f1776f7f579",
"action_id": 92,
"post_process": {
"operation_type": "change_fps",
"fps": 24
}
}'
Response
{
"result": "018c425b-b2c6-727e-d333-3c1887i9h791"
}
เรียกดูงานแอนิเมชัน
เอนด์พอยต์นี้ช่วยให้คุณเรียกดูงานแอนิเมชันได้โดยระบุ id ของงานที่ถูกต้อง ดูรายละเอียดคุณสมบัติที่มีอยู่ได้ที่ The Animation Task Object
พารามิเตอร์
- Name
- id
- Type
- path
- Description
รหัสเฉพาะสำหรับงานแอนิเมชันที่ต้องการเรียกดู
ค่าที่ส่งกลับ
การตอบกลับจะมีอ็อบเจ็กต์ Animation Task รวมอยู่ด้วย ดูรายละเอียดได้ในหัวข้อ The Animation Task Object
Request
curl https://api.meshy.ai/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "animate",
"status": "SUCCEEDED",
"created_at": 1747032440896,
"progress": 100,
"started_at": 1747032441210,
"finished_at": 1747032457530,
"expires_at": 1747291657530,
"task_error": {
"message": ""
},
"consumed_credits": 3,
"result": {
"animation_glb_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/Animation_Reaping_Swing_withSkin.glb?Expires=...",
"animation_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/Animation_Reaping_Swing_withSkin.fbx?Expires=...",
"processed_usdz_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed.usdz?Expires=...",
"processed_armature_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed_armature.fbx?Expires=...",
"processed_animation_fps_fbx_url": "https://assets.meshy.ai/0630d47c-84b8-4d37-bc02-69e45d9272c1/tasks/018c425b-b2c6-727e-d333-3c1887i9h791/output/processed_60fps.fbx?Expires=..."
},
"preceding_tasks": 0
}
ลบงานแอนิเมชัน
เอนด์พอยต์นี้จะลบงานแอนิเมชันอย่างถาวร รวมถึงโมเดลและข้อมูลทั้งหมดที่เกี่ยวข้อง การกระทำนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์พาธ
- Name
- id
- Type
- path
- Description
ID ของงานแอนิเมชันที่ต้องการลบ
สถานะของงาน
งานที่ยังอยู่ในสถานะ PENDING จะถูกลบและเครดิตที่ถูกใช้ไปตอนสร้างงานจะถูกคืนให้
งานที่อยู่ในสถานะ IN_PROGRESS แล้วไม่สามารถลบได้ คำขอจะถูกปฏิเสธด้วย 409 Conflict และงานจะยังคงทำงานต่อไป เครดิตสำหรับงานที่ worker เริ่มดำเนินการไปแล้วจะไม่สามารถขอคืนได้ ดังนั้นการลบงานระหว่างที่กำลังทำงานจะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ ให้รอจนกว่างานจะถึงสถานะ
SUCCEEDED, FAILED หรือ CANCELED แล้วจึงค่อยลบ
งานที่อยู่ในสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) จะถูกลบโดยไม่มีการคืนเครดิต
ค่าที่ส่งกลับ
ส่งกลับ 200 OK เมื่อสำเร็จ หรือ 409 Conflict เมื่องานอยู่ในสถานะ
IN_PROGRESS
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/animations/018b314a-a1b5-716d-c222-2f1776f7f579 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
List Animation Tasks
ส่งคืนรายการงานแอนิเมชันของผู้เรียกใช้แบบแบ่งหน้า โดยเรียงจากล่าสุดไปเก่าสุด ใช้การแบ่งหน้ามาตรฐานผ่าน page_num และ page_size
โปรดทราบว่างานที่สร้างผ่าน API จะถูกจัดการผ่าน API เท่านั้น — งานเหล่านี้จะไม่ปรากฏใน My Assets ของเว็บแอป ใช้เอนด์พอยต์นี้เพื่อค้นหางานที่คุณไม่มี ID อีกต่อไป
Request
curl "https://api.meshy.ai/openapi/v1/animations?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
สตรีมงานแอนิเมชัน
เอนด์พอยต์นี้จะสตรีมข้อมูลอัปเดตแบบเรียลไทม์สำหรับงานแอนิเมชันโดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานแอนิเมชันที่ต้องการสตรีม
สิ่งที่ส่งกลับ
ส่งคืนสตรีมของ The Animation Task Objects ในรูปแบบ Server-Sent Events
สำหรับงานที่มีสถานะ PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะรวมเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น
Request
curl -N https://api.meshy.ai/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"progress": 50,
"status": "IN_PROGRESS"
}
event: message
data: { // Example of a SUCCEEDED task stream item, mirroring The Animation Task Object structure
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "animate",
"status": "SUCCEEDED",
"created_at": 1747032440896,
"progress": 100,
"started_at": 1747032441210,
"finished_at": 1747032457530,
"expires_at": 1747291657530,
"task_error": {
"message": ""
},
"consumed_credits": 3,
"result": {
"animation_glb_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...",
"animation_fbx_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...",
"processed_usdz_url": "https://assets.meshy.ai/.../processed.usdz?...",
"processed_armature_fbx_url": "https://assets.meshy.ai/.../processed_armature.fbx?...",
"processed_animation_fps_fbx_url": "https://assets.meshy.ai/.../processed_60fps.fbx?..."
},
"preceding_tasks": 0
}
The Animation Task Object
Animation Task object แสดงถึงหน่วยงานสำหรับการใส่แอนิเมชันให้กับตัวละครที่มีการริกไว้แล้ว
คุณสมบัติ
- Name
- id
- Type
- string
- Description
ตัวระบุเฉพาะสำหรับงานนี้
- Name
- type
- Type
- string
- Description
ประเภทของงาน Animation ค่านี้คือ
animate
- Name
- status
- Type
- string
- Description
สถานะของงาน ค่าที่เป็นไปได้:
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED
- Name
- progress
- Type
- integer
- Description
ความคืบหน้าของงาน (0-100)
- Name
- created_at
- Type
- timestamp
- Description
ไทม์สแตมป์ (มิลลิวินาทีนับตั้งแต่ epoch) เมื่อสร้างงานนี้
ไทม์สแตมป์แสดงถึงจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 UTC ตามมาตรฐาน RFC 3339
ตัวอย่างเช่น วันศุกร์ที่ 1 กันยายน 2023 เวลา 12:00:00 น. GMT จะแสดงเป็น1693569600000ซึ่งใช้กับ ไทม์สแตมป์ทั้งหมดใน Meshy API
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ (มิลลิวินาทีนับตั้งแต่ epoch) เมื่องานเริ่มดำเนินการ ค่าเป็น
0หากยังไม่เริ่ม
- Name
- finished_at
- Type
- timestamp
- Description
ไทม์สแตมป์ (มิลลิวินาทีนับตั้งแต่ epoch) เมื่องานเสร็จสิ้น ค่าเป็น
0หากยังไม่เสร็จสิ้น
- Name
- expires_at
- Type
- timestamp
- Description
ไทม์สแตมป์ (มิลลิวินาทีนับตั้งแต่ epoch) เมื่อผลลัพธ์ asset ของงานนี้หมดอายุ
- Name
- task_error
- Type
- object
- Description
รายละเอียดข้อผิดพลาดสำหรับงานที่ล้มเหลว ดู ข้อผิดพลาด สำหรับข้อมูลอ้างอิงฉบับเต็มของอ็อบเจ็กต์
task_error
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่ใช้ไปสำหรับงานนี้ จะปรากฏเมื่อสถานะของงานเป็น
PENDING,IN_PROGRESS, หรือSUCCEEDEDจะคืนค่า0สำหรับงานที่FAILED(เครดิตจะถูกคืนเมื่อล้มเหลว)
- Name
- result
- Type
- object
- Description
มี URL ของแอนิเมชันผลลัพธ์หากงาน
SUCCEEDED- Name
animation_glb_url- Type
- string
- Description
- URL สำหรับดาวน์โหลดแอนิเมชันในรูปแบบ GLB สำหรับงานที่สร้างด้วย
action_idsไฟล์เดียวนี้จะมีทุกแอ็กชันที่ร้องขอเป็นคลิปแยกกัน
- Name
animation_fbx_url- Type
- string
- Description
- URL สำหรับดาวน์โหลดแอนิเมชันในรูปแบบ FBX สำหรับงานที่สร้างด้วย
action_idsไฟล์เดียวนี้จะมีทุกแอ็กชันที่ร้องขอเป็นคลิปแยกกัน
- Name
processed_usdz_url- Type
- string
- Description
- URL สำหรับดาวน์โหลดแอนิเมชันที่ผ่านการประมวลผลในรูปแบบ USDZ
- Name
processed_armature_fbx_url- Type
- string
- Description
- URL สำหรับดาวน์โหลดอาร์เมเจอร์ที่ผ่านการประมวลผลในรูปแบบ FBX
- Name
processed_animation_fps_fbx_url- Type
- string
- Description
- URL สำหรับดาวน์โหลดแอนิเมชันที่เปลี่ยน FPS แล้วในรูปแบบ FBX (เช่น หากมีการใช้การดำเนินการ
change_fps)
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนงานที่อยู่ก่อนหน้าในคิว มีความหมายก็ต่อเมื่อสถานะเป็น
PENDING
Example Animation Task Object
{
"id": "018c425b-b2c6-727e-d333-3c1887i9h791",
"type": "animate",
"status": "SUCCEEDED",
"created_at": 1747032440896,
"progress": 100,
"started_at": 1747032441210,
"finished_at": 1747032457530,
"expires_at": 1747291657530,
"task_error": {
"message": ""
},
"consumed_credits": 3,
"result": {
"animation_glb_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.glb?...",
"animation_fbx_url": "https://assets.meshy.ai/.../Animation_Reaping_Swing_withSkin.fbx?...",
"processed_usdz_url": "https://assets.meshy.ai/.../processed.usdz?...",
"processed_armature_fbx_url": "https://assets.meshy.ai/.../processed_armature.fbx?...",
"processed_animation_fps_fbx_url": "https://assets.meshy.ai/.../processed_60fps.fbx?..."
},
"preceding_tasks": 0
}
List Animations
ส่งคืนแอนิเมชันทุกรายการในคลัง โดยเรียงตาม action_id การตอบกลับเป็นรายการที่สมบูรณ์แทนที่จะเป็นการแบ่งหน้า ดังนั้นการเรียกเพียงครั้งเดียวก็เพียงพอสำหรับเติมข้อมูลให้ตัวเลือกแอ็กชัน ตัวกรองจะจำกัดผลลัพธ์ให้แคบลง หากละเว้นตัวกรองทั้งหมดจะได้รับข้อมูลทั้งหมด
หากต้องการเรียกดูแคตตาล็อกเดียวกันด้วยสายตา พร้อมตัวอย่างแอนิเมชันของแต่ละแอ็กชัน ดูได้ที่ ข้อมูลอ้างอิงคลังแอนิเมชัน
เอนด์พอยต์นี้ใช้งานฟรี — ไม่มีการใช้เครดิต
พารามิเตอร์
- Name
- search
- Type
- string
- Description
การจับคู่สตริงย่อยแบบไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่กับ
nameหรือkeyจะจับคู่แบบตรงตัวอักษร ดังนั้น%และ_เป็นเพียงอักขระธรรมดา ไม่ใช่ไวลด์การ์ด
- Name
- category
- Type
- string
- Description
จับคู่แบบตรงทั้งหมดกับ
categoryค่าที่ใช้ได้:
WalkAndRunBodyMovementsDailyActionsFightingDancing
- Name
- sub_category
- Type
- string
- Description
จับคู่แบบตรงทั้งหมดกับ
sub_categoryสามารถใช้ค่านี้เพียงลำพังได้ — ชื่อของ sub-category ไม่ได้ไม่ซ้ำกันในทุกหมวดหมู่ (Transitioningปรากฏอยู่ทั้งในFightingและDailyActions) ดังนั้นหากไม่มีcategoryตัวกรองจะจับคู่ sub-category นั้นไม่ว่าจะปรากฏที่ใดก็ตาม
- Name
- action_ids
- Type
- string
- Description
รายการค่า
action_idที่คั่นด้วยเครื่องหมายจุลภาคเพื่อส่งคืน สำหรับการระบุ id ที่เจาะจงแทนการเรียกดูทั่วไป รับได้สูงสุด 200 id หาก id ใดไม่มีแอนิเมชันใดถืออยู่ก็จะไม่ปรากฏในผลลัพธ์เฉยๆ ดังนั้นคุณยังสามารถใช้สิ่งนี้เพื่อตรวจสอบว่า id ที่คุณจัดเก็บไว้ยังใช้งานได้อยู่หรือไม่
การรวมตัวกรอง
ตัวกรองจะถูกนำมาใช้ร่วมกัน — แต่ละตัวจะจำกัดผลลัพธ์ให้แคบลงไปอีก ดังนั้นแอนิเมชันจะถูกส่งคืนก็ต่อเมื่อตรงตามเงื่อนไขทั้งหมด ภายในตัวกรองเดียว หลายค่าจะจับคู่กับค่าใดค่าหนึ่ง: search จับคู่กับ name หรือ key และ action_ids จับคู่กับ id ใดๆ ในรายการ
นั่นหมายความว่าการรวมกันที่ไม่มีส่วนที่ทับซ้อนกันจะส่งคืนอาร์เรย์ว่างแทนที่จะเป็นข้อผิดพลาด แอ็กชัน 92 คือ "Double Combo Attack" ซึ่งเป็นแอนิเมชันประเภท Fighting:
?action_ids=92&category=Fightingส่งคืนแอ็กชัน92?action_ids=92&category=Dancingส่งคืน[]— เนื่องจากไม่ใช่แอนิเมชันประเภทDancing?action_ids=92&search=walkส่งคืน[]— เนื่องจากชื่อของมันไม่ตรงกับwalk
หากต้องการดึงแอนิเมชันที่ระบุเจาะจงโดยไม่คำนึงถึงหมวดหมู่ ให้ส่ง action_ids เพียงลำพัง
ผลลัพธ์ที่ส่งคืน
ส่งคืนรายการของ The Animation Objects
ทุก action_id ที่ส่งคืนที่นี่จะได้รับการยอมรับโดย Create an Animation Task ด้านบน และทุก id ที่ยอมรับก็จะถูกส่งคืนที่นี่เช่นกัน แอนิเมชันที่เลิกใช้งานแล้วจะไม่ปรากฏในทั้งสองที่ หากคุณแคชคลังแอนิเมชันไว้ ควรรีเฟรชเป็นระยะเพื่อไม่ให้ id ที่เลิกใช้งานแล้วค้างอยู่ในตัวเลือกของคุณ
Request
curl "https://api.meshy.ai/openapi/v1/animations/library?category=Fighting" \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"action_id": 4,
"name": "Attack",
"key": "Attack",
"category": "Fighting",
"sub_category": "AttackingwithWeapon",
"preview_url": "https://cdn.meshy.ai/webapp-assets/feature-demo/animation/preview/biped/Attack.gif"
},
{
"action_id": 92,
"name": "Double Combo Attack",
"key": "Double_Combo_Attack",
"category": "Fighting",
"sub_category": "AttackingwithWeapon",
"preview_url": "https://cdn.meshy.ai/webapp-assets/feature-demo/animation/preview/biped/Double_Combo_Attack.gif"
}
]
The Animation Object
- Name
- action_id
- Type
- integer
- Description
ค่าที่ใช้ส่งเป็น
action_idเมื่อสร้างงานแอนิเมชัน มีลักษณะเฉพาะและคงที่ แต่ไม่ต่อเนื่องกัน — แอนิเมชันที่ถูกยกเลิกจะทิ้งช่องว่างไว้ในลำดับเลข ดังนั้นอย่าสันนิษฐานว่าช่วงของ id ใด ๆ จะใช้งานได้เสมอ
- Name
- name
- Type
- string
- Description
ป้ายชื่อที่มนุษย์อ่านเข้าใจได้ ใช้สำหรับแสดงผล ไม่ใช่ค่าเฉพาะตัว: แอนิเมชันบางรายการมีชื่อร่วมกันกับตัวแปรอื่น ดังนั้นให้ใช้
action_idหรือkeyเป็นตัวระบุตัวตนแทน
- Name
- key
- Type
- string
- Description
สลักคงที่ที่ไม่ซ้ำกันสำหรับแอนิเมชัน ใช้เมื่อคุณต้องการตัวระบุที่ไม่ใช่ตัวเลขเพื่อใช้เป็นคีย์ในระบบจัดเก็บข้อมูลของคุณเอง
- Name
- category
- Type
- string
- Description
การจัดกลุ่มระดับบนสุด เช่น
Fighting
- Name
- sub_category
- Type
- string
- Description
การจัดกลุ่มภายในหมวดหมู่ เช่น
AttackingwithWeapon
- Name
- preview_url
- Type
- string
- Description
URL ของภาพ GIF เคลื่อนไหวสำหรับแสดงตัวอย่างของแอ็กชัน เหมาะสำหรับนำไปแสดงผลโดยตรงในตัวเลือกของคุณเอง
Example Animation Object
{
"action_id": 92,
"name": "Double Combo Attack",
"key": "Double_Combo_Attack",
"category": "Fighting",
"sub_category": "AttackingwithWeapon",
"preview_url": "https://cdn.meshy.ai/webapp-assets/feature-demo/animation/preview/biped/Double_Combo_Attack.gif"
}