Browse ModelsOpenaiOpenai Sora 2 Characters

Openai Sora 2 Characters

Openai Sora 2 Characters

Playground

Try it on WavespeedAI!

OpenAI Sora 2 Characters creates reusable character IDs from video references for consistent character appearance across Sora 2 generations. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

OpenAI Sora 2 Characters

OpenAI Sora 2 Characters creates reusable character IDs from reference videos for consistent character appearance across Sora 2 video generations. Upload a video clip to define a character, then reference that character by name in your video prompts.

Model Highlights

  • Create persistent character identities from video references
  • Maintain consistent character appearance across multiple generations
  • Reference characters by name in Sora 2 prompts
  • Automatic video processing and scaling

Parameters

  • name (required): Character name (1-80 characters) to reference in prompts
  • video (required): MP4 video URL defining the character (minimum 720p, max ~2.67:1 aspect ratio)

Video Requirements

  • Format: MP4
  • Minimum resolution: 720p
  • Maximum aspect ratio: ~2.67:1
  • Videos exceeding 1080p are automatically scaled down
  • Non-standard aspect ratios are padded to 16:9 (landscape) or 9:16 (portrait)
  • Videos longer than 4 seconds are trimmed to the first 4 seconds

Use Cases

  • Create consistent characters for video series
  • Maintain brand mascot identity across content
  • Build character libraries for creative projects
  • Enable character-driven storytelling with Sora 2

Pricing

  • Per character creation$0.001

How to Use

  1. Prepare a video clip showing the character clearly
  2. Provide a name for the character (1-80 characters)
  3. Submit via REST API endpoint
  4. Use the character name in Sora 2 video generation prompts

Notes

  • Character names must be 1-80 characters
  • Use clear, well-lit video clips for best character recognition
  • Characters can be referenced in subsequent Sora 2 generations

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/openai/sora-2/characters" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
videostringYes-URL of an MP4 video (minimum 720p, max ~2.67:1 aspect ratio) to define the character. Videos exceeding 1080p are automatically scaled down. Non-standard aspect ratios are automatically padded to 16:9 (landscape) or 9:16 (portrait). Videos longer than 4 seconds are trimmed to the first 4 seconds.
namestringYes--Name for the character (1–80 characters). Refer to this name in prompts when using the character.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.