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

# Boreal-H3

> Creatify's post-trained H3 model: text, start and end frames, or reference media to video, up to 2k.

Set `model` to `boreal-h3` on `POST /api/boreal/`. For the request lifecycle (polling and webhooks), see the [Boreal overview](/api-documentation/boreal/boreal).

* **Three modes.** A prompt alone is text to video. `image_url` animates a start frame (image to video), and `end_image_url` adds a closing frame. The `reference_*_urls` parameters build the scene from reference media (reference to video).
* **Length.** `duration` is a whole number from 5 to 15 seconds. Default `10`.
* **Resolution.** `768p` (default), `1088p` or `2k` (1440 px on the short edge).
* **Sound.** Boreal-H3 takes no `audio_url`. To add sound, send `reference_audio_urls` with an image or video reference.
* **Prompt rewrite.** Boreal-H3 rewrites the prompt into the form the model works best with. Set `prompt_enhancement` to `none` to render it as sent.

## Pricing

Billing is per second of video, 5 to 15 seconds at every resolution. It is the same price as the `boreal-h3` models on the [Asset Generator](/api-documentation/ai-generation/models/creatify):

| Resolution | Credits per second |
| - | - |
| 768p | 0.4 |
| 1088p | 1.2 |
| 2k | 2.6 |

Reference inputs are billed on top of the video:

* Reference videos cost 0.4 credits (768p) or 0.6 credits (1088p and 2k) per second of their combined length, counting up to 15 seconds.
* The first five reference images are free. Each one after that costs 0.2 credits.
* Reference audio is free.

The total is rounded up to the next half credit. For example, a 5-second 768p video costs 2 credits, and a 15-second 2k video costs 39 credits.

