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

# Overview

> API that transforms a single image into a professional, studio-grade avatar video — lifelike, expressive, and ready for production.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/GekpOvLpnzs" title="Aurora Demo" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen style={{ borderRadius: '12px', marginBottom: '24px' }} />

## 🚀 Introduction

The **Aurora API** enables you to create **studio-quality, avatar-based videos** from just a **single photo** (real or AI-generated) and an **audio clip** (speech or song).\
Powered by a state-of-the-art image-to-avatar model, Aurora generates lifelike videos where the avatar **blinks, speaks, gestures, and emotes** as if it were real.

Whether you’re building user-generated content (UGC) ads, animated characters, or singing avatars, Aurora delivers unparalleled realism with professional-grade output.

***

## ⚙️ Quickstart Guide

### ✅ Prerequisites

Before you begin, ensure you have:

* A [Creatify](https://app.creatify.ai) account with **API access**
* Your **API credentials** (see [Quickstart](/quickstart))

***

## 📝 Step 1: Submit an Avatar Video Generation Request

Use this endpoint to generate a studio-grade avatar video from an **image** and an **audio** file.

<CodeGroup>
  ```bash Example Request theme={null}
  curl --request POST \
      --url https://api.creatify.ai/api/aurora/ \
      --header 'Content-Type: application/json' \
      --header 'X-API-ID: your-api-id' \
      --header 'X-API-KEY: your-api-key' \
      --data '{
      "image": "https://d35ghwdno3nak3.cloudfront.net/tutorial/avatar-aurora/recommendation-4.jpg",
      "audio": "https://d35ghwdno3nak3.cloudfront.net/user/18165/2025-09-15/2d20-req-3VV9TLO6qlTOflMMQBRe-0-s.mp3",
      "model_version": "aurora_v1_fast",
      "webhook_url": "https://webhook.example"
    }'
  ```

  ```json Example Response theme={null}
  {
      "id": "44e480c0-642e-4057-9a50-de00a958e81c",
      "created_at": "2025-09-18T10:27:06.296630-07:00",
      "updated_at": "2025-09-18T10:27:06.296681-07:00",
      "name": null,
      "audio": "https://d35ghwdno3nak3.cloudfront.net/user/18165/2025-09-15/2d20-req-3VV9TLO6qlTOflMMQBRe-0-s.mp3",
      "image": "https://d35ghwdno3nak3.cloudfront.net/tutorial/avatar-aurora/recommendation-4.jpg",
      "video_output": "null",
      "credits_used": 0,
      "duration": null,
      "progress": 0,
      "failed_reason": null,
      "media_job": null,
      "status": "pending",
      "is_hidden": false,
      "webhook_url": "https://webhook.example",
      "preview": null,
      "editor_url": null
  }
  ```
</CodeGroup>

> 🎬 The response includes a unique video ID. Save it to check status.

***

## ⏳ Step 2: Check Avatar Video Generation Status

You can monitor the video generation progress by **polling the status endpoint** using the returned ID until the status changes to `done`.

<CodeGroup>
  ```bash Example Request theme={null}
  curl --request GET  \
     --url https://api.creatify.ai/api/aurora/44e480c0-642e-4057-9a50-de00a958e81c/ \
     --header 'X-API-ID: your-api-id' \
     --header 'X-API-KEY: your-api-key'
  ```

  ```json Example Response theme={null}
  {
      "id": "44e480c0-642e-4057-9a50-de00a958e81c",
      "created_at": "2025-09-18T10:27:06.296630-07:00",
      "updated_at": "2025-09-18T10:27:06.296681-07:00",
      "name": null,
      "audio": "https://d35ghwdno3nak3.cloudfront.net/user/18165/2025-09-15/2d20-req-3VV9TLO6qlTOflMMQBRe-0-s.mp3",
      "image": "https://d35ghwdno3nak3.cloudfront.net/tutorial/avatar-aurora/recommendation-4.jpg",
      "video_output": "https://s3.us-west-2.amazonaws.com/remotionlambda-uswest2-30tewi8y5c/renders/qpyttobqzy/output.mp4",
      "credits_used": 20,
      "duration": 10,
      "progress": 1,
      "failed_reason": null,
      "media_job": null,
      "status": "done",
      "is_hidden": false,
      "webhook_url": "https://webhook.example",
      "preview": null,
      "editor_url": null
  }
  ```
</CodeGroup>

> ✅ When `status` is `done`, retrieve your video from the `video_output` field.

### 🔔 Webhook Option

Instead of polling, you can provide a `webhook_url` in the request to receive the result automatically when the video is ready.\
When processing completes, Aurora will send a POST request to your webhook with a payload like this:

```json theme={null}
{
  "id": "76cdd8b1-e337-4fe3-925f-513f86047104",
  "status": "done",
  "failed_reason": "",
  "video_output": "https://s3.us-west-2.amazonaws.com/remotionlambda-uswest2-30tewi8y5c/renders/qpyttobqzy/output.mp4"
}
```

***

## 🎯 Summary

| Step          | Endpoint                                              |
| ------------- | ----------------------------------------------------- |
| Create Task   | `POST /api/aurora/`                                   |
| Check Status  | `GET /api/aurora/{id}/`                               |
| API Reference | [Aurora Reference](/api-reference/aurora/post-aurora) |

***

## 💳 Pricing

Creating a video through this endpoint costs **1 credit per second** with `aurora_v1`, or **0.5 credits per second** with `aurora_v1_fast`. Billing is per-second; partial seconds round up to the next whole second.

***

## 🤝 Need Help?

If you run into any issues, check out our [API Reference](/api-reference) or contact [api@creatify.ai](mailto:api@creatify.ai).
