Skip to main content
API Reference for meshy/animations, served by Comfy Router from Meshy.

Quick start

Create a key at platform.comfy.org/profile/api-keys and export it as COMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: meshy/animations Endpoint: POST https://api.comfy.org/v2/models/meshy/animations

Schema

Input

integer
required
The identifier of the animation action to apply.
object
Parameters for post-processing animation files.
integer
default:"30"
The target frame rate. Default is 30. Applicable only when operation_type is change_fps.Possible values: 24, 25, 30, 60
string
required
The type of operation to perform.Possible values: change_fps, fbx2usdz, extract_armature
string
required
The id of a successfully completed rigging task (from POST /openapi/v1/rigging). The character from this task will be animated.
Generated from the schema Router serves at GET /v2/models/meshy/animations/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

integer
Timestamp of when the task was created, in milliseconds.Format: int64
integer
Timestamp of when the task result expires, in milliseconds.Format: int64
integer
Timestamp of when the task was finished, in milliseconds. 0 if not finished.Format: int64
string
required
Unique identifier for the task.
integer
The count of preceding tasks. Only meaningful when status is PENDING.
integer
Progress of the task (0-100).Range: 0 to 100
object
Contains the output animation URLs if the task SUCCEEDED.
string
Downloadable URL for the animation in FBX format.
string
Downloadable URL for the animation in GLB format.
string
Downloadable URL for the animation with changed FPS in FBX format.
string
Downloadable URL for the processed armature in FBX format.
string
Downloadable URL for the processed animation in USDZ format.
integer
Timestamp of when the task was started, in milliseconds. 0 if not started.Format: int64
string
required
Possible values: SUCCEEDED
object
Error object that contains the error message if the task failed.
string
Detailed error message.
string
Type of the Animation task.Possible values: animate

Examples

Input

Output

Before you ship

The snippets above are the shortest working call. Three things are the same for every model and are documented once on the Comfy Router headers page: send an Idempotency-Key on every paid call and reuse it when you retry, expect the connection to be held up to Router’s 10 minute deadline, and keep X-Comfy-Request-Id from every response. The SDKs do all three for you; the cURL tab does none of them. On failure, X-Comfy-Error-Type names the bucket, and a 422 means the body failed the model’s schema and was never billed.

Headers

Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.

Quick Start

Typed error handling in Python and TypeScript, reading the 422, walking the catalog.

Limitations

What Router does not do today, and what to use instead.