Skip to main content
POST
cURL
Generate a video from a text prompt. Returns a request_id for status polling.
Prerequisite: Consult the Model Selection endpoint to identify a valid model slug and check specific limits (resolution, duration, framerate).
OpenAI SDK users: This endpoint is also available via the OpenAI-compatible surface as POST /v1/videos at https://oai.deapi.ai/v1. See OpenAI Compatibility.

Authorizations

Authorization
string
header
required

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

Headers

Accept
enum<string>
default:application/json
required
Available options:
application/json

Body

application/json

Text to video conversion parameters

prompt
string
required

The main prompt for video generation

Example:

"A beautiful sunset over mountains"

width
integer
required

Width of the generated video in pixels

Example:

512

height
integer
required

Height of the generated video in pixels

Example:

512

guidance
number
required

Guidance scale for the generation

Example:

7.5

steps
integer
required

Number of inference steps. The accepted range is model-specific - read info.limits.min_steps / info.limits.max_steps for your model from the Model Selection endpoint before sending the request; a value outside that range is rejected with 422. For the example model Ltxv_13B_0_9_8_Distilled_FP8 the only accepted value is 1.

Required range: x >= 1
Example:

1

frames
integer
required

Number of video frames to generate. The accepted range is model-specific - read info.limits.min_frames / info.limits.max_frames for your model from the Model Selection endpoint before sending the request; a value outside that range is rejected with 422. For the example model Ltxv_13B_0_9_8_Distilled_FP8 the allowed range is 30-120 (default 120).

Required range: x >= 1
Example:

120

fps
integer
required

FPS of generated video. The accepted range is model-specific - read info.limits.min_fps / info.limits.max_fps for your model from the Model Selection endpoint before sending the request; a value outside that range is rejected with 422. For the example model Ltxv_13B_0_9_8_Distilled_FP8 the only accepted value is 30.

Required range: x >= 1
Example:

30

seed
integer
required

Random seed for generation

Example:

42

model
string
required

The model to use for video generation. Available models can be retrieved via the GET /api/v2/models endpoint.

Example:

"Ltxv_13B_0_9_8_Distilled_FP8"

negative_prompt
string | null

Elements to avoid in the generated video

Example:

"blur, darkness, noise"

enhance_prompt
boolean | null
default:false

When true, the prompt is boosted by the inline prompt booster before generation (async pre-step). Requires a prompt-booster guide configured for the model; the boost fee is billed on the job. Rejected with 422 if no guide exists for the model or the account balance cannot cover the boost fee.

webhook_url
string<uri> | null

Optional HTTPS URL to receive webhook notifications for job status changes (processing, completed, failed). Must be HTTPS. Max 2048 characters. See Webhook Documentation for payload structure and authentication details.

Maximum string length: 2048
Example:

"https://your-server.com/webhooks/deapi"

webhook_secret
string | null

Optional per-request HMAC secret (min. 32 chars) used to sign the webhook callback. When present, overrides the account-default webhook secret. Requires webhook_url to also be set.

Required string length: 32 - 255
Example:

"a1b2c3d4e5f60708091a2b3c4d5e6f7081920a1b2c3d4e5f60708091a2b3c4d5"

Response

ID of the inference request.

data
object

Information from success endpoint