lowpoly dihentikan pada 30 Okt 2026. Ganti model sebelum tanggal-tanggal ini agar permintaan tidak error. Lihat semua penghentian

API Animasi

Terapkan Animasi pada karakter yang memiliki rig, dan tampilkan daftar Animasi yang dapat Anda terapkan.


POST/openapi/v1/animations

Membuat Animation task

Membuat Animation task, yang menerapkan animasi pada karakter yang sebelumnya sudah Anda rig. Animasi tersebut bisa berupa salah satu dari berikut:

  • Preset action dari pustaka animasi (action_id)
  • Beberapa preset action yang digabung menjadi satu file (action_ids)
  • Klip gerakan yang Anda buat dengan Text to Motion API (motion_task_id)

Anda juga dapat melakukan pasca-pemrosesan pada output. Task ini berjalan di latar belakang. Untuk berapa lama biasanya sebuah task berjalan, lihat Processing times.

Request

POST
/openapi/v1/animations
# 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"
}

Parameter

  • Name
    rig_task_id
    Type
    string
    Wajib
    Description

    ID dari Rigging task yang karakternya akan dianimasikan, dari POST /openapi/v1/rigging. Task tersebut harus memiliki status SUCCEEDED.

Kirim tepat satu dari action_id, action_ids, dan motion_task_id.

  • Name
    action_id
    Type
    integer
    Wajib
    Description

    Wajib diisi kecuali Anda mengirim action_ids atau motion_task_id. ID dari animasi preset yang akan diterapkan. Untuk daftar lengkap animasi, lihat referensi Pustaka animasi atau List animations.

  • Name
    action_ids
    Type
    array of integers
    Wajib
    Description

    Wajib diisi kecuali Anda mengirim action_id atau motion_task_id. ID dari 1 hingga 10 preset animasi yang akan diterapkan sekaligus, tanpa ada yang berulang. Lebih dari 10 ID, atau ID yang berulang, akan mengembalikan 400. Untuk daftar ID, lihat referensi Pustaka animasi.

    Meshy mengembalikan satu file dengan satu klip animasi per action, yang cocok untuk state machine dalam game engine. Meshy mengenakan biaya untuk setiap action dalam daftar. Lihat Harga.

    Daftar dengan satu ID bekerja sama seperti mengirim ID tersebut sebagai action_id.

  • Name
    motion_task_id
    Type
    string
    Wajib
    Description

    Wajib diisi kecuali Anda mengirim action_id atau action_ids. ID dari task Text to Motion yang klipnya akan diterapkan, menggantikan preset action. Task tersebut harus memiliki status SUCCEEDED, dan rig harus berupa biped.

    Meshy melakukan retarget klip tersebut ke karakter yang sudah di-rig. Meshy menyalin klip tersebut saat Anda membuat task ini, sehingga task ini tidak terpengaruh jika Text to Motion task tersebut nantinya kedaluwarsa atau Anda menghapusnya. Meshy menyimpan file dari Text to Motion task selama 3 hari, jadi terapkan klip tersebut sebelum masa itu berakhir.

  • Name
    post_process
    Type
    object
    Description

    Pasca-pemrosesan untuk output animasi. Biarkan kosong untuk mendapatkan file animasi standar.

    Dengan motion_task_id, hasil retarget bisa menghasilkan animasi yang hanya berupa GLB. Jika Anda mengirim post_process dan tidak ada file FBX yang tersedia, task akan gagal dengan task_error, dan Meshy mengembalikan kredit Anda. Tanpa post_process, task akan berhasil, dan animation_fbx_url akan kosong.

Hanya berlaku ketika post_process is set
  • Name
    operation_type
    Type
    string
    Description

    Operasi yang akan dijalankan. Tanpa ini, Meshy tidak membuat file tambahan. Nilai yang tidak ada dalam daftar berikut akan mengembalikan 400.

    Nilai yang tersedia:

    • change_fps: mengubah frame rate menjadi fps
    • fbx2usdz: mengonversi animasi menjadi USDZ
    • extract_armature: mengekstrak armature sebagai file FBX
  • Name
    fps
    Type
    integer
    default 30
    Description

    Frame rate yang akan diubah, salah satu dari 24, 25, 30, atau 60. Hanya berlaku ketika operation_type adalah change_fps. Nilai lain akan mengembalikan 400.

Hasil yang Dikembalikan

Field result pada respons berisi ID dari Animation task yang baru.

