> ## Documentation Index
> Fetch the complete documentation index at: https://docs.viggle.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Animation

> Retrieve the status and output of a video-to-3D conversion.

`GET /v1/animations/{animation_id}` retrieves an Animation conversion. Poll every 5 seconds until it is `ready` or `failed`.

## Request parameters

| Parameter      | Type   | Required | Description                                      |
| -------------- | ------ | :------: | ------------------------------------------------ |
| `animation_id` | string |    Yes   | Full public Animation ID beginning with `anim_`. |

## Response parameters

Returns `200 OK` with a conversion object.

| Field        | Type           | Always present | Description                                           |
| ------------ | -------------- | :------------: | ----------------------------------------------------- |
| `id`         | string         |       Yes      | Requested public Animation ID.                        |
| `status`     | string         |       Yes      | `queued`, `processing`, `ready`, or `failed`.         |
| `model_url`  | string or null |       Yes      | Downloadable 3D result when ready.                    |
| `created_at` | string or null |       Yes      | ISO 8601 creation timestamp when available.           |
| `updated_at` | string or null |       Yes      | ISO 8601 most-recent update timestamp when available. |
| `error`      | object or null |       Yes      | Structured failure details when status is `failed`.   |

```json theme={null}
{"id":"anim_456def","status":"ready","model_url":"https://assets.viggle.ai/results/animation.fbx","created_at":"2026-07-21T10:00:00Z","updated_at":"2026-07-21T10:01:00Z","error":null}
```

## Examples

<CodeGroup>
  ```go Go theme={null}
  req,_:=http.NewRequest("GET","https://apis.viggle.ai/v1/animations/anim_456def",nil); req.Header.Set("Authorization","Bearer "+os.Getenv("VIGGLE_API_KEY")); resp,err:=http.DefaultClient.Do(req); if err!=nil {panic(err)}; defer resp.Body.Close()
  ```

  ```javascript JavaScript theme={null}
  const response=await fetch("https://apis.viggle.ai/v1/animations/anim_456def",{headers:{Authorization:`Bearer ${process.env.VIGGLE_API_KEY}`}}); const animation=await response.json();
  ```

  ```python Python theme={null}
  import os, requests
  response=requests.get("https://apis.viggle.ai/v1/animations/anim_456def",headers={"Authorization":f"Bearer {os.environ['VIGGLE_API_KEY']}"}); response.raise_for_status(); animation=response.json()
  ```

  ```bash cURL theme={null}
  curl "https://apis.viggle.ai/v1/animations/anim_456def" -H "Authorization: Bearer $VIGGLE_API_KEY"
  ```
</CodeGroup>

<Warning>
  3D task records and signed output URLs are retained for one hour. Download a ready result promptly.
</Warning>


## OpenAPI

````yaml GET /v1/animations/{animation_id}
openapi: 3.0.3
info:
  title: Viggle API
  description: Generate AI-powered character animation videos
  version: 2.0.0
  contact:
    name: Viggle Support
    url: https://viggle.ai
servers:
  - url: https://apis.viggle.ai
    description: Production server
security: []
paths:
  /v1/animations/{animation_id}:
    get:
      summary: Get Animation
      operationId: v1GetAnimation
      responses:
        '200':
          description: Animation

````