# kwaivgi/kling-v2.1-i2v-master
> Delivers professional-grade image-to-video generation with precise motion continuity and visual depth.
## Overview
- **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-v2.1-i2v-master`
## 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-v2.1-i2v-master"`
- **`prompt`** (`string`, _required_):
Text prompt for generation; Positive text prompt; Cannot exceed 2500 characters.
- Default: `"The scene opens with a small fishing boat caught in the midst of a raging storm. The sky is dark and ominous, filled with swirling clouds and flashes of lightning. The sea is tumultuous, with massive waves crashing against the boat, threatening to capsize it. The boat's deck is slick with rain, and the crew members are struggling to maintain control."`
- **`negative_prompt`** (`string`, _optional_):
Negative text prompt; Cannot exceed 2500 characters.
- Default: `"blur, distort, and low quality"`
- **`image`** (`string`, _required_):
First frame of the video; Supported image formats include.jpg/.jpeg/.png; The image file size cannot exceed 10MB, and the image resolution should not be less than 300*300px.
- Default: `"https://static.atlascloud.ai/media/images/1749522950129341275_kHvrnkgd.jpeg"`
- **`guidance_scale`** (`number`, _optional_):
The guidance scale to use for the generation.
- Default: `0.5`
- Min: 0
- Max: 1
- **`duration`** (`string`, _optional_):
The duration of the generated media in seconds.
- Default: `"5"`
- Options: "5", "10"
**Required Parameters Example**:
```json
{
"model": "kwaivgi/kling-v2.1-i2v-master",
"prompt": "The scene opens with a small fishing boat caught in the midst of a raging storm. The sky is dark and ominous, filled with swirling clouds and flashes of lightning. The sea is tumultuous, with massive waves crashing against the boat, threatening to capsize it. The boat's deck is slick with rain, and the crew members are struggling to maintain control.",
"image": "https://static.atlascloud.ai/media/images/1749522950129341275_kHvrnkgd.jpeg"
}
```
**Full Example**:
```json
{
"model": "kwaivgi/kling-v2.1-i2v-master",
"prompt": "The scene opens with a small fishing boat caught in the midst of a raging storm. The sky is dark and ominous, filled with swirling clouds and flashes of lightning. The sea is tumultuous, with massive waves crashing against the boat, threatening to capsize it. The boat's deck is slick with rain, and the crew members are struggling to maintain control.",
"negative_prompt": "blur, distort, and low quality",
"image": "https://static.atlascloud.ai/media/images/1749522950129341275_kHvrnkgd.jpeg",
"guidance_scale": 0.5,
"duration": "5"
}
```
### Output Schema
The API returns the following output format:
- **`id`** (`string`, _optional_):
Unique identifier for the prediction, the ID of the prediction to get.
- **`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 content (empty when status is not completed).
- **`created_at`** (`string`, _optional_):
ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”).
- **`has_nsfw_contents`** (`array[boolean]`, _optional_):
Array of boolean values indicating NSFW detection for each output.
**Example Response**:
```json
{
"id": "",
"urls": {},
"model": "",
"status": "",
"outputs": [
""
],
"created_at": "",
"has_nsfw_contents": []
}
```
## 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-v2.1-i2v-master",
"prompt": "The scene opens with a small fishing boat caught in the midst of a raging storm. The sky is dark and ominous, filled with swirling clouds and flashes of lightning. The sea is tumultuous, with massive waves crashing against the boat, threatening to capsize it. The boat's deck is slick with rain, and the crew members are struggling to maintain control.",
"negative_prompt": "blur, distort, and low quality",
"image": "https://static.atlascloud.ai/media/images/1749522950129341275_kHvrnkgd.jpeg",
"guidance_scale": 0.5,
"duration": "5"
}'
# 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-v2.1-i2v-master)