แอนิเมชัน API
เอนด์พอยต์สำหรับค้นหาแอนิเมชันที่มีอยู่และนำไปใช้กับตัวละครที่มี rig
สร้างงานแอนิเมชัน
เอนด์พอยต์นี้ช่วยให้คุณสร้างงานใหม่เพื่อนำแอนิเมชันไปใช้กับตัวละครที่ผ่านการ rigging มาแล้ว — ไม่ว่าจะเป็นแอ็กชันสำเร็จรูปจากคลังแอนิเมชัน (action_id) แอ็กชันสำเร็จรูปหลายรายการรวมเป็นไฟล์เดียว (action_ids) หรือคลิปโมชันที่คุณสร้างด้วย Text to Motion APImotion_task_id) นอกจากนี้ยังรวมตัวเลือกการประมวลผลภายหลังด้วย
งานนี้ทำงานอยู่เบื้องหลัง สำหรับระยะเวลาที่มักใช้ โปรดดูที่ Processing Times
พารามิเตอร์
- 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 โดยไอดีต้องไม่ซ้ำกัน มีค่าใช้จ่าย 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ไม่ใช่ลำดับตัวเลขของไอดี - ชื่อคลิป: ชื่อของแอนิเมชันในคลัง ซึ่งตรงกับชื่อที่คุณได้รับเมื่อส่งออกแอนิเมชันทั้งหมดของตัวละครเป็นไฟล์เดียวจากเว็บแอป Meshy หากมีไอดีที่ร้องขอสองรายการได้ชื่อคลิปเดียวกัน รายการหลังจะถูกเติมท้ายด้วย
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_ids— ไม่ตรงกับแอนิเมชันที่ถูกต้อง - แอ็กชันมากเกินไป:
action_idsมีไอดีมากกว่า 10 รายการ - แอ็กชันซ้ำกัน:
action_idsมีไอดีเดียวกันปรากฏมากกว่าหนึ่งครั้ง - งานโมชันยังไม่พร้อม: งาน
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_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
}
ลบงานแอนิเมชัน
เอนด์พอยต์นี้จะลบงานแอนิเมชันอย่างถาวร รวมถึงโมเดลและข้อมูลที่เกี่ยวข้องทั้งหมด การกระทำนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์ของ Path
- 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 แสดงถึงหน่วยงานสำหรับการนำแอนิเมชันไปใช้กับตัวละครที่มีการจัดวางโครงกระดูกแล้ว
Properties
- Name
- id
- Type
- string
- Description
ตัวระบุที่ไม่ซ้ำกันสำหรับงานนี้
- Name
- type
- Type
- string
- Description
ประเภทของงานแอนิเมชัน ค่าคือ
animate
- 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
ไทม์สแตมป์ (หน่วยเป็นมิลลิวินาทีนับจาก 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) เมื่อแอสเซ็ตผลลัพธ์ของงานนี้หมดอายุ
- 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 การตอบกลับเป็นรายการทั้งหมด ไม่ใช่การแบ่งหน้า ดังนั้นการเรียกเพียงครั้งเดียวก็เพียงพอที่จะใช้สร้างตัวเลือกแอคชัน ตัวกรองใช้เพื่อจำกัดผลลัพธ์ให้แคบลง หากไม่ใส่ตัวกรองใดเลยจะได้ผลลัพธ์ทั้งหมด
หากต้องการเรียกดูแคตตาล็อกเดียวกันด้วยตาเปล่า พร้อมตัวอย่างแบบแอนิเมชันของแต่ละแอคชัน ดูที่ เอกสารอ้างอิง Animation Library
เอนด์พอยต์นี้ใช้งานได้ฟรี — ไม่มีการใช้เครดิต
พารามิเตอร์
- 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"
}