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

# Sora 2 pro text to video

# Sora2 - Pro Text to Video

> High-quality video generation from text descriptions powered by Sora-2-pro-text-to-video's advanced AI model

## Character Animation Integration

For enhanced character animation capabilities, you can use the `character_id_list` parameter to reference pre-animated characters:

<Card title="Sora2 - Characters" icon="user" href="/market/sora2/sora-2-characters">
  Learn how to create character animations and get character\_id\_list for integration
</Card>

The `character_id_list` parameter is optional and allows you to incorporate multiple character animations (as an array, maximum 5) into your pro text-to-video generation.

## Query Task Status

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

<Card title="Get Task Details" icon="magnifying-glass" href="/market/common/get-task-detail">
  Learn how to query task status and retrieve generation results
</Card>

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

## Related Resources

<CardGroup cols={2}>
  <Card title="Market Overview" icon="store" href="/market/quickstart">
    Explore all available models
  </Card>

  <Card title="Common API" icon="gear" href="/common-api/get-account-credits">
    Check credits and account usage
  </Card>
</CardGroup>

> Rate limits and quotas are enforced by Apikley and may differ from upstream providers.

## OpenAPI

```yaml market/sora2/sora-2-pro-text-to-video.json post /api/v1/jobs/createTask theme={null}
openapi: 3.0.0
info:
  title: Sora-2-pro-text-to-video API
  description: Apikley Sora-2-pro-text-to-video API Documentation - Text to Video
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@apikley.ru
servers:
  - url: https://api.apikley.ru
    description: API Server
security:
  - BearerAuth: []
paths:
  /api/v1/jobs/createTask:
    post:
      summary: Generate videos from text using sora-2-pro-text-to-video
      operationId: sora-2-pro-text-to-video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
              properties:
                model:
                  type: string
                  enum:
                    - sora-2-pro-text-to-video
                  default: sora-2-pro-text-to-video
                  description: |-
                    The model name to use for generation. Required field.

                    - Must be `sora-2-pro-text-to-video` for this endpoint
                  example: sora-2-pro-text-to-video
                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
                  example: https://your-domain.com/api/callback
                input:
                  type: object
                  description: Input parameters for the generation task
                  properties:
                    prompt:
                      description: >-
                        The text prompt describing the desired video motion (Max
                        length: 10000 characters)
                      type: string
                      maxLength: 10000
                      example: a happy dog running in the garden
                    aspect_ratio:
                      description: This parameter defines the aspect ratio of the image.
                      type: string
                      enum:
                        - portrait
                        - landscape
                      default: landscape
                      example: landscape
                    n_frames:
                      description: The number of frames to be generated.
                      type: string
                      enum:
                        - '10'
                        - '15'
                      default: '10'
                      example: '10'
                    size:
                      description: The quality or size of the generated image.
                      type: string
                      enum:
                        - standard
                        - high
                      default: high
                      example: high
                    remove_watermark:
                      description: >-
                        When enabled, removes watermarks from the generated
                        video. (Boolean value (true/false))
                      type: boolean
                      example: true
                    character_id_list:
                      description: >-
                        Optional array of character IDs from Sora-2-characters
                        model to incorporate character animations into the video
                        generation. Maximum 5 character IDs allowed. Leave empty
                        if not using character animations.
                      type: array
                      items:
                        type: string
                      maxItems: 5
                      example:
                        - example_123456789
                        - example_987654321
                  required:
                    - prompt
            example:
              model: sora-2-pro-text-to-video
              callBackUrl: https://your-domain.com/api/callback
              input:
                prompt: a happy dog running in the garden
                aspect_ratio: landscape
                n_frames: '10'
                size: high
                remove_watermark: true
                character_id_list:
                  - example_123456789
      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
                            example: task_sora-2-pro-text-to-video_1765183463848
              example:
                code: 200
                msg: success
                data:
                  taskId: task_sora-2-pro-text-to-video_1765183463848
        '500':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 455
            - 500
            - 501
            - 505
          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

            - **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
        msg:
          type: string
          description: Response message, error description when failed
          example: success
  responses:
    Error:
      description: Server Error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All APIs require authentication via Bearer Token.


        Get API Key:

        1. Visit [API Key Management Page](https://app.apikley.ru/keys) to get your
        API Key


        Usage:

        Add to request header:

        Authorization: Bearer APIKLEY_API_KEY


        Note:

        - Keep your API Key secure and do not share it with others

        - If you suspect your API Key has been compromised, reset it immediately
        in the management page

```

***

> To find navigation and other pages in this documentation, fetch the llms.txt file at: [https://docs.apikley.ru/llms.txt](https://docs.apikley.ru/llms.txt)
