> ## 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.

# Viggle API V1

> Create controllable character-motion videos with Viggle API V1.

<Note>
  **V1 is the current API.** Start new integrations with V1. Existing integrations using `/api/*` can follow the [migration guide](/v1/production/migrate-from-legacy).
</Note>

Viggle API is organized around reusable assets, asynchronous operations, and delivered artifacts. Create Characters and Motions once, then reuse them in multiple Renders. A Render is an operation; its MP4 and optional alpha video are its artifacts.

```mermaid theme={null}
graph LR
  A["Character asset"] --> D["Render operation"]
  B["Motion asset"] --> D
  C["Inline image or video"] --> D
  D --> E["Video artifacts"]
```

## Create your first render

<Steps>
  <Step title="Get an API key" icon="key">
    Create an API key in the [Viggle Dashboard](https://portal.viggle.ai/keys).
  </Step>

  <Step title="Create a render" icon="film">
    Upload an image and a motion video to `POST /v1/renders`.
  </Step>

  <Step title="Wait for the result" icon="clock">
    Poll `GET /v1/renders/{render_id}` until `status` is `ready`, then use `video_url`.
  </Step>
</Steps>

<Card title="Quickstart: create a render" icon="play" href="/v1/guides/create-a-render">
  Copy a complete Python, JavaScript, or cURL example.
</Card>

## Choose a workflow

<Columns cols={2}>
  <Card title="Render now" icon="zap" href="/v1/guides/create-a-render">
    Upload an image and a motion video in one request. Best for a first render or one-off work.
  </Card>

  <Card title="Reuse assets" icon="refresh-cw" href="/v1/guides/reuse-assets">
    Create Characters and Motions once, then reference their IDs in later Render requests.
  </Card>
</Columns>

## Core concepts

| Concept       | What it represents                                                                             |
| ------------- | ---------------------------------------------------------------------------------------------- |
| Character     | A reusable character created from an image. IDs start with `char_`.                            |
| Motion        | A reusable driving motion created from a video. IDs start with `mot_`.                         |
| Render        | An asynchronous video-generation job. IDs start with `render_`.                                |
| 3D Conversion | Image-to-3D and video-to-3D conversion operations. These are separate from reusable V1 assets. |

## Next steps

<Columns cols={3}>
  <Card title="Authentication" icon="lock" href="/v1/authentication">Send API keys securely.</Card>
  <Card title="API reference" icon="code" href="/v1/api-reference/overview">Browse every V1 resource.</Card>
  <Card title="Production guide" icon="server" href="/v1/production/async-jobs">Handle async jobs and failures.</Card>
</Columns>