Mode kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak dapat dijalankan. Pesan kesalahan menunjukkan masalah yang ditemukan. Misalnya:

    • Parameter hilang: rig_task_id tidak ada, atau tidak satupun dari action_id, action_ids, dan motion_task_id yang dikirim.
    • Parameter saling bertentangan: Permintaan memiliki lebih dari satu dari action_id, action_ids, dan motion_task_id. Kirim hanya satu saja.
    • Rig task tidak valid: rig_task_id bukan ID task yang valid, bukan Rigging task, atau mengarah ke task yang belum berhasil.
    • ID action tidak valid: action_id, atau salah satu entri di action_ids, bukan animasi yang valid.
    • Terlalu banyak action: action_ids memiliki lebih dari 10 ID.
    • Action duplikat: action_ids memiliki ID yang sama lebih dari satu kali.
    • Motion task belum siap: Task motion_task_id belum mencapai status SUCCEEDED.
    • Rig tidak didukung: motion_task_id memerlukan rig biped, dan Meshy menolak rig quadruped.

    Perbaiki permintaan tersebut, lalu kirim lagi. Lihat Kesalahan.

  • Name
    401 - Unauthorized
    Description

    Kunci API hilang atau tidak valid. Periksa header Authorization.

  • Name
    402 - Payment Required
    Description

    Misalnya:

    • Kredit tidak cukup: Akun tidak memiliki cukup kredit untuk task ini, atau akun telah mencapai batas kredit. Periksa saldo kredit Anda, lalu coba lagi.
    • Paket gratis: Membuat task memerlukan paket berbayar. Tingkatkan paket Anda di pengaturan langganan, lalu coba lagi.
  • Name
    403 - Forbidden
    Description

    Task rig_task_id adalah model bas-relief, yang tidak dapat dianimasikan oleh endpoint ini. Pesannya adalah This model type does not support this operation. Rig model yang lain.

  • Name
    404 - Not Found
    Description

    Meshy tidak dapat menemukan task atau file yang dibutuhkan oleh permintaan. Salah satu dari berikut ini berlaku:

    • Meshy tidak dapat menemukan task rig_task_id di antara task Anda. Periksa ID-nya.
    • Meshy menghapus file dari task rig_task_id setelah expires_at-nya. Rig karakter tersebut lagi.
    • Meshy tidak dapat menemukan task motion_task_id. Periksa ID-nya.
    • Klip gerakan telah kedaluwarsa, karena Meshy menyimpan file dari Text to Motion task selama 3 hari. Buat Text to Motion task yang lain.
  • Name
    429 - Too Many Requests
    Description

    Anda melampaui batas laju Anda. Tunggu, lalu coba lagi. Lihat Rate limits.


GET/openapi/v1/animations/:id

Get an Animation task

Mengembalikan tugas Animasi berdasarkan ID-nya.

Request

GET
/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791
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": null,
  "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=..."
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas dari respons pembuatan.

Returns

Objek tugas Animasi.


DELETE/openapi/v1/animations/:id

Hapus tugas Animasi

Menghapus tugas Animasi secara permanen, termasuk model dan datanya. Anda tidak dapat membatalkan penghapusan.

Request

DELETE
/openapi/v1/animations/018b314a-a1b5-716d-c222-2f1776f7f579
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 keeps 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."
}

Parameter jalur

  • Name
    id
    Type
    path
    Description

    ID tugas yang akan dihapus.

Status tugas

Menghapus tugas PENDING akan mengembalikan kredit yang digunakan saat Anda membuatnya.

Tugas IN_PROGRESS tidak dapat dihapus. Permintaan akan mengembalikan 409 Conflict, dan tugas tersebut akan terus berjalan. Meshy tidak mengembalikan kredit untuk tugas yang sudah dimulai, jadi menghapusnya akan membuat Anda kehilangan baik kredit maupun hasilnya. Tunggu hingga tugas tersebut mencapai status SUCCEEDED, FAILED, atau CANCELED, lalu hapus.

Menghapus tugas dengan status akhir (SUCCEEDED, FAILED, atau CANCELED) tidak mengembalikan kreditnya.

Returns

200 OK ketika tugas berhasil dihapus, atau 409 Conflict ketika tugas berstatus IN_PROGRESS.


GET/openapi/v1/animations

List tugas Animation

Mengembalikan daftar berpaginasi dari tugas-tugas Animasi Anda, yang terbaru terlebih dahulu. Untuk menelusuri daftar tersebut, gunakan page_num dan page_size.

