Skip to main content
POST
/
v1
/
videos
cURL
curl https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F model=omni-fast \
  -F 'prompt=Ocean waves rolling onto a sandy beach at golden hour' \
  -F seconds=4 \
  -F aspect_ratio=16:9 \
  -F resolution=720p
{
  "id": "task_example",
  "task_id": "task_example",
  "object": "video",
  "model": "omni-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1779938152
}
Use this beta endpoint to create an Omni video task. The API returns a task ID immediately, so store the returned id and poll the task until it reaches a terminal status. Beta POST /v1/videos uses multipart/form-data; pass scalar controls as form fields.

Choose an input mode

GoalRequired fieldsOptional fields
Text-to-videomodel, promptseconds, aspect_ratio, resolution
Use model=omni-fast for this page.

Set duration, ratio, and resolution

Omni is marked beta because generation stability can vary by input and selected route. Keep the first request small, then inspect the completed video before relying on a specific rendered duration or frame size.
SettingSupported valuesDefaultBoundary behavior
secondsStart with 44Use short clips first while this endpoint is beta.
aspect_ratio16:9, 9:16, 1:116:99:16 can render portrait output. 1:1 can be accepted while rendering as landscape.
resolutionStart with 720p; 1080p can be accepted720pCurrent production output can normalize to 720p even when 1080p is requested.
RequestObserved completed frame
resolution=720p, aspect_ratio=16:91280x720
resolution=720p, aspect_ratio=9:16720x1280
resolution=720p, aspect_ratio=1:11280x720
resolution=1080p, aspect_ratio=16:91280x720
Because this endpoint is beta, treat aspect_ratio and resolution as generation preferences and verify the downloaded MP4 before depending on final pixels.

Task flow

1

Create the task

Send the multipart form request and store the returned id.
2

Poll the task

Call Retrieve an Omni video until status is completed or failed.
3

Download the result

When the task is completed, call Retrieve Omni video content to download the MP4 file.

Authorizations

Authorization
string
header
required

Bearer authentication. Use your CometAPI API key.

Body

multipart/form-data
model
enum<string>
required

Omni model ID for this endpoint. Use omni-fast for text-to-video.

Available options:
omni-fast
Example:

"omni-fast"

prompt
string
required

Text prompt that describes the video to generate.

Example:

"Ocean waves rolling onto a sandy beach at golden hour"

seconds
string
default:4

Requested clip duration in seconds. Start with 4 while this endpoint is beta.

Example:

"4"

aspect_ratio
enum<string>
default:16:9

Output aspect ratio preference. 16:9 and 9:16 are the most predictable; 1:1 can be accepted but may render as landscape.

Available options:
16:9,
9:16,
1:1
Example:

"16:9"

resolution
string

Output resolution preference. Start with 720p. 1080p can be accepted but current production output may normalize to 720p.

Example:

"720p"

Response

Task accepted. Store the returned id and poll GET /v1/videos/{task_id}.

id
string
required

Task ID. Use this value with retrieve and content endpoints.

Example:

"task_example"

object
string
required

Object type. Video tasks return video.

Example:

"video"

model
string
required

Model ID used for the task.

Example:

"omni-fast"

status
enum<string>
required

Task lifecycle status. Poll until the value is completed, failed, or error.

Available options:
queued,
in_progress,
completed,
failed,
error
Example:

"queued"

progress
integer
required

Task progress as a coarse percentage.

Required range: 0 <= x <= 100
Example:

0

created_at
integer
required

Task creation time as a Unix timestamp in seconds.

Example:

1779938152

task_id
string

Compatibility alias for id when present.

Example:

"task_example"

completed_at
integer

Task completion time as a Unix timestamp in seconds. This field appears on completed tasks.

Example:

1779938219

video_url
string

Temporary video delivery URL. This field appears on completed tasks.

Example:

"<temporary-video-url>"

error
object

Failure details. This field appears when the task fails.