# Kling v3.0 Pro Image-to-Video — Atlas Cloud API

> Kling v3.0 Professional Image-to-Video model by Kuaishou. Premium quality video generation from images with advanced features.

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

- **Model ID**: `kwaivgi/kling-v3.0-pro/image-to-video`
- **Built by**: Kuaishou
- **Modality**: Video
- **Model page**: https://www.atlascloud.ai/models/kwaivgi/kling-v3.0-pro/image-to-video
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.095 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: "kwaivgi/kling-v3.0-pro/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 kwaivgi/kling-v3.0-pro/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**: `kwaivgi/kling-v3.0-pro/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: `"kwaivgi/kling-v3.0-pro/image-to-video"`
  - Options: "kwaivgi/kling-v3.0-pro/image-to-video"

- **`prompt`** (`string`, _optional_):
  The positive prompt for the generation. Maximum 2,500 characters; longer prompts will fail Kling generation, including SR modes.

- **`negative_prompt`** (`string`, _optional_):
  The negative prompt for the generation.

- **`image`** (`string`, _required_):
  Supported image formats: .jpg/.jpeg/.png. The size of the image file should not exceed 10MB, the width and height of the image should be no less than 300px, and the aspect ratio of the image should be between 1:2.5 and 2.5:1.

- **`end_image`** (`string`, _optional_):
  URL of the ending image.

- **`multi_shot`** (`boolean`, _optional_):
  Whether to enable multi-shot generation.
  - Default: `false`

- **`shot_type`** (`string`, _optional_):
  Multi-shot mode. customize = caller provides per-shot prompts; intelligence = model auto-splits the top-level prompt into shots. Required when multi_shot=true.
  - Options: "customize", "intelligence"

- **`multi_prompt`** (`array[object]`, _optional_):
  Per-shot storyboards. Required when multi_shot=true and shot_type=customize. Sum of each shot's duration must equal the top-level duration; each shot duration must be >= 1.
  - Min items: 1
  - Max items: 6
  - Item properties:
    - **`index`** (`integer`, _required_):
      1-based shot index. Auto-aligned to array position.
      - Min: 1

    - **`prompt`** (`string`, _required_):
      Prompt for this shot. Supports subject mentions like <<<element_1>>>.

    - **`duration`** (`string`, _required_):
      Duration of this shot in seconds (string, '1'~'15'). Sum of all shots must equal the top-level duration. Each shot duration >= 1.