Failed videos are refunded automatically, and generated videos stay available for at least 7 days. See [Pricing, limits and retention](/api-documentation/boreal/boreal#-pricing-limits-and-retention) to compare every model.

## Requests

<CodeGroup>
  ```bash Text to video theme={null}
  curl --request POST \
      --url https://api.creatify.ai/api/boreal/ \
      --header 'Content-Type: application/json' \
      --header 'X-API-ID: your-api-id' \
      --header 'X-API-KEY: your-api-key' \
      --data '{
      "model": "boreal-h3",
      "prompt": "A barista pours latte art into a white ceramic cup. Slow push-in, warm morning light, soft cafe chatter in the background.",
      "resolution": "768p",
      "aspect_ratio": "9:16",
      "duration": 10,
      "webhook_url": "https://webhook.example"
    }'
  ```

  ```bash Image to video theme={null}
  curl --request POST \
      --url https://api.creatify.ai/api/boreal/ \
      --header 'Content-Type: application/json' \
      --header 'X-API-ID: your-api-id' \
      --header 'X-API-KEY: your-api-key' \
      --data '{
      "model": "boreal-h3",
      "prompt": "The chef places the final herb garnish on the salmon and slides the plate forward. Slow dolly-in, warm kitchen light, gentle steam.",
      "image_url": "https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/boreal-h3-chef.jpg",
      "resolution": "2k",
      "duration": 10,
      "webhook_url": "https://webhook.example"
    }'
  ```

  ```bash Start and end frames theme={null}
  curl --request POST \
      --url https://api.creatify.ai/api/boreal/ \
      --header 'Content-Type: application/json' \
      --header 'X-API-ID: your-api-id' \
      --header 'X-API-KEY: your-api-key' \
      --data '{
      "model": "boreal-h3",
      "prompt": "The woman looks up from her laptop and starts explaining something to the camera, gesturing with her hands. Handheld UGC sway, soft natural light.",
      "image_url": "https://d35ghwdno3nak3.cloudfront.net/tutorial/avatar-aurora/recommendation-4.jpg",
      "end_image_url": "https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/end-frame.jpg",
      "resolution": "1088p",
      "duration": 8,
      "webhook_url": "https://webhook.example"
    }'
  ```

  ```bash Reference to video theme={null}
  curl --request POST \
      --url https://api.creatify.ai/api/boreal/ \
      --header 'Content-Type: application/json' \
      --header 'X-API-ID: your-api-id' \
      --header 'X-API-KEY: your-api-key' \
      --data '{
      "model": "boreal-h3",
      "prompt": "The woman from Image 1 talks to the camera in a bright café, with the gestures of Video 1. Handheld UGC framing, warm light.",
      "reference_image_urls": [
        "https://d35ghwdno3nak3.cloudfront.net/tutorial/avatar-aurora/recommendation-4.jpg"
      ],
      "reference_video_urls": [
        "https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/sample-video.mp4"
      ],
      "aspect_ratio": "9:16",
      "duration": 10,
      "webhook_url": "https://webhook.example"
    }'
  ```
</CodeGroup>

## Examples

Image to video at `2k`, 10 seconds, 26 credits each. The first is the "Image to video" request above. The second starts from `boreal-h3-phone.jpg` with the prompt "She scrolls on her phone, then turns the screen toward the camera and nods with a smile. Handheld UGC sway, warm natural light."

<div className="flex flex-col sm:flex-row gap-4 items-start">
  <div className="w-full min-w-0" style={{ flex: "1.7778 1 0%" }}>
    <video controls playsInline preload="metadata" poster="https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/boreal-h3-chef.jpg" src="https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/boreal-h3-chef.mp4" className="block w-full rounded-xl bg-black" style={{ aspectRatio: "16 / 9" }} />

    <div className="mt-2 text-sm text-center text-gray-500 dark:text-gray-400">Chef plating</div>
  </div>

  <div className="w-full min-w-0" style={{ flex: "0.5625 1 0%" }}>
    <video controls playsInline preload="metadata" poster="https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/boreal-h3-phone.jpg" src="https://d35ghwdno3nak3.cloudfront.net/tutorial/asset-generator/boreal-h3-phone.mp4" className="block w-full rounded-xl bg-black" style={{ aspectRatio: "9 / 16" }} />

    <div className="mt-2 text-sm text-center text-gray-500 dark:text-gray-400">App reveal</div>
  </div>
</div>

## Parameters

| Parameter | Required | Description |
| - | - | - |
| `model` | Yes | `boreal-h3`. |
| `prompt` | Yes | What the video should show: subject, action, camera, and any dialogue or sound. In a reference render, name the references (Image 1, Video 1, Audio 1). |
| `image_url` | No | Start frame. The video follows the image's own aspect ratio, so leave `aspect_ratio` at `auto`. |
| `end_image_url` | No | Closing frame. Needs `image_url`. |
| `reference_image_urls` | No | Up to 9 reference images. |
| `reference_video_urls` | No | Up to 3 reference videos. |
| `reference_audio_urls` | No | Up to 3 reference audio tracks. Needs at least one image or video reference. |
| `resolution` | No | `768p` (default), `1088p` or `2k`. |
| `aspect_ratio` | No | `auto` (default), `16:9`, `9:16`, `1:1`, `4:3` or `3:4`. `auto` follows the start image or the first reference image, and is 16:9 with no image. |
| `duration` | No | Whole seconds from 5 to 15. Default `10`. |
| `prompt_enhancement` | No | `auto` (default) rewrites the prompt; `none` renders it as sent. |
| `webhook_url` | No | URL that receives the result when the video is ready. |

* In a reference render, refer to the references by type and order in the prompt: Image 1, Image 2, Video 1, Audio 1.
* A reference render takes no `image_url` or `end_image_url`. Send those frames as reference images instead.
* With `image_url`, leave `aspect_ratio` at `auto`: the video follows the image's ratio. In a reference render, `auto` follows the first reference image. With no image, `auto` is 16:9.
* A `1088p` render with only video references needs a named `aspect_ratio`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.