Skip to main content

Quickstart guide

Get started with the Uthana API in minutes. This guide will help you create your first AI-powered animation.

Prerequisites

Step 1: Verify your API key is valid

Test your API key by making a simple query to the GraphQL endpoint:

API_KEY="{{apiKey}}"

curl 'https://uthana.com/graphql' \
  -u $API_KEY: \
  -H "Content-Type: application/json" \
  -d '{"query": "{ __typename }"}'

After running this, you should see a response like: {"data":{"__typename":"Query"}}. This confirms your API key is working correctly.

Step 2: Prepare your character model

(Note: You can skip this step if you're using the default character, "Tar", with the character ID cXi2eAP19XwQ.)

In order to generate motion for your character, you need to upload a 3D character model in FBX (.fbx) or glTF (.glb/.gltf) format. The easiest way to do this when you're just getting started is to use the Web UI to upload a new character.

  1. Go to the Web UI and sign in with your Uthana account.
  2. Click the button.
  3. Upload your character model in FBX (.fbx) or glTF (.glb/.gltf) format.
  4. Verify that the character model is loaded correctly by viewing an existing motion or generating a new one.
  5. Copy the character ID from the URL. It will look like https://uthana.com/app/<character-id>/<motion-id>.
  6. Save the character ID for later use.

You can also upload a character via the API. See the API documentation for more details.

Auto-rigging

If your character doesn't have a skeleton rig, Uthana will automatically attempt to create one for you. The auto-rigging process typically takes an additional 30-60 seconds to complete, but allows you to use characters that weren't originally rigged for animation. If auto-rigging fails, you'll receive a detailed error message in the GraphQL response.

Step 3: Generate a new text-to-motion animation

Create your first animation from a text prompt:

curl 'https://uthana.com/graphql' \
  -u {{apiKey}}: \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation { create_text_to_motion(prompt: \"A person walking down the street\") { motion { id name } } }"
  }'

Text-to-motion results are returned immediately:

{
  "data": {
    "create_text_to_motion": {
      "motion": {
        "id": "<new-motion-id>",
        "name": "A person walking down the street"
      }
    }
  }
}

If there are any errors, they will be returned in a GraphQL errors array.

Step 4: View and download your motion

View in Web UI

You can view and download your motion in the Uthana Web UI:

  1. Go to the Web UI and sign in with your Uthana account.
  2. From the motions list, you should see your new motion – click on it to view it.
  3. The URL includes the character ID and motion ID: https://uthana.com/app/<character-id>/<motion-id>.
  4. You can also download the motion as FBX (.fbx) or glTF (.glb/.gltf) format directly from the web UI.

Download via API

Download your motion programmatically using the API:

CHARACTER_ID="cXi2eAP19XwQ"  # Default character, or use your own
MOTION_ID="<new-motion-id>"

# Download the motion as FBX (includes character mesh, filename is customizable)
curl -L "https://uthana.com/motion/file/motion_viewer/$CHARACTER_ID/$MOTION_ID/motion.fbx" \
  -u {{apiKey}}: \
  -o motion.fbx

# Download the motion as GLB (includes character mesh, filename is customizable)
curl -L "https://uthana.com/motion/file/motion_viewer/$CHARACTER_ID/$MOTION_ID/motion.glb" \
  -u {{apiKey}}: \
  -o motion.glb

# Download at 30 FPS
curl -L "https://uthana.com/motion/file/motion_viewer/$CHARACTER_ID/$MOTION_ID/motion.fbx?fps=30" \
  -u {{apiKey}}: \
  -o motion-30fps.fbx

# Download the motion-only GLB (animation data without character mesh, filename is customizable)
curl -L "https://uthana.com/motion/animation/motion_viewer/$CHARACTER_ID/$MOTION_ID/motion.glb" \
  -u {{apiKey}}: \
  -o motion-only.glb

Next steps