

This page documents the **internal** image/video generation models used by the BlitzReels dashboard (AI Studio + Playground). These are powered by **fal.ai**.

If you're looking for the public REST API, start at [Quickstart](/docs/quickstart) and the [OpenAPI Spec](/api/openapi.json).

## Video Clip Routing Rule [#video-clip-routing-rule]

When generating a single **video clip**:

* If a **reference/source image** is selected: we call an **image-to-video** model.
* If **no image** is selected: we call a **text-to-video** model.

This matters for Sora 2 because the image-to-video endpoint requires `image_url`, while the text-to-video endpoint does not.

## H3 Max (fal Research) [#h3-max-fal-research]

H3 Max is available for both video routes:

* Image to video: `minimax/h3-max/image-to-video`
* Text to video: `minimax/h3-max/text-to-video`
* Duration: `5s`–`15s`
* Resolution: `480p` or `768p`
* Native audio: supported
* Image-to-video first and last frames: supported

fal's 75%-off launch extension runs through September 7, 2026. During the offer,
fal charges `$0.0125/second` at 480p and `$0.02/second` at 768p. The public
`GET /generation-options/video` response exposes the current BlitzReels credit rate,
resolution-specific rates, and promotion expiry.

## Sora 2 (fal.ai) [#sora-2-falai]

We support **Sora 2 Pro** via fal.ai:

* Image to video: `fal-ai/sora-2/image-to-video/pro`
* Text to video: `fal-ai/sora-2/text-to-video/pro`

fal docs:

* `https://fal.ai/models/fal-ai/sora-2/image-to-video/pro/llms.txt`
* `https://fal.ai/models/fal-ai/sora-2/text-to-video/pro/llms.txt`

Notes:

* Supported durations (current app UI): `4s`, `8s`.
* Output resolution (current app config): `1080p`.
* For privacy, we pass `delete_video: false` so the result can be stored/processed in the BlitzReels media library.

## Other Supported Video Models (Dashboard) [#other-supported-video-models-dashboard]

The dashboard also supports other image-to-video and text-to-video models (Kling, MiniMax, Luma, Google Veo, Wan, xAI Grok).

The canonical list lives in code:

* `src/lib/fal-constants.ts`
* `src/modules/playground/ui/video-generator-constants.ts`
