# BLACKFORESTLABS FLUX 3 Keyframes-to-Video — Atlas Cloud API

> Generate a video that hits the supplied keyframe images at exact frame positions using FLUX 3.

This is the machine-readable API reference for **BLACKFORESTLABS FLUX 3 Keyframes-to-Video** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `black-forest-labs/flux-3/keyframes-to-video`
- **Built by**: Black Forest Labs
- **Modality**: Video
- **Model page**: https://www.atlascloud.ai/models/black-forest-labs/flux-3/keyframes-to-video
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.17 per second of generated video
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_video` with `model: "black-forest-labs/flux-3/keyframes-to-video"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas generate video black-forest-labs/flux-3/keyframes-to-video -p "Your prompt here"
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateVideo` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `black-forest-labs/flux-3/keyframes-to-video`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _required_):
  model name
  - Default: `"black-forest-labs/flux-3/keyframes-to-video"`

- **`keyframes`** (`array`, _required_):
  Keyframe images pinned to frame positions in the generated video. Up to 10 keyframes with unique frame_index values. Video is 24 fps; frame_index must be at most duration × 24.
  - Max items: 10

- **`prompt`** (`string`, _optional_):
  Text description of the video to generate.

- **`aspect_ratio`** (`string`, _optional_):
  Aspect ratio of the generated video. auto lets the model choose.
  - Default: `"auto"`
  - Options: "auto", "21:9", "2:1", "16:9", "4:3", "1:1", "3:4", "9:16"

- **`resolution`** (`string`, _optional_):
  Resolution of the generated video.
  - Default: `"720p"`
  - Options: "720p", "1080p"

- **`duration`** (`integer`, _optional_):
  Duration of the generated video in seconds. An explicit duration is required to validate keyframe positions.
  - Default: `5`
  - Options: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

- **`generate_audio`** (`boolean`, _optional_):
  Whether to generate audio for the video.
  - Default: `true`

- **`safety_tolerance`** (`integer`, _optional_):
  Safety tolerance level. 0 is the strictest and 4 is the most permissive.
  - Default: `2`
  - Min: 0
  - Max: 4

- **`seed`** (`integer`, _optional_):
  Random seed for reproducibility.
  - Min: 0



**Required Parameters Example**:

```json
{
  "model": "black-forest-labs/flux-3/keyframes-to-video",
  "keyframes": []
}
```


**Full Example**:

```json
{
  "model": "black-forest-labs/flux-3/keyframes-to-video",
  "keyframes": [],
  "prompt": "",
  "aspect_ratio": "auto",
  "resolution": "720p",
  "duration": 5,
  "generate_audio": true,
  "safety_tolerance": 2,
  "seed": 0
}
```


### Output Schema

The API returns the following output format:


- **`model`** (`string`, _optional_):
  model name
  - Default: `"black-forest-labs/flux-3/keyframes-to-video"`

- **`created_at`** (`string`, _optional_):
  ISO timestamp of when the request was created.

- **`id`** (`string`, _optional_):
  Unique identifier for the prediction.

- **`outputs`** (`array[string]`, _optional_):
  Array of URLs to the generated videos. Null when status is not completed.

- **`status`** (`string`, _optional_):
  Status of the task: created, processing, completed, or failed.

- **`urls`** (`object`, _optional_):
  Object containing related API endpoints.



**Example Response**:

```json
{
  "model": "black-forest-labs/flux-3/keyframes-to-video",
  "created_at": "",
  "id": "",
  "outputs": [
    ""
  ],
  "status": "",
  "urls": {}
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateVideo" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "black-forest-labs/flux-3/keyframes-to-video",
  "keyframes": [],
  "prompt": "",
  "aspect_ratio": "auto",
  "resolution": "720p",
  "duration": 5,
  "generate_audio": true,
  "safety_tolerance": 2,
  "seed": 0
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/black-forest-labs/flux-3/keyframes-to-video)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

#### FLUX 3 Keyframes to Video

**FLUX 3 Keyframes to Video** generates a video that hits your supplied images at exact frame positions. Provide up to 10 keyframe images each pinned to a specific frame index, add a prompt describing the overall motion, and the model interpolates a cinematic clip that passes through every keyframe precisely — with optional native audio.

#### Why Choose This?

-   **Frame-accurate image placement** Pin up to 10 images to any frame position in the output video (24 fps).

-   **Full creative control** Combine multiple visual anchors with a single guiding prompt.

-   **Native audio generation** Produce video and synchronized audio in a single request.

-   **Explicit duration required** Duration must be set explicitly to validate keyframe positions.

-   **Flexible aspect ratios** `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, or `9:16`.

-   **High resolution output** Generate videos in 720p or 1080p.

#### Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| keyframes | Yes | Array of keyframe objects (up to 10). Each must have a unique `frame_index`. See schema below |
| prompt | No | Text description of the overall motion and scene |
| aspect_ratio | No | Aspect ratio of the generated video. Default: `auto`. Options: `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16` |
| resolution | No | Video resolution. Default: `720p`. Options: `720p`, `1080p` |
| duration | No | Duration in seconds. Default: `5`. Options: `5`–`20`. **Cannot be `auto`** — required to validate keyframe positions |
| generate_audio | No | Whether to generate audio. Default: `true` |
| safety_tolerance | No | Safety level 0 (strictest) to 4 (most permissive). Default: `2` |
| seed | No | Random seed for reproducibility |

##### Keyframe Object

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/black-forest-labs/flux-3/keyframes-to-video · Docs: https://www.atlascloud.ai/docs
