sora-2-pro-storyboard
Video generation using sora-2-pro-storyboard
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
For production use, we recommend using the
callBackUrl parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.Related Resources
Rate limits and quotas are enforced by Apikley and may differ from upstream providers.
OpenAPI
market/sora-2-pro-storyboard/index.json post /api/v1/jobs/createTask
Copy
openapi: 3.0.0
info:
title: Sora-2-pro-storyboard API
description: Apikley Sora-2-pro-storyboard API Documentation
version: 1.0.0
contact:
name: Technical Support
email: [email protected]
servers:
- url: https://api.apikley.ru
description: API Server
security:
- BearerAuth: []
paths:
/api/v1/jobs/createTask:
post:
summary: Generate storyboard video from image with shot sequences
operationId: sora-2-pro-storyboard
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- model
properties:
model:
type: string
enum:
- sora-2-pro-storyboard
default: sora-2-pro-storyboard
description: |-
The model name to use for generation. Required field.
- Must be `sora-2-pro-storyboard` for this endpoint
example: sora-2-pro-storyboard
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:
shots:
description: >-
Array of shot descriptions with durations. Total
duration of all shots cannot exceed the selected
n_frames value.
type: array
items:
type: object
properties:
Scene:
type: string
description: Detailed description of the scene/shot
example: >-
A cute fluffy orange-and-white kitten wearing
orange headphones, sitting at a cozy indoor table
with a small slice of cake on a plate, a toy fish
and a silver microphone nearby, warm soft
lighting, cinematic close-up, shallow depth of
field, gentle ASMR atmosphere.
duration:
type: number
description: >-
Duration of this shot in seconds. Total duration
of all shots cannot exceed n_frames.
minimum: 0.1
maximum: 15
example: 7.5
required:
- Scene
- duration
minItems: 1
maxItems: 10
example:
- Scene: >-
A cute fluffy orange-and-white kitten wearing orange
headphones, sitting at a cozy indoor table with a
small slice of cake on a plate, a toy fish and a
silver microphone nearby, warm soft lighting,
cinematic close-up, shallow depth of field, gentle
ASMR atmosphere.
duration: 7.5
- Scene: >-
The same cute fluffy orange-and-white kitten wearing
orange headphones, in the same cozy indoor ASMR
setup with the toy fish and microphone, the cake now
finished, the kitten gently licks its lips with a
satisfied smile, warm ambient lighting, cinematic
close-up, shallow depth of field, calm and content
mood.
duration: 7.5
n_frames:
description: Total length of the video
type: string
enum:
- '10'
- '15'
- '25'
default: '15'
example: '15'
image_urls:
description: >-
Upload an image file to use as input for the API (File
URL after upload, not file content; Accepted types:
image/jpeg, image/png, image/webp; Max size: 10.0MB).
Limited to exactly 1 image.
type: array
items:
type: string
format: uri
minItems: 1
maxItems: 1
example:
- >-
https://file.aiquickdraw.com/custom-page/akr/section-images/1760776438785hyue5ogz.png
aspect_ratio:
description: This parameter defines the aspect ratio of the image.
type: string
enum:
- portrait
- landscape
default: landscape
example: landscape
example:
model: sora-2-pro-storyboard
callBackUrl: https://your-domain.com/api/callback
input:
n_frames: '15'
image_urls:
- >-
https://file.aiquickdraw.com/custom-page/akr/section-images/1760776438785hyue5ogz.png
aspect_ratio: landscape
shots:
- Scene: >-
A cute fluffy orange-and-white kitten wearing orange
headphones, sitting at a cozy indoor table with a small
slice of cake on a plate, a toy fish and a silver
microphone nearby, warm soft lighting, cinematic close-up,
shallow depth of field, gentle ASMR atmosphere.
duration: 7.5
- Scene: >-
The same cute fluffy orange-and-white kitten wearing
orange headphones, in the same cozy indoor ASMR setup with
the toy fish and microphone, the cake now finished, the
kitten gently licks its lips with a satisfied smile, warm
ambient lighting, cinematic close-up, shallow depth of
field, calm and content mood.
duration: 7.5
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-storyboard_1765188271139
example:
code: 200
msg: success
data:
taskId: task_sora-2-pro-storyboard_1765188271139
'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