> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apisale.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling v3 Standard — Image To Video

> Kuaishou Kling v3, Standard/Pro tiers, multi-shot and native audio. Optimized for image to video via apisale.

## Overview

Kuaishou Kling v3, Standard/Pro tiers, multi-shot and native audio. Optimized for image to video via apisale.

<Info>
  **Docs** = API contract + Try it (snapshot). **[Explore](https://apisale.ai/explore)** = browser playground. **[Model page](https://apisale.ai/models/kuaishou/kling-v3/standard/image-to-video)** = product examples.
</Info>

## Endpoint

```http theme={null}
POST https://api.apisale.ai/v1/run/kuaishou/kling-v3/standard/image-to-video
```

|                |                                             |
| -------------- | ------------------------------------------- |
| **Model slug** | `kuaishou/kling-v3/standard/image-to-video` |
| **Category**   | Image to Video (`image-to-video`)           |
| **Lab**        | Kuaishou                                    |
| **Tier**       | Standard                                    |
| **Mode**       | async                                       |

## Pricing

**From \$0.059/sec**

apisale price is **30%** below the vendor's official list price.

| Tier                       | Unit   | Official price | apisale price |
| -------------------------- | ------ | -------------- | ------------- |
| no audio                   | second | \$0.084        | \$0.059       |
| with audio                 | second | \$0.126        | \$0.088       |
| with audio + voice control | second | \$0.154        | \$0.108       |

<Info>
  **Official price** = vendor list price. **apisale price** = what you pay through apisale.
</Info>

## Request

```json theme={null}
{‌
  "input": {‌
    "duration": "5",
    "cfg_scale": 0.5,
    "shot_type": "customize",
    "generate_audio": false,
    "negative_prompt": "blur, distort, and low quality",
    "prompt": "Gentle cinematic push-in as the subject turns slightly toward camera, natural wind motion in hair and fabric, soft rim light, keep identity stable, clean photoreal motion, no text overlays",
    "start_image_url": "https://assets.apisale.ai/temp/2026/07/18/ce4b5315-711a-4a5c-87c5-e78d298bc7a3.png"
  }
}
```

### Parameters

Fields marked \* are required. Use `Authorization: Key YOUR_API_KEY` for REST.

<ParamField body="input.prompt" type="string">
  Text prompt for video generation. Maximum 4000 characters.
</ParamField>

<ParamField body="input.duration" type="string">
  Default: `5` Values: `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`
</ParamField>

<ParamField body="input.elements" type="array">
  Character/object elements; reference in prompt as @Element1.
</ParamField>

<ParamField body="input.cfg_scale" type="number">
  Classifier-free guidance scale (0-1). Default: `0.5` Range: 0 – 1
</ParamField>

<ParamField body="input.shot_type" type="string">
  Default: `customize` Values: `customize`, `intelligent`
</ParamField>

<ParamField body="input.multi_prompt" type="array">
  Per-shot prompt list.
</ParamField>

<ParamField body="input.end_image_url" type="string">
  Optional end frame image URL.
</ParamField>

<ParamField body="input.generate_audio" type="boolean">
  Default: `true`
</ParamField>

<ParamField body="input.negative_prompt" type="string">
  Default: `blur, distort, and low quality`
</ParamField>

<ParamField body="input.start_image_url" type="string" required>
  Start frame image URL (required for image-to-video).
</ParamField>

<ParamField body="webhook_url" type="string">
  Optional HTTPS webhook when the run reaches a terminal state.
</ParamField>

<ParamField body="sync" type="boolean">
  Block until completion (same Run response shape).
</ParamField>

<AccordionGroup>
  <Accordion title="Input schema">
    ```json expandable theme={null}
    {‌
      "params": {‌
        "prompt": {‌
          "type": "string",
          "max_length": 4000,
          "description": "Text prompt for video generation. Maximum 4000 characters."
        },
        "duration": {‌
          "type": "enum",
          "values": [
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15"
          ],
          "default": "5"
        },
        "elements": {‌
          "type": "array",
          "description": "Character/object elements; reference in prompt as @Element1."
        },
        "cfg_scale": {‌
          "max": 1,
          "min": 0,
          "type": "number",
          "default": 0.5,
          "description": "Classifier-free guidance scale (0-1)."
        },
        "shot_type": {‌
          "type": "enum",
          "values": [
            "customize",
            "intelligent"
          ],
          "default": "customize"
        },
        "multi_prompt": {‌
          "type": "array",
          "description": "Per-shot prompt list."
        },
        "end_image_url": {‌
          "type": "media",
          "description": "Optional end frame image URL."
        },
        "generate_audio": {‌
          "type": "bool",
          "default": true
        },
        "negative_prompt": {‌
          "type": "string",
          "default": "blur, distort, and low quality",
          "max_length": 2000
        },
        "start_image_url": {‌
          "type": "media",
          "required": true,
          "description": "Start frame image URL (required for image-to-video)."
        }
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## Submit response

Returns a **Run** with `run_id`. Poll with [GET /v1/runs/\{run\_id}](/model-apis/poll-runs) or use **Try it** above.

<ResponseField name="run_id" type="string" required>
  Unique run ID — save for polling and webhooks.
</ResponseField>

<ResponseField name="status" type="string" required>
  `queued` (async) or terminal state for sync runs.
</ResponseField>

<ResponseField name="output" type="object">
  Result when `status` is `succeeded` — see **Output schema** below.
</ResponseField>

### Example (async submit)

```json theme={null}
{
  "run_id": "run_550e8400-e29b-41d4-a716-446655440000",
  "endpoint": "kuaishou/kling-v3/standard/image-to-video",
  "model": "image-to-video",
  "capability": "video",
  "mode": "image-to-video",
  "status": "queued",
  "output": null,
  "error": null,
  "billing": null,
  "created_at": "2026-06-27T12:00:00.000Z",
  "started_at": null,
  "completed_at": null,
  "elapsed_ms": null
}
```

Full lifecycle: [Runs lifecycle](/model-apis/runs-lifecycle).

## Output

When `status` is `succeeded`, `output` follows this schema:

<AccordionGroup>
  <Accordion title="Output schema">
    ```json expandable theme={null}
    {‌
      "type": "object",
      "example": {‌
        "videos": [
          {‌
            "url": "https://cdn.mountsea.ai/tasks/ms-example/0.mp4"
          }
        ]
      },
      "required": [
        "videos"
      ],
      "properties": {‌
        "videos": {‌
          "type": "array",
          "items": {‌
            "type": "object",
            "required": [
              "url"
            ],
            "properties": {‌
              "url": {‌
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      },
      "description": "Succeeded task output: single video URL."
    }
    ```
  </Accordion>
</AccordionGroup>

## Example

```bash theme={null}
curl -X POST "https://api.apisale.ai/v1/run/kuaishou/kling-v3/standard/image-to-video" \
  -H "Authorization: Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {
    "duration": "5",
    "cfg_scale": 0.5,
    "shot_type": "customize",
    "generate_audio": false,
    "negative_prompt": "blur, distort, and low quality",
    "prompt": "Gentle cinematic push-in as the subject turns slightly toward camera, natural wind motion in hair and fabric, soft rim light, keep identity stable, clean photoreal motion, no text overlays",
    "start_image_url": "https://assets.apisale.ai/temp/2026/07/18/ce4b5315-711a-4a5c-87c5-e78d298bc7a3.png"
  }
}'
```

## Related

* [Kling v3 Pro — Image To Video](/api/video/kuaishou/kling-v3/pro/image-to-video)
* [Runs lifecycle](/model-apis/runs-lifecycle)
* [Video API overview](/api/video)
* [Account API](/get-started/account-and-monitoring)


## OpenAPI

````yaml openapi-catalog.json POST /v1/run/kuaishou/kling-v3/standard/image-to-video
openapi: 3.0.3
info:
  title: apisale Model Catalog
  version: '2026-09-01T09:47:50.773Z'
  description: Per-model OpenAPI operations for Mintlify Try playground.
servers:
  - url: https://api.apisale.ai
security: []
paths:
  /v1/run/kuaishou/kling-v3/standard/image-to-video:
    post:
      tags:
        - Model catalog
        - video
        - Kuaishou
      summary: Create Kling v3 Standard — Image To Video
      description: >-
        Kuaishou Kling v3, Standard/Pro tiers, multi-shot and native audio.
        Optimized for image to video via apisale.
      operationId: submit-kuaishou-kling-v3-standard-image-to-video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - input
              properties:
                input:
                  type: object
                  properties:
                    prompt:
                      description: >-
                        Text prompt for video generation. Maximum 4000
                        characters.
                      type: string
                    duration:
                      type: string
                      enum:
                        - '3'
                        - '4'
                        - '5'
                        - '6'
                        - '7'
                        - '8'
                        - '9'
                        - '10'
                        - '11'
                        - '12'
                        - '13'
                        - '14'
                        - '15'
                      default: '5'
                    elements:
                      description: >-
                        Character/object elements; reference in prompt as
                        @Element1.
                      type: array
                      items:
                        type: string
                    cfg_scale:
                      description: Classifier-free guidance scale (0-1).
                      type: number
                      minimum: 0
                      maximum: 1
                      default: 0.5
                    shot_type:
                      type: string
                      enum:
                        - customize
                        - intelligent
                      default: customize
                    multi_prompt:
                      description: Per-shot prompt list.
                      type: array
                      items:
                        type: string
                    end_image_url:
                      description: Optional end frame image URL.
                      type: string
                      format: uri
                    generate_audio:
                      type: boolean
                      default: true
                    negative_prompt:
                      type: string
                      default: blur, distort, and low quality
                    start_image_url:
                      description: Start frame image URL (required for image-to-video).
                      type: string
                      format: uri
                  required:
                    - start_image_url
                  example:
                    duration: '5'
                    cfg_scale: 0.5
                    shot_type: customize
                    generate_audio: false
                    negative_prompt: blur, distort, and low quality
                    prompt: >-
                      Gentle cinematic push-in as the subject turns slightly
                      toward camera, natural wind motion in hair and fabric,
                      soft rim light, keep identity stable, clean photoreal
                      motion, no text overlays
                    start_image_url: >-
                      https://assets.apisale.ai/temp/2026/07/18/ce4b5315-711a-4a5c-87c5-e78d298bc7a3.png
                webhook_url:
                  type: string
                  format: uri
                sync:
                  type: boolean
                  default: false
            example:
              input:
                duration: '5'
                cfg_scale: 0.5
                shot_type: customize
                generate_audio: false
                negative_prompt: blur, distort, and low quality
                prompt: >-
                  Gentle cinematic push-in as the subject turns slightly toward
                  camera, natural wind motion in hair and fabric, soft rim
                  light, keep identity stable, clean photoreal motion, no text
                  overlays
                start_image_url: >-
                  https://assets.apisale.ai/temp/2026/07/18/ce4b5315-711a-4a5c-87c5-e78d298bc7a3.png
      responses:
        '201':
          description: Run accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunObject'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    RunObject:
      type: object
      required:
        - run_id
        - endpoint
        - model
        - capability
        - mode
        - status
        - created_at
      properties:
        run_id:
          type: string
          description: Unique run identifier
        endpoint:
          type: string
          description: Model slug
        model:
          type: string
        capability:
          type: string
        mode:
          type: string
        status:
          type: string
          enum:
            - queued
            - processing
            - succeeded
            - failed
            - timeout
            - cancelled
        output:
          type: object
          nullable: true
        error:
          type: object
          nullable: true
          properties:
            type:
              type: string
              description: Machine-readable error code
            code:
              type: number
              description: HTTP status
            message:
              type: string
        billing:
          type: object
          nullable: true
          properties:
            amount:
              type: string
            currency:
              type: string
              enum:
                - usd
        created_at:
          type: string
          format: date-time
        started_at:
          type: string
          format: date-time
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        elapsed_ms:
          type: number
          nullable: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Key sk-... (native REST) or Bearer sk-... (vendor SDKs)

````