Skip to main content
POST
/
v1
/
videos
Create a Sora video job
curl --request POST \
  --url https://api.cometapi.com/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'prompt=A paper airplane glides across a desk.' \
  --form input_reference='@example-file'
{
  "created_at": 1773296991,
  "id": "video_69b25d5f467c81908733a56bc236b4df",
  "model": "sora-2",
  "object": "video",
  "progress": 0,
  "seconds": "4",
  "size": "1280x720",
  "status": "queued"
}
Use this endpoint to start a new Sora render job from text, or from text plus one reference image. The API returns a video id immediately and does not wait for the render to finish.

Start with the smallest useful job

  • Use sora-2 for faster iteration or sora-2-pro when output quality matters more than speed
  • Keep seconds at 4 for your first request
  • Start with size: 1280x720 unless you specifically need portrait output
  • Upload at most one reference image

End-to-end flow

1

Create the render job

Send model, prompt, seconds, and size, then save the returned id.
2

Poll until the job finishes

Call Retrieve Video until the status becomes completed or failed.
3

Download or remix the result

When the render is done, fetch the file with Retrieve Video Content. If you want a targeted variation, use Remix Video on the completed result.

Sora behavior that still applies

OpenAI documents the same create -> retrieve -> download flow in the Videos API. On CometAPI you keep the Sora request shape, but use the CometAPI base URL and key. Finished download URLs are temporary, so copy completed assets into your own storage if you need long retention.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Body

multipart/form-data
prompt
string
required

Text prompt that describes the video you want to create.

Example:

"A paper airplane glides across a desk."

model
string
default:sora-2

Sora model ID. Choose a current model from the Models page.

Example:

"sora-2"

seconds
enum<string>
default:4

Clip duration in seconds.

Available options:
4,
8,
12
Example:

"4"

size
enum<string>
default:1280x720

Output resolution formatted as width x height.

Available options:
720x1280,
1280x720,
1024x1792,
1792x1024
Example:

"1280x720"

input_reference
file

Optional reference image uploaded as a file. The image should match the target size you request.

Response

200 - application/json

Video job accepted.

created_at
integer
required
id
string
required
model
string
required
object
string
required
progress
integer
required
seconds
string
required
size
string
required
status
string
required