# Luma Ray 3.2 Image-to-Video — Atlas Cloud API

> Luma Ray 3.2 image-to-video (Luma AI generations API): animate a first-frame image (optionally interpolating to a last frame) driven by a text prompt. Supports 540p/720p/1080p, 5s/10s.

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

- **Model ID**: `luma/ray-3.2/image-to-video`
- **Built by**: LUMA
- **Modality**: Video
- **Model page**: https://www.atlascloud.ai/models/luma/ray-3.2/image-to-video
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.06 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: "luma/ray-3.2/image-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 luma/ray-3.2/image-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**: `luma/ray-3.2/image-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: `"luma/ray-3.2/image-to-video"`
  - Options: "luma/ray-3.2/image-to-video"

- **`image`** (`string`, _required_):
  First-frame image: URL, Base64, or asset reference (asset://<ASSET_ID>). The video starts from this image.

- **`last_image`** (`string`, _optional_):
  Optional last-frame image (URL / Base64 / asset://). When set, the clip interpolates from the first frame to this frame.

- **`prompt`** (`string`, _optional_):
  Text prompt describing the desired motion, camera movement and atmosphere. Optional but recommended.
  - Default: `"The scene comes alive with gentle, natural motion and cinematic lighting."`

- **`duration`** (`integer`, _optional_):
  Video length in seconds.
  - Default: `5`
  - Options: 5, 10

- **`resolution`** (`string`, _optional_):
  Output resolution tier.
  - Default: `"720p"`
  - Options: "540p", "720p", "1080p"

- **`loop`** (`boolean`, _optional_):
  Generate a seamlessly looping video. Only valid for type=video; not supported with duration=10s or hdr=true.
  - Default: `false`

- **`hdr`** (`boolean`, _optional_):
  Generate HDR video. Requires HDR access. Only valid for 5s clips (not with duration=10s).Only 720p and 1080p are supported.
  - Default: `false`



**Required Parameters Example**:

```json
{
  "model": "luma/ray-3.2/image-to-video",
  "image": ""
}
```


**Full Example**:

```json
{
  "model": "luma/ray-3.2/image-to-video",
  "image": "",
  "last_image": "",
  "prompt": "The scene comes alive with gentle, natural motion and cinematic lighting.",
  "duration": 5,
  "resolution": "720p",
  "loop": false,
  "hdr": false
}
```


### Output Schema

The API returns the following output format:


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

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

- **`model`** (`string`, _optional_):
  Model ID used for the prediction.

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

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

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



**Example Response**:

```json
{
  "id": "",
  "urls": {},
  "model": "",
  "status": "",
  "outputs": [
    ""
  ],
  "created_at": ""
}
```


## 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": "luma/ray-3.2/image-to-video",
  "image": "",
  "last_image": "",
  "prompt": "The scene comes alive with gentle, natural motion and cinematic lighting.",
  "duration": 5,
  "resolution": "720p",
  "loop": false,
  "hdr": false
}'

# 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/luma/ray-3.2/image-to-video)

## About this model

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

### Luma Ray 3.2 Image-to-Video

Luma Ray 3.2 image-to-video. Generation is asynchronous: submit the request, then poll for the result URL.

#### Highlights

- **Image-to-video**: Animate your image — it becomes the first frame.
- **Optional last frame**: Provide `last_image` to interpolate toward a target frame.
- **Resolution tiers**: `540p`, `720p`, `1080p`. **Length**: `5` or `10` seconds.
- **Optional HDR** (720p/1080p, 5s only).
- Output framing follows the input image, so there is no `aspect_ratio` parameter.

#### Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| `model` | Yes | `luma/ray-3.2/image-to-video` |
| `image` | Yes | First-frame image: URL, Base64, or asset reference (`asset://<ASSET_ID>`). The clip starts from this image, which also determines the output framing. |
| `last_image` | No | Optional last-frame image (URL / Base64 / `asset://`). When set, the clip interpolates from the first frame to this frame. |
| `prompt` | Yes | Text prompt describing the desired motion, camera movement and atmosphere. |
| `duration` | No | Video length in seconds. HDR requires 5. One of: `5`, `10`. Defaults to `5`. |
| `resolution` | No | Output resolution tier. HDR requires 720p or 1080p. One of: `540p`, `720p`, `1080p`. Defaults to `720p`. |
| `loop` | No | Generate a seamlessly looping clip. Not supported with duration=10 or hdr=true. Defaults to `false`. |
| `hdr` | No | Generate HDR output (requires HDR access on the upstream account). Only valid with resolution 720p or 1080p and duration 5 — 540p or 10s are rejected upstream. Defaults to `false`. |

#### How To Use

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

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/luma/ray-3.2/image-to-video · Docs: https://www.atlascloud.ai/docs
