Skip to content

Sora2 - Characters Pro

OpenAPI Specification

yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/v1/jobs/createTask:
    post:
      summary: Sora2 - Characters Pro
      deprecated: false
      description: >-
        > Create dynamic character animations from existing video tasks using
        Sora-2-characters-pro advanced AI model

        ## Prerequisites

        The Sora-2-characters-pro API generates character animations from an
        **existing video generation task**. You must have a completed task
        before using this API:

        1. **Complete a Video Generation Task**

           First, use one of the Sora video generation APIs (e.g., [Text to Video](./market/sora2/sora-2-text-to-video) or [Image to Video](./market/sora2/sora-2-image-to-video)) to create a video.

        2. **Obtain Task ID**

           After the video generation completes successfully, note the `taskId` from the response. This becomes your `origin_task_id`.

        3. **Specify Video Segment**

           Use the `timestamps` parameter to define which segment of the video to use. Format: `"x,y"` (e.g., `"3.55,5.55"`). The segment duration (y - x) must be between 1-4 seconds.

        4. **Submit Character Animation Task**

           Provide `origin_task_id`, `timestamps`, and `character_prompt` to generate character animations. Optionally include `character_user_name` to identify the character for reference.

        ## Parameter Reference

        | Parameter | Type | Required | Description |

        |:---|:---|:---|:---|

        | `origin_task_id` | string | Yes | Task ID of the original video
        generation task |

        | `timestamps` | string | Yes | Video segment time range. Format:
        `"x,y"` (e.g., `"3.55,5.55"`). Extracts segment from x to y seconds.
        Duration (y - x) must be 1-4 seconds |

        | `character_user_name` | string | No | Optional. Custom name for the
        character, used to identify and reference in subsequent operations. Max
        40 characters when provided |

        | `character_prompt` | string | Yes | Character persona prompt
        describing personality and appearance |

        | `safety_instruction` | string | No | Safety guidelines and content
        restrictions for the animation |

        :::caution

        **Timestamp Constraints**: The `timestamps` parameter must define a
        segment between 1-4 seconds. For example, `"3.55,5.55"` extracts a
        2-second segment. Invalid durations will cause processing errors.

        :::

        :::tip

        Use the [Get Task Details](/market/common/get-task-detail) endpoint to
        verify your original video task has completed successfully before
        submitting a character animation request.

        :::

        ## Query Task Status

        After submitting a task, use the unified query endpoint to check
        progress and retrieve results:

        

**Get Task Details**

           Learn how to query task status and retrieve generation results
        

        ### Task Query Response Format

        When the task is completed successfully (`state: "success"`), the
        `resultJson` field contains:

