Krea Video API

Video generation endpoints

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

krea-ai-video-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Krea Assets Video API
  version: v1
  description: Asset management endpoints for uploading and managing images, videos, audio files, and 3D models
servers:
- url: https://api.krea.ai
  description: Krea API
security:
- bearerAuth: []
tags:
- name: Video
  description: Video generation endpoints
paths:
  /generate/video/kling/kling-1:
    post:
      tags:
      - Video
      description: 'High-control model with 10s duration.

        | Mode | Duration | Compute Units |

        |------|----------|---------------|

        | std | 5s | 60.1 |

        | std | 10s | 120 |

        | pro | 5s | 210 |

        | pro | 10s | 421 |

        > **Deprecated request fields:**

        >

        > - `startImage` -> `start_image` until 2026-06-19

        > - `startVideo` -> `start_video` until 2026-06-19

        > - `aspectRatio` -> `aspect_ratio` until 2026-06-19

        > - `cameraControl` -> `camera_control` until 2026-06-19

        > - `endImage` -> `end_image` until 2026-06-19

        > - `endVideo` -> `end_video` until 2026-06-19

        >

        > Deprecated fields are accepted for compatibility only and are not shown in the request schema.

        '
      summary: Kling 1.0
      x-krea-deprecated-field-aliases:
      - from: startImage
        to: start_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: startVideo
        to: start_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: aspectRatio
        to: aspect_ratio
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: cameraControl
        to: camera_control
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endImage
        to: end_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endVideo
        to: end_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      parameters:
      - name: X-Webhook-URL
        in: header
        required: false
        schema:
          type: string
          format: uri
        description: URL to receive a POST request when the job completes. The webhook will receive the job data including results.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                start_image:
                  type: string
                  format: uri
                start_video:
                  type:
                  - string
                  - 'null'
                  format: uri
                aspect_ratio:
                  type: string
                  enum:
                  - '16:9'
                  - '9:16'
                  - '1:1'
                  default: '16:9'
                duration:
                  anyOf:
                  - type: number
                    const: 5
                  - type: number
                    const: 10
                  default: 5
                camera_control:
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: simple
                      config:
                        type: object
                        properties:
                          zoom:
                            type: number
                            minimum: -10
                            maximum: 10
                          roll:
                            type: number
                            minimum: -10
                            maximum: 10
                          pan:
                            type: number
                            minimum: -10
                            maximum: 10
                          tilt:
                            type: number
                            minimum: -10
                            maximum: 10
                          vertical:
                            type: number
                            minimum: -10
                            maximum: 10
                          horizontal:
                            type: number
                            minimum: -10
                            maximum: 10
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: down_back
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: forward_up
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: right_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: left_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                end_image:
                  type: string
                  format: uri
                end_video:
                  type: string
                  format: uri
                mode:
                  type: string
                  enum:
                  - std
                  - pro
                  default: std
              required:
              - prompt
              additionalProperties: false
            example:
              prompt: Ice citadel, frost mages and snow beasts, in a cool, fantasy anime style.
      responses:
        '200':
          description: 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.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                    - backlogged
                    - queued
                    - scheduled
                    - processing
                    - sampling
                    - intermediate-complete
                    - completed
                    - failed
                    - cancelled
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: 'null'
                  result:
                    type: 'null'
                required:
                - job_id
                - status
                - created_at
                - completed_at
                - result
        '400':
          description: The request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: You are not authenticated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: You have run out of credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: You have reached the maximum number of concurrent jobs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /generate/video/kling/kling-1.5:
    post:
      tags:
      - Video
      description: 'Slow, quality model for complex scenes.

        | Mode | Duration | Compute Units |

        |------|----------|---------------|

        | pro | 5s | 210 |

        | pro | 10s | 421 |

        > **Deprecated request fields:**

        >

        > - `startImage` -> `start_image` until 2026-06-19

        > - `startVideo` -> `start_video` until 2026-06-19

        > - `aspectRatio` -> `aspect_ratio` until 2026-06-19

        > - `cameraControl` -> `camera_control` until 2026-06-19

        > - `endImage` -> `end_image` until 2026-06-19

        > - `endVideo` -> `end_video` until 2026-06-19

        >

        > Deprecated fields are accepted for compatibility only and are not shown in the request schema.

        '
      summary: Kling 1.5
      x-krea-deprecated-field-aliases:
      - from: startImage
        to: start_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: startVideo
        to: start_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: aspectRatio
        to: aspect_ratio
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: cameraControl
        to: camera_control
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endImage
        to: end_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endVideo
        to: end_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      parameters:
      - name: X-Webhook-URL
        in: header
        required: false
        schema:
          type: string
          format: uri
        description: URL to receive a POST request when the job completes. The webhook will receive the job data including results.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                start_image:
                  type: string
                  format: uri
                start_video:
                  type:
                  - string
                  - 'null'
                  format: uri
                aspect_ratio:
                  type: string
                  enum:
                  - '16:9'
                  - '9:16'
                  - '1:1'
                  default: '16:9'
                duration:
                  anyOf:
                  - type: number
                    const: 5
                  - type: number
                    const: 10
                  default: 5
                camera_control:
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: simple
                      config:
                        type: object
                        properties:
                          zoom:
                            type: number
                            minimum: -10
                            maximum: 10
                          roll:
                            type: number
                            minimum: -10
                            maximum: 10
                          pan:
                            type: number
                            minimum: -10
                            maximum: 10
                          tilt:
                            type: number
                            minimum: -10
                            maximum: 10
                          vertical:
                            type: number
                            minimum: -10
                            maximum: 10
                          horizontal:
                            type: number
                            minimum: -10
                            maximum: 10
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: down_back
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: forward_up
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: right_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: left_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                end_image:
                  type: string
                  format: uri
                end_video:
                  type: string
                  format: uri
                mode:
                  type: string
                  const: pro
                  default: pro
              required:
              - prompt
              additionalProperties: false
            example:
              prompt: A serene Japanese koi pond garden, framed by cherry blossoms.
      responses:
        '200':
          description: 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.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                    - backlogged
                    - queued
                    - scheduled
                    - processing
                    - sampling
                    - intermediate-complete
                    - completed
                    - failed
                    - cancelled
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: 'null'
                  result:
                    type: 'null'
                required:
                - job_id
                - status
                - created_at
                - completed_at
                - result
        '400':
          description: The request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: You are not authenticated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: You have run out of credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: You have reached the maximum number of concurrent jobs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /generate/video/kling/kling-1.6:
    post:
      tags:
      - Video
      description: 'Previous gen model for complex scenes.

        | Mode | Duration | Compute Units |

        |------|----------|---------------|

        | std | 5s | 120 |

        | std | 10s | 241 |

        | pro | 5s | 210 |

        | pro | 10s | 421 |

        > **Deprecated request fields:**

        >

        > - `startImage` -> `start_image` until 2026-06-19

        > - `startVideo` -> `start_video` until 2026-06-19

        > - `aspectRatio` -> `aspect_ratio` until 2026-06-19

        > - `cameraControl` -> `camera_control` until 2026-06-19

        > - `endImage` -> `end_image` until 2026-06-19

        > - `endVideo` -> `end_video` until 2026-06-19

        >

        > Deprecated fields are accepted for compatibility only and are not shown in the request schema.

        '
      summary: Kling 1.6
      x-krea-deprecated-field-aliases:
      - from: startImage
        to: start_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: startVideo
        to: start_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: aspectRatio
        to: aspect_ratio
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: cameraControl
        to: camera_control
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endImage
        to: end_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endVideo
        to: end_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      parameters:
      - name: X-Webhook-URL
        in: header
        required: false
        schema:
          type: string
          format: uri
        description: URL to receive a POST request when the job completes. The webhook will receive the job data including results.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                start_image:
                  type: string
                  format: uri
                start_video:
                  type:
                  - string
                  - 'null'
                  format: uri
                aspect_ratio:
                  type: string
                  enum:
                  - '16:9'
                  - '9:16'
                  - '1:1'
                  default: '16:9'
                duration:
                  anyOf:
                  - type: number
                    const: 5
                  - type: number
                    const: 10
                  default: 5
                camera_control:
                  oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: simple
                      config:
                        type: object
                        properties:
                          zoom:
                            type: number
                            minimum: -10
                            maximum: 10
                          roll:
                            type: number
                            minimum: -10
                            maximum: 10
                          pan:
                            type: number
                            minimum: -10
                            maximum: 10
                          tilt:
                            type: number
                            minimum: -10
                            maximum: 10
                          vertical:
                            type: number
                            minimum: -10
                            maximum: 10
                          horizontal:
                            type: number
                            minimum: -10
                            maximum: 10
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: down_back
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: forward_up
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: right_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                  - type: object
                    properties:
                      type:
                        type: string
                        const: left_turn_forward
                      config:
                        type: 'null'
                        default: null
                    required:
                    - type
                end_image:
                  type: string
                  format: uri
                end_video:
                  type: string
                  format: uri
                mode:
                  type: string
                  enum:
                  - std
                  - pro
                  default: std
              required:
              - prompt
              additionalProperties: false
            example:
              prompt: Desert caravan, mystical oases and sand sorcerers, channeling adventure anime vibes.
      responses:
        '200':
          description: 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.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                    - backlogged
                    - queued
                    - scheduled
                    - processing
                    - sampling
                    - intermediate-complete
                    - completed
                    - failed
                    - cancelled
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: 'null'
                  result:
                    type: 'null'
                required:
                - job_id
                - status
                - created_at
                - completed_at
                - result
        '400':
          description: The request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: You are not authenticated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: You have run out of credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: You have reached the maximum number of concurrent jobs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /generate/video/kling/kling-2:
    post:
      tags:
      - Video
      description: 'High-quality model with great aesthetics.

        | Duration | Compute Units |

        |----------|---------------|

        | 5s | 802 |

        > **Deprecated request fields:**

        >

        > - `startImage` -> `start_image` until 2026-06-19

        > - `startVideo` -> `start_video` until 2026-06-19

        > - `aspectRatio` -> `aspect_ratio` until 2026-06-19

        > - `endImage` -> `end_image` until 2026-06-19

        >

        > Deprecated fields are accepted for compatibility only and are not shown in the request schema.

        '
      summary: Kling 2.0
      x-krea-deprecated-field-aliases:
      - from: startImage
        to: start_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: startVideo
        to: start_video
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: aspectRatio
        to: aspect_ratio
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      - from: endImage
        to: end_image
        sunset_date: '2026-06-19'
        reason: Public API request fields are moving to snake_case.
        migration_url: https://docs.krea.ai/developers/deprecations#public-api-snake-case-fields
      parameters:
      - name: X-Webhook-URL
        in: header
        required: false
        schema:
          type: string
          format: uri
        description: URL to receive a POST request when the job completes. The webhook will receive the job data including results.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                start_image:
                  type: string
                  format: uri
                start_video:
                  type:
                  - string
                  - 'null'
                  format: uri
                aspect_ratio:
                  type: string
                  enum:
                  - '16:9'
                  - '9:16'
                  - '1:1'
                  default: '16:9'
                duration:
                  type: number
                  const: 5
                  default: 5
                end_image:
                  type: string
                  format: uri
                mode:
                  type: string
                  enum:
                  - master
                  - pro
                  default: master
              required:
              - prompt
              additionalProperties: false
            example:
              prompt: A hidden valley, with wildflowers carpeting the ground and cascading waterfalls.
      responses:
        '200':
          description: 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.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                    - backlogged
                    - queued
                    - scheduled
                    - processing
                    - sampling
                    - intermediate-complete
                    - completed
                    - failed
                    - cancelled
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: 'null'
                  result:
                    type: 'null'
                required:
                - job_id
                - status
                - created_at
                - completed_at
                - result
        '400':
          description: The request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: You are not authenticated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                -

# --- truncated at 32 KB (205 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/krea-ai/refs/heads/main/openapi/krea-ai-video-api-openapi.yml