Krea Video API

Video generation endpoints

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/krea-ai-video-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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