Tugas yang Anda buat melalui API tidak muncul di My Assets pada aplikasi web, sehingga Anda mengelolanya melalui API. Untuk menemukan tugas yang ID-nya tidak Anda miliki lagi, gunakan endpoint ini.

Request

GET
/openapi/v1/animations
curl "https://api.meshy.ai/openapi/v1/animations?page_num=1&page_size=20" \
-H "Authorization: Bearer ${YOUR_API_KEY}"

GET/openapi/v1/animations/:id/stream

Streaming tugas Animasi

Melakukan streaming pembaruan tugas Animasi sebagai Server-Sent Events (SSE).

Request

GET
/openapi/v1/animations/018c425b-b2c6-727e-d333-3c1887i9h791/stream
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.
// These examples are shortened. Each event holds the full task object.
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, with the same structure as the 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": null,
  "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?..."
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    ID tugas dari respons pembuatan.

Returns

Sebuah stream objek tugas Animasi sebagai Server-Sent Events.

Setiap event memuat objek tugas secara lengkap, dengan bentuk yang sama seperti yang dikembalikan oleh endpoint Get. Selama tugas masih berstatus PENDING atau IN_PROGRESS, bidang hasilnya belum memiliki nilai.


Objek task Animasi

Objek task Animasi menjelaskan satu animasi yang diterapkan pada karakter yang sudah di-rig. Objek ini menyimpan status, progress, dan file animasi saat task berhasil.

Properties

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": null,
  "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?..."
  }
}
  • Name
    id
    Type
    string
    Description

    ID task. Perlakukan ini sebagai string buram, dan jangan bergantung pada formatnya.

  • Name
    type
    Type
    string
    Description

    Jenis task, selalu animate.

  • Name
    status
    Type
    string
    Description

    Status task, salah satu dari PENDING, IN_PROGRESS, SUCCEEDED, FAILED, atau CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Seberapa banyak task telah selesai, dalam persentase. Nilainya 0 sampai task dimulai dan 100 saat berhasil.

  • Name
    created_at
    Type
    timestamp
    Description

    Waktu task dibuat, dalam milidetik Unix.

  • Name
    started_at
    Type
    timestamp
    Description

    Waktu task dimulai, dalam milidetik Unix. Nilainya 0 sampai task dimulai.

  • Name
    finished_at
    Type
    timestamp
    Description

    Waktu task selesai, dalam milidetik Unix. Nilainya 0 sampai task selesai.

  • Name
    expires_at
    Type
    timestamp
    Description

    Waktu file hasil task kedaluwarsa, dalam milidetik Unix.

  • Name
    task_error
    Type
    object
    Description

    Detail kesalahan saat task gagal. Nilainya null kecuali statusnya FAILED. Lihat Kesalahan.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang digunakan task. Muncul saat statusnya PENDING, IN_PROGRESS, atau SUCCEEDED. Nilainya 0 untuk task yang FAILED, karena Meshy mengembalikan kredit saat task gagal.

  • Name
    result
    Type
    object
    Description

    URL unduhan untuk file animasi, saat task berstatus SUCCEEDED.

    • Name
      animation_glb_url
      Type
      string
      Description
      Animasi sebagai file GLB. Untuk task yang dibuat dengan action_ids, satu file ini menyimpan setiap aksi yang diminta sebagai clip terpisah.
    • Name
      animation_fbx_url
      Type
      string
      Description
      Animasi sebagai file FBX. Untuk task yang dibuat dengan action_ids, satu file ini menyimpan setiap aksi yang diminta sebagai clip terpisah.
    • Name
      processed_usdz_url
      Type
      string
      Description
      Animasi yang telah diproses sebagai file USDZ.
    • Name
      processed_armature_fbx_url
      Type
      string
      Description
      Armature yang telah diproses sebagai file FBX.
    • Name
      processed_animation_fps_fbx_url
      Type
      string
      Description
      Animasi dengan frame rate yang telah diubah, sebagai file FBX, misalnya saat Anda menggunakan operasi change_fps.
  • Name
    preceding_tasks
    Type
    integer
    Description

    Jumlah task yang berada di depan task ini dalam antrean. Nilai ini hanya bermakna selama task berstatus PENDING. Kolom ini tidak disertakan saat nilainya 0.


GET/openapi/v1/animations/library

List animations

Mengembalikan setiap animasi dalam pustaka, diurutkan berdasarkan action_id. Respons berupa daftar lengkap, tanpa halaman, sehingga satu panggilan dapat mengisi pemilih aksi. Filter mempersempit hasil. Untuk mendapatkan semua animasi, hilangkan semua filter.

Untuk menelusuri daftar yang sama dengan pratinjau animasi dari setiap aksi, lihat referensi Pustaka animasi.

Permintaan ini tidak memerlukan kredit.

Request

GET
/openapi/v1/animations/library
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"
  }
]

Parameter

  • Name
    search
    Type
    string
    Description

    Teks yang akan dicari. Meshy mengembalikan animasi yang name atau key-nya mengandung teks ini, tanpa membedakan huruf besar/kecil. Meshy mencocokkan teks secara harfiah, sehingga % dan _ bukan wildcard.

  • Name
    category
    Type
    string
    Description

    Kategori yang akan ditampilkan, sebagai kecocokan persis. Kategori yang tidak dikenal akan mengembalikan daftar kosong.

    Nilai yang tersedia:

    • WalkAndRun
    • BodyMovements
    • DailyActions
    • Fighting
    • Dancing
  • Name
    sub_category
    Type
    string
    Description

    Subkategori yang akan ditampilkan, sebagai kecocokan persis. Anda dapat mengirimkannya tanpa category. Nama subkategori tidak unik di seluruh kategori. Misalnya, Transitioning ada di bawah Fighting maupun DailyActions. Jadi tanpa category, filter akan mencocokkan subkategori di setiap kategori.

  • Name
    action_ids
    Type
    string
    Description

    Animasi yang akan dikembalikan, berupa hingga 200 nilai action_id yang dipisahkan koma. Gunakan ini untuk mencari ID tertentu alih-alih menelusuri. Lebih dari 200 ID akan mengembalikan 400.

    Respons tidak menyertakan ID yang tidak dimiliki animasi mana pun. Jadi Anda juga dapat menggunakan filter ini untuk memeriksa apakah ID yang Anda simpan masih tersedia.

Menggabungkan filter

Meshy menerapkan filter secara bersamaan. Setiap filter mempersempit hasil, sehingga Meshy hanya mengembalikan animasi jika cocok dengan semuanya. Dalam satu filter, salah satu nilainya dapat cocok. Misalnya, search cocok dengan name atau key, dan action_ids cocok dengan ID mana pun dalam daftar.

Jadi kombinasi yang tidak tumpang tindih akan mengembalikan array kosong, bukan error. Aksi 92 adalah "Double Combo Attack", sebuah animasi Fighting. Misalnya:

  • ?action_ids=92&category=Fighting mengembalikan aksi 92.
  • ?action_ids=92&category=Dancing mengembalikan [], karena bukan animasi Dancing.
  • ?action_ids=92&search=walk mengembalikan [], karena namanya tidak cocok dengan walk.

Untuk mendapatkan animasi tertentu di kategori mana pun, kirim action_ids sendirian.

Mengembalikan

Sebuah daftar objek animasi.


The animation object

Objek animasi menjelaskan satu animasi dalam pustaka.

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"
}
  • Name
    action_id
    Type
    integer
    Description

    Nilai yang dikirim sebagai action_id saat Anda membuat task Animasi. Nilai ini unik dan stabil, tetapi tidak berurutan. Animasi yang dipensiunkan meninggalkan celah dalam penomoran, jadi jangan berasumsi bahwa setiap ID dalam suatu rentang pasti valid.

  • Name
    name
    Type
    string
    Description

    Nama tampilan animasi tersebut. Nilai ini tidak unik, karena beberapa animasi berbagi nama dengan varian lainnya. Untuk mengidentifikasi sebuah animasi, gunakan action_id atau key.

  • Name
    key
    Type
    string
    Description

    Slug unik dan stabil untuk animasi tersebut. Gunakan ini saat Anda memerlukan ID non-numerik untuk menjadi kunci penyimpanan Anda sendiri.

  • Name
    category
    Type
    string
    Description

    Grup tingkat atas, misalnya Fighting.

  • Name
    sub_category
    Type
    string
    Description

    Grup di dalam kategori, misalnya AttackingwithWeapon.

  • Name
    preview_url
    Type
    string
    Description

    URL pratinjau GIF animasi dari action tersebut. Anda dapat menampilkannya langsung di pemilih (picker) Anda sendiri.