- **`elements`** (`array[object]`, _optional_):
  Subject references (Atlas naming; maps to Kling 'element_list'). Each item either references an existing subject by element_id, or creates a new one inline with element_name + reference_type + frontal_image / refer_images / refer_videos (Atlas wrapper feature — backend creates the element via Kling's element API, then injects the resulting element_id). Mention subjects in prompt with <<<element_N>>> (1-based, matches array position). For kling-v3-omni: up to 3 elements.
  - Max items: 6
  - Item properties:
    - **`element_id`** (`integer`, _optional_):
      ID of an existing subject from the Kling element library (long / 64-bit integer). Mutually exclusive with element_name.

    - **`element_name`** (`string`, _optional_):
      Name of the new subject to create inline (Atlas wrapper). Mutually exclusive with element_id.

    - **`element_description`** (`string`, _optional_):
      Optional description of the new subject (Atlas wrapper).

    - **`reference_type`** (`string`, _optional_):
      Reference media type for the new subject (Atlas wrapper).
      - Options: "image_refer", "video_refer"

    - **`frontal_image`** (`string`, _optional_):
      Frontal image URL of the new subject (required when reference_type=image_refer).

    - **`refer_images`** (`array[string]`, _optional_):
      Reference image URLs of the new subject (used with reference_type=image_refer).
      - Max items: 4

    - **`refer_videos`** (`array[string]`, _optional_):
      Reference video URLs of the new subject (used with reference_type=video_refer).
      - Max items: 4


- **`resolution`** (`string`, _optional_):
  Native 1080P uses the original Kling v3.0 Pro route. 1440P-SR is a FlashVSR super-resolution mode generated from the native 1080P source.
  - Default: `"1080P"`
  - Options: "1080P", "1440P-SR"

- **`duration`** (`integer`, _optional_):
  The duration of the generated media in seconds (3-15).
  - Default: `5`
  - Options: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

- **`cfg_scale`** (`number`, _optional_):
  Flexibility in video generation; The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt.
  - Default: `0.5`
  - Min: 0
  - Max: 1

- **`sound`** (`boolean`, _optional_):
  Whether sound is generated simultaneously when generating a video.
  - Default: `true`



**Required Parameters Example**:

```json
{
  "model": "kwaivgi/kling-v3.0-pro/image-to-video",
  "image": ""
}
```


**Full Example**:

```json
{
  "model": "kwaivgi/kling-v3.0-pro/image-to-video",
  "prompt": "",
  "negative_prompt": "",
  "image": "",
  "end_image": "",
  "multi_shot": false,
  "shot_type": "customize",
  "multi_prompt": [
    {
      "index": 1,
      "prompt": "",
      "duration": ""
    }
  ],
  "elements": [
    {
      "element_id": 0,
      "element_name": "",
      "element_description": "",
      "reference_type": "image_refer",
      "frontal_image": "",
      "refer_images": [
        ""
      ],
      "refer_videos": [
        ""
      ]
    }
  ],
  "resolution": "1080P",
  "duration": 5,
  "cfg_scale": 0.5,
  "sound": true
}
```


### Output Schema

The API returns the following output format:


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

- **`has_nsfw_contents`** (`array[boolean]`, _optional_):
  Array of boolean values indicating NSFW detection for each output.

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

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

- **`outputs`** (`array[string]`, _optional_):
  Array of URLs to the generated content.

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

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



**Example Response**:

```json
{
  "created_at": "",
  "has_nsfw_contents": [],
  "id": "",
  "model": "",
  "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": "kwaivgi/kling-v3.0-pro/image-to-video",
  "prompt": "",
  "negative_prompt": "",
  "image": "",
  "end_image": "",
  "multi_shot": false,
  "shot_type": "customize",
  "multi_prompt": [
    {
      "index": 1,
      "prompt": "",
      "duration": ""
    }
  ],
  "elements": [
    {
      "element_id": 0,
      "element_name": "",
      "element_description": "",
      "reference_type": "image_refer",
      "frontal_image": "",
      "refer_images": [
        ""
      ],
      "refer_videos": [
        ""
      ]
    }
  ],
  "resolution": "1080P",
  "duration": 5,
  "cfg_scale": 0.5,
  "sound": true
}'

# 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/kwaivgi/kling-v3.0-pro/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._

#### Kling V3.0 Pro Image-to-Video

Kling V3.0 Pro Image-to-Video is Kuaishou's highest-quality image-to-video model. Upload a reference image and describe the motion — the model generates cinematic-grade video with superior visual fidelity, optional synchronized sound, voice support, and start-to-end frame guidance.

#### Why Choose This?

Pro-tier quality Superior visual detail, motion smoothness, and cinematic rendering compared to Standard.

Start-end frame guidance Optional end image for controlled transitions between two frames.

Sound generation Optional synchronized sound effects generated alongside the video.

Voice list support Add up to 2 custom voice entries for character dialogue.

CFG scale control Fine-tune the balance between prompt adherence and creative freedom.

#### Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| prompt | No | Text description of the desired motion and action. Maximum 2,500 characters; longer prompts will fail Kling generation, including SR modes. |
| negative_prompt | No | Elements to exclude from generation |
| image | Yes | Start frame image to animate (URL or upload) |
| end_image | No | End frame image for guided transitions |
| duration | No | Video length: 5 or 10 seconds (default: 5) |
| cfg_scale | No | Prompt adherence strength (default: 0.5) |
| sound | No | Generate synchronized sound (default: disabled) |
| voice_list | No | Custom voice entries, up to 2 (click "+ Add Item") |

#### 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/kwaivgi/kling-v3.0-pro/image-to-video · Docs: https://www.atlascloud.ai/docs
