Skip to main content
POST
/
v1
/
videos
Create video
curl --request POST \
  --url https://api.aiid.edu.kg/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form model=sora-2 \
  --form 'prompt=<string>' \
  --form image='@example-file' \
  --form duration=123 \
  --form width=512 \
  --form height=512 \
  --form fps=30 \
  --form seed=20231234 \
  --form n=1 \
  --form response_format=url \
  --form user=user-1234 \
  --form 'metadata={}' \
  --form 'mode=<string>' \
  --form 'images=<string>' \
  --form 'content={}' \
  --form 'size=<string>' \
  --form 'seconds=<string>' \
  --form 'input_reference=<string>' \
  --form 'parameters={}'
{
  "id": "video_abc123",
  "object": "video",
  "model": "sora-2",
  "status": "queued",
  "progress": 0,
  "created_at": 1764347090922,
  "seconds": "8"
}

Authorizations

Authorization
string
header
required

Use Bearer Token authentication. Format: Authorization: Bearer sk-xxxxxx

Body

model
enum<string>
required

Required, external model name. gemini-omni Can be called via /v1/videos.

Available options:
sora-2,
sora-2-pro,
gemini-omni,
happyhorse-1.0,
happyhorse-1.0-i2v,
happyhorse-1.0-t2v,
happyhorse-1.0-r2v,
happyhorse-1.0-video-edit,
doubao-seedance-1-0-lite-i2v-250428,
doubao-seedance-1-0-lite-t2v-250428,
doubao-seedance-1-0-pro-250528,
doubao-seedance-1-0-pro-fast-251015,
doubao-seedance-1-5-pro-251215,
doubao-seedance-2-0-260128,
doubao-seedance-2-0-fast-260128,
veo3,
veo3-fast,
veo3-fast-frames,
veo3-frames,
veo3-pro,
veo3-pro-frames,
veo3.1,
veo3.1-4k,
veo3.1-components,
veo3.1-fast,
veo3.1-pro,
veo3.1-pro-4k,
kling-video,
grok-imagine-1.0-video,
grok-imagine-video-1.5-preview,
grok-video-3,
viduq3-turbo,
hailuo-video
Example:

"sora-2"

prompt
string
required

Unified prompt entry point. Required for most models.

image
file

Single image entry point; will be mapped to images in certain compatibility modes.

duration
integer

Unified duration parameter. Some models also accept seconds.

width
integer

Video width

Example:

512

height
integer

Video height

Example:

512

fps
integer

Video frame rate

Example:

30

seed
integer

Random seed

Example:

20231234

n
integer

Number of videos to generate

Example:

1

response_format
string

Response format

Example:

"url"

user
string

User identifier

Example:

"user-1234"

metadata
object

Dynamic extension field container. Numerous model-specific fields are deserialized from here.

mode
string

Optional, video generation mode. gemini-omni Supports t2v, r2v, and edit.

images
string[]

Unified multi-image entry point. Used by Vidu, Seedance, Veo, etc.

content
object[]
size
string

Unified size input, which maps to resolution/aspect_ratio and related fields.

seconds
string

Sora compatibility entry point; at runtime, it falls back to duration.

input_reference
string

Sora/Veo compatible reference image input, can be a multipart file or a compatible object.

parameters
object

Response

Video task created successfully

id
string
required
object
string
required
model
string
required
status
enum<string>
required

Should use VideoStatus constants: VideoStatusQueued, VideoStatusInProgress, VideoStatusCompleted, VideoStatusFailed

Available options:
queued,
in_progress,
completed,
failed,
video_url,
url,
completed_at
progress
integer
required
created_at
integer
required
task_id
string

Legacy compatibility; to be deprecated

completed_at
integer
expires_at
integer
seconds
string
size
string
remixed_from_video_id
string
error
object
metadata
object