Motions
Create a motion retrieval task
POST
/motions/retrievalsSearch the motion library with a natural-language description.
Request Body
Request Body Schema
application/json
└
requiredtext_prompt└
options└
block└
priorityResponses
For standard error codes, see Error Handling.
Response Schema
200application/json
└
requiredtask_uuid└
requiredtask_type└
requiredmodel└
requiredstatus└
requiredcreated_at└
requiredcompleted_at└
requiredresult└
result[]└
metadata└
metadata[]└
asset_id└
asset_path└
preview_video└
title└
description└
available_formats└
available_formats[]└
downloads└
downloads[]This endpoint may also return 201 when the task is accepted for asynchronous execution. Use the
task_uuid from the response body to poll the corresponding GET endpoint for the result. Sync vs async →Try It
curl https://api.v2fun.ai/api/v1/motions/retrievals \
-X POST \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text_prompt": "<text_prompt>"
}' Response 200 OK
{
"task_uuid": "<task_uuid>",
"task_type": "<task_type>",
"model": "<model>",
"status": "<taskstatus>",
"created_at": 0,
"completed_at": 0,
"result": []
}Get a motion retrieval task
GET
/motions/retrievals/{task_uuid}Retrieve the current status or final result of a motion retrieval task.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
task_uuid | path | Yes | string | Task UUID returned when the motion search job was created. |
Responses
For standard error codes, see Error Handling.
Response Schema
200application/json
└
requiredtask_uuid└
requiredtask_type└
requiredmodel└
requiredstatus└
requiredcreated_at└
requiredcompleted_at└
requiredresult└
result[]└
metadata└
metadata[]└
asset_id└
asset_path└
preview_video└
title└
description└
available_formats└
available_formats[]└
downloads└
downloads[]Try It
curl https://api.v2fun.ai/api/v1/motions/retrievals/<task_uuid> \
-H "Authorization: Bearer $YOUR_API_KEY" Response 200 OK
{
"task_uuid": "<task_uuid>",
"task_type": "<task_type>",
"model": "<model>",
"status": "<taskstatus>",
"created_at": 0,
"completed_at": 0,
"result": []
}Create an animation retargeting task
POST
/motions/animationsApply a motion file to a rigged 3D model.
Request Body
Request Body Schema
application/json
└
requiredinput_model└
requiredinput_motion└
fps└
options└
block└
priorityResponses
For standard error codes, see Error Handling.
Response Schema
200application/json
└
requiredtask_uuid└
requiredtask_type└
requiredmodel└
requiredstatus└
requiredcreated_at└
requiredcompleted_at└
requiredresult└
result[]└
metadata└
metadata[]└
reference_images└
reference_images[]└
preview_image└
t_pose_model└
mesh_info└
preview_video└
downloads└
downloads[]This endpoint may also return 201 when the task is accepted for asynchronous execution. Use the
task_uuid from the response body to poll the corresponding GET endpoint for the result. Sync vs async →Try It
curl https://api.v2fun.ai/api/v1/motions/animations \
-X POST \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_model": "<input_model>",
"input_motion": "<input_motion>"
}' Response 200 OK
{
"task_uuid": "<task_uuid>",
"task_type": "<task_type>",
"model": "<model>",
"status": "<taskstatus>",
"created_at": 0,
"completed_at": 0,
"result": []
}Get an animation retargeting task
GET
/motions/animations/{task_uuid}Retrieve the current status or final output of an animation retargeting task.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
task_uuid | path | Yes | string | Task UUID returned when the animation job was created. |
Responses
For standard error codes, see Error Handling.
Response Schema
200application/json
└
requiredtask_uuid└
requiredtask_type└
requiredmodel└
requiredstatus└
requiredcreated_at└
requiredcompleted_at└
requiredresult└
result[]└
metadata└
metadata[]└
reference_images└
reference_images[]└
preview_image└
t_pose_model└
mesh_info└
preview_video└
downloads└
downloads[]Try It
curl https://api.v2fun.ai/api/v1/motions/animations/<task_uuid> \
-H "Authorization: Bearer $YOUR_API_KEY" Response 200 OK
{
"task_uuid": "<task_uuid>",
"task_type": "<task_type>",
"model": "<model>",
"status": "<taskstatus>",
"created_at": 0,
"completed_at": 0,
"result": []
}