```json

{
  "character_id": "example_123456789"
}
    The `character_id` can be used to reference the generated character
    animation in subsequent operations.

    :::tip

    For production use, we recommend using the `callBackUrl` parameter to
    receive automatic notifications when generation completes, rather than
    polling the status endpoint.

    :::

    ## Related Resources

Market Overview

        Explore all available models

Common API

        Check credits and account usage
      

    
  operationId: sora-2-characters-pro
  tags:
    - docs/en/Market/Video Models/Sora2
  parameters: []
  requestBody:
    content:
      application/json:
        schema:
          type: object
          required:
            - model
          properties:
            model:
              type: string
              enum:
                - sora-2-characters-pro
              default: sora-2-characters-pro
              description: |-
                The model name to use for generation. Required field.

                - Must be `sora-2-characters-pro` for this endpoint
              examples:
                - sora-2-characters-pro
            callBackUrl:
              type: string
              format: uri
              description: >-
                The URL to receive generation task completion updates.
                Optional but recommended for production use.

                - System will POST task status and results to this URL when
                generation completes

                - Callback includes generated content URLs and task
                information

                - Your callback endpoint should accept POST requests with
                JSON payload containing results

                - Alternatively, use the Get Task Details endpoint to poll
                task status

                - To ensure callback security, see [Webhook Verification
                Guide](/common-api/webhook-verification) for signature
                verification implementation
              examples:
                - https://your-domain.com/api/callback
            input:
              type: object
              description: Input parameters for the generation task
              properties:
                origin_task_id:
                  type: string
                  description: >-
                    Task ID of the original task. References a previously
                    completed video generation task.
                  examples:
                    - 7118f712c1f35c9b8bf2ad1af68ad482
                timestamps:
                  type: string
                  description: >-
                    Enter the clip's start and end times in seconds. The
                    segment you select must be completely inside the
                    original video and between 1 s-4 s long; that slice will
                    be used as the character's training material.
                  examples:
                    - 3.55,5.55
                character_user_name:
                  type: string
                  description: >-
                    Optional. Custom name for the character, used to
                    identify and reference the character in subsequent
                    operations. When provided, must be non-empty and max 40
                    characters.
                  maxLength: 40
                  examples:
                    - my_character_01
                character_prompt:
                  type: string
                  description: >-
                    Character persona prompt. Required, non-empty. Describes
                    the character's personality and appearance.
                  maxLength: 5000
                  examples:
                    - >-
                      A friendly cartoon character with expressive eyes and
                      fluid movements
                safety_instruction:
                  type: string
                  description: >-
                    Character safety instructions. Guidelines and content
                    restrictions for the animation.
                  maxLength: 5000
                  examples:
                    - >-
                      Ensure the animation is family-friendly and contains
                      no violent or inappropriate content
              required:
                - origin_task_id
                - timestamps
                - character_prompt
              x-apidog-orders:
                - origin_task_id
                - timestamps
                - character_user_name
                - character_prompt
                - safety_instruction
              x-apidog-ignore-properties: []
          x-apidog-orders:
            - model
            - callBackUrl
            - input
          x-apidog-ignore-properties: []
        example:
          model: sora-2-characters-pro
          callBackUrl: https://your-domain.com/api/callback
          input:
            origin_task_id: 7118f712c1f35c9b8bf2ad1af68ad482
            timestamps: 3.55,5.55
            character_user_name: my_character_01
            character_prompt: >-
              A friendly cartoon character with expressive eyes and fluid
              movements
            safety_instruction: >-
              Ensure the animation is family-friendly and contains no
              violent or inappropriate content
  responses:
    '200':
      description: Request successful
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/ApiResponse'
              - type: object
                properties:
                  data:
                    type: object
                    properties:
                      taskId:
                        type: string
                        description: >-
                          Task ID, can be used with Get Task Details
                          endpoint to query task status
                        examples:
                          - 7118f712c1f35c9b8bf2ad1af68ad482
                    x-apidog-orders:
                      - taskId
                    x-apidog-ignore-properties: []
                x-apidog-orders:
                  - data
                x-apidog-ignore-properties: []
          example:
            code: 200
            msg: success
            data:
              taskId: task_sora-2-characters-pro_1765174270120
      headers: {}
      x-apidog-name: ''
    '500':
      description: 请求失败
      content:
        application/json:
          schema:
            type: object
            properties: {}
            x-apidog-orders: []
            x-apidog-ignore-properties: []
      headers: {}
      x-apidog-name: Error
  security:
    - BearerAuth: []
      x-apidog:
        schemeGroups:
          - id: kn8M4YUlc5i0A0179ezwx
            schemeIds:
              - BearerAuth
        required: true
        use:
          id: kn8M4YUlc5i0A0179ezwx
        scopes:
          kn8M4YUlc5i0A0179ezwx:
            BearerAuth: []
  x-apidog-folder: docs/en/Market/Video Models/Sora2
  x-apidog-status: released
  x-run-in-apidog: https://app.apidog.com/web/project/1184766/apis/api-28560562-run

components: schemas: ApiResponse: type: object properties: code: type: integer description: >- Response status code

        - **200**: Success - Request has been processed successfully

        - **401**: Unauthorized - Authentication credentials are missing or
        invalid

        - **402**: Insufficient Credits - Account does not have enough
        credits to perform the operation

        - **404**: Not Found - The requested resource or endpoint does not
        exist

        - **422**: Validation Error - The request parameters failed
        validation checks

        - **429**: Rate Limited - Request limit has been exceeded for this
        resource

        - **433**: Request Limit - Sub-key Usage Exceeds Limit

        - **455**: Service Unavailable - System is currently undergoing
        maintenance

        - **500**: Server Error - An unexpected error occurred while
        processing the request

        - **501**: Generation Failed - Content generation task failed

        - **505**: Feature Disabled - The requested feature is currently
        disabled
      enum:
        - 200
        - 401
        - 402
        - 404
        - 422
        - 429
        - 433
        - 455
        - 500
        - 501
        - 505
      x-apidog-enum:
        - value: 200
          name: ''
          description: ''
        - value: 401
          name: ''
          description: ''
        - value: 402
          name: ''
          description: ''
        - value: 404
          name: ''
          description: ''
        - value: 422
          name: ''
          description: ''
        - value: 429
          name: ''
          description: ''
        - value: 433
          name: ''
          description: ''
        - value: 455
          name: ''
          description: ''
        - value: 500
          name: ''
          description: ''
        - value: 501
          name: ''
          description: ''
        - value: 505
          name: ''
          description: ''
    msg:
      type: string
      description: Response message, error description when failed
      examples:
        - success
    data:
      type: object
      properties:
        taskId:
          type: string
          description: >-
            Task ID, can be used with Get Task Details endpoint to query
            task status
      x-apidog-orders:
        - taskId
      required:
        - taskId
      x-apidog-ignore-properties: []
  x-apidog-orders:
    - code
    - msg
    - data
  title: response not with recordId
  required:
    - data
  x-apidog-ignore-properties: []
  x-apidog-folder: ''

securitySchemes: BearerAuth: type: bearer scheme: bearer bearerFormat: API Key description: |- 所有 API 都需要通过 Bearer Token 进行身份验证。

    获取 API Key:
    1. 访问 API Key 管理页面 获取您的 API Key

    使用方法:
    在请求头中添加:
    Authorization: Bearer YOUR_API_KEY

    注意事项:
    - 请妥善保管您的 API Key,切勿泄露给他人
    - 若怀疑 API Key 泄露,请立即在管理页面重置
BearerAuth1:
  type: bearer
  scheme: bearer
  bearerFormat: API Key
  description: |-
    所有 API 都需要通过 Bearer Token 进行身份验证。

    获取 API Key:
    1. 访问 API Key 管理页面 获取您的 API Key

    使用方法:
    在请求头中添加:
    Authorization: Bearer YOUR_API_KEY

    注意事项:
    - 请妥善保管您的 API Key,切勿泄露给他人
    - 若怀疑 API Key 泄露,请立即在管理页面重置

servers:

  • url: https://api.kie.ai description: 正式环境 security:
  • BearerAuth: [] x-apidog: schemeGroups: - id: kn8M4YUlc5i0A0179ezwx schemeIds: - BearerAuth required: true use: id: kn8M4YUlc5i0A0179ezwx scopes: kn8M4YUlc5i0A0179ezwx: BearerAuth: []

Self-contained reference. Not affiliated with kie.ai.