Skip to main content
POST
Create Video

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for POST /v3/videos.

OpenAI's video creation shape (model, prompt, seconds, size, input_reference) plus Eden extensions (seed, provider_params, webhook_receiver, user_webhook_parameters).

model
string
required

Video model as provider/model, e.g. pruna/p-video or openai/sora-2. List the available ids with GET /v3/videos/models.

Minimum string length: 1
prompt
string
required

Text describing the video to generate.

Minimum string length: 1
seconds
integer | null

Clip length in seconds. Accepts OpenAI's string form ("4", "8", "12") or an integer. Omit to use the model's default duration.

Required range: x >= 1
size
string | null

Output resolution as WIDTHxHEIGHT, e.g. 1280x720 or 1920x1080. Omitted uses the provider's default; each provider maps it to its nearest tier.

Pattern: ^\d+x\d+$
seed
integer | null

Eden extension: random seed for reproducible output.

Required range: 0 <= x <= 2147483646
provider_params
Provider Params · object | null

Eden extension: provider-native parameters merged into the provider request, subject to the per-provider allow-list.

webhook_receiver
string<uri> | null

Eden extension: URL notified when the job finishes.

Required string length: 1 - 2083
user_webhook_parameters
User Webhook Parameters · object | null

Eden extension: custom fields echoed in the webhook payload.

input_reference
VideoInputReference · object | null

Optional reference image that seeds an image-to-video generation.

Response

200 - application/json

Successful Response

A video generation job, in OpenAI's video object shape.

provider and cost are Eden extensions. Download the finished video from GET /v3/videos/{video_id}/content.

id
string
required

Job id. Use it to poll, download and delete.

status
enum<string>
required

queued, in_progress, completed or failed.

Available options:
queued,
in_progress,
completed,
failed
created_at
integer
required

Unix timestamp (seconds) of job creation.

model
string
required

The provider/model that ran the job.

provider
string
required

Eden extension: provider that ran the job.

cost
number
required

Eden extension: cost in USD. 0 while the job is queued or in progress (the reserved estimate is not surfaced); the settled amount once the job completes or fails.

object
string
default:video
Allowed value: "video"
progress
integer | null

0 while running or failed, 100 when completed.

completed_at
integer | null

Unix timestamp (seconds) when the job finished.

expires_at
integer | null

Always null: Eden AI keeps the result.

seconds
string | null

Clip length in seconds, as a string.

size
string | null

Requested resolution as WIDTHxHEIGHT.

remixed_from_video_id
string | null

Always null: remix is not supported.

error
VideoError · object | null

Set when status is failed.