Start model rigging and animation
Start model rigging and animation.
curl --request POST \
--url https://api.mint.gg/v1/models/{modelId}:animate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"animationSetId": "<string>",
"motionPrompt": "<string>",
"animationActionIds": [
348
],
"heightMeters": 1.75
}
'import requests
url = "https://api.mint.gg/v1/models/{modelId}:animate"
payload = {
"animationSetId": "<string>",
"motionPrompt": "<string>",
"animationActionIds": [348],
"heightMeters": 1.75
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
animationSetId: '<string>',
motionPrompt: '<string>',
animationActionIds: [348],
heightMeters: 1.75
})
};
fetch('https://api.mint.gg/v1/models/{modelId}:animate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mint.gg/v1/models/{modelId}:animate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'animationSetId' => '<string>',
'motionPrompt' => '<string>',
'animationActionIds' => [
348
],
'heightMeters' => 1.75
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mint.gg/v1/models/{modelId}:animate"
payload := strings.NewReader("{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mint.gg/v1/models/{modelId}:animate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mint.gg/v1/models/{modelId}:animate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}"
response = http.request(request)
puts response.read_body{
"object": "operation",
"id": "op_01JEXAMPLE",
"type": "model_animation",
"generationMode": "auto",
"status": "running",
"resource": {
"type": "animation",
"id": "animation_01JEXAMPLE"
},
"createdAt": "2026-07-21T20:00:00.000Z",
"updatedAt": "2026-07-21T20:00:01.000Z"
}{
"object": "operation",
"id": "op_01JEXAMPLE",
"type": "model_animation",
"generationMode": "auto",
"status": "running",
"resource": {
"type": "animation",
"id": "animation_01JEXAMPLE"
},
"createdAt": "2026-07-21T20:00:00.000Z",
"updatedAt": "2026-07-21T20:00:01.000Z"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}Authorizations
Mint API key sent as a Bearer token.
Headers
Optional stable key for safely retrying an uncertain mutating request. Mint creates an internal key when this header is omitted. Reusing a supplied key with different parameters returns 409.
1 - 255Path Parameters
Body
- Option 1
- Option 2
Animation selection and optional sizing for one eligible Mint 3D Model.
Stable curated set ID from GET /v1/animation-sets. Include animationActionIds to select a subset of that set.
Describe the motion Mint should select; do not combine with animationSetId.
1 - 2000Optional subset of curated action IDs from the selected animationSetId.
1 - 10 elements0 <= x <= 696Character height in meters used to scale the animation result.
0.5 <= x <= 3Response
An earlier request with the same retry key returned this operation.
A long-running operation acting on one Mint animation.
Stable object discriminator.
"operation"Mint operation ID used for polling.
The work this operation performs.
model_animation Workflow mode for this operation.
auto, review Current operation lifecycle status.
queued, running, preview_ready, billing_required, succeeded, partially_succeeded, failed, canceled The Mint animation affected by this operation.
Show child attributes
Show child attributes
When the operation was created.
When the operation last changed.
The billing action required before this operation can continue.
Show child attributes
Show child attributes
Credit estimate, active reservation, finalized charge, and post-reservation balance for this operation.
Show child attributes
Show child attributes
Terminal failure details when the operation failed.
Show child attributes
Show child attributes
When the operation completed.
When the operation was canceled.
curl --request POST \
--url https://api.mint.gg/v1/models/{modelId}:animate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"animationSetId": "<string>",
"motionPrompt": "<string>",
"animationActionIds": [
348
],
"heightMeters": 1.75
}
'import requests
url = "https://api.mint.gg/v1/models/{modelId}:animate"
payload = {
"animationSetId": "<string>",
"motionPrompt": "<string>",
"animationActionIds": [348],
"heightMeters": 1.75
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
animationSetId: '<string>',
motionPrompt: '<string>',
animationActionIds: [348],
heightMeters: 1.75
})
};
fetch('https://api.mint.gg/v1/models/{modelId}:animate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mint.gg/v1/models/{modelId}:animate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'animationSetId' => '<string>',
'motionPrompt' => '<string>',
'animationActionIds' => [
348
],
'heightMeters' => 1.75
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mint.gg/v1/models/{modelId}:animate"
payload := strings.NewReader("{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mint.gg/v1/models/{modelId}:animate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mint.gg/v1/models/{modelId}:animate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"animationSetId\": \"<string>\",\n \"motionPrompt\": \"<string>\",\n \"animationActionIds\": [\n 348\n ],\n \"heightMeters\": 1.75\n}"
response = http.request(request)
puts response.read_body{
"object": "operation",
"id": "op_01JEXAMPLE",
"type": "model_animation",
"generationMode": "auto",
"status": "running",
"resource": {
"type": "animation",
"id": "animation_01JEXAMPLE"
},
"createdAt": "2026-07-21T20:00:00.000Z",
"updatedAt": "2026-07-21T20:00:01.000Z"
}{
"object": "operation",
"id": "op_01JEXAMPLE",
"type": "model_animation",
"generationMode": "auto",
"status": "running",
"resource": {
"type": "animation",
"id": "animation_01JEXAMPLE"
},
"createdAt": "2026-07-21T20:00:00.000Z",
"updatedAt": "2026-07-21T20:00:01.000Z"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"path": "<string>",
"message": "<string>"
}
],
"operationId": "<string>",
"billing": {
"requiredCredits": 1,
"actionUrl": "<string>",
"availableCredits": 1,
"committedCredits": 1,
"stageCredits": 1,
"completionCredits": 1
}
}