---
title: "Kling 4.0 Flash"
method: POST
path: "/generate/video/kling/kling-4-flash"
tags: ["Video"]
---

# Kling 4.0 Flash

`POST /generate/video/kling/kling-4-flash`

## Request

- Base URL: `https://api.krea.ai`
- URL: `https://api.krea.ai/generate/video/kling/kling-4-flash`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/krea/apis/krea-api/docs/generate/video/kling/kling-4-flash/post.ts> (a function with typed inputs; its response is checked against the schema)

Faster Kling 4.0 tier with up to 20s outputs at 720p.

## Headers

- `X-Webhook-URL` string, uri

## Request body

- object
  - `prompt` string, required
  - `start_image` string, uri, nullable: Can be an external URL, base64 data URI, or uploaded asset URL.
  - `aspect_ratio` '16:9' | '9:16' | '1:1' | '21:9'
  - `resolution` '720p'
  - `duration` integer
  - `reference_images` string[]
  - `reference_videos` string[]
  - `element_references` object[]
    - `images` string[], required
    - `tag` string, required
  - `edit_video` string, uri: Can be an external URL, base64 data URI, or uploaded asset URL.

## Response `200`

The resulting job data. This will be returned in a pending state until the job is completed. See [`/jobs/{id}`](#tag/default/get/jobs/{id}) for retrieving the results.

- object
  - `job_id` string, uuid, required
  - `status` 'backlogged' | 'queued' | 'scheduled' | 'processing' | 'sampling' | 'intermediate-complete' | 'completed' | 'failed' | 'cancelled', required
  - `created_at` string, date-time, required
  - `completed_at` unknown, required
  - `result` unknown, required
  - `error` object
    - `code` string, required: Why the job failed. `invalid_request` means the request broke a rule, such as a media limit or a file that cannot be read or downloaded. `validation_failed` means a value is outside its parameter's schema. For both codes, change the parameter named in `param` before you resubmit. Other codes are `content_policy`, `model_unavailable`, `insufficient_balance`, `timeout`, `auto_cancelled`, `provider_error`, `internal`, and `node_app_node_failed`. Treat an unknown code as `internal`.
    - `message` string
    - `param` string: The request parameter to change, present with `invalid_request` and `validation_failed`.
  - `progress` number, nullable

## Other responses

- `400`: The request body is invalid.
- `401`: You are not authenticated.
- `402`: You have run out of credits.
- `429`: You have reached the maximum number of concurrent jobs.

## Changes

- **2026-11-04** `bb0e1b04e578`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/krea/apis/krea-api/changes/generate/video/kling/kling-4-flash/post.md)

---

[API](https://skmtc.dev/krea/apis/krea-api.md) - [All operations](https://skmtc.dev/krea/apis/krea-api/llms.txt) - [OpenAPI document](https://skmtc.dev/krea/apis/krea-api/revisions/fd7e85c77db4?raw)
