Video

Submit video generation job

Submit a video generation job. Returns immediately with a task identifier for polling.

Video generation is asynchronous — use the returned id with /video/retrieve to poll for progress and retrieve the completed video.

POST
/video/queue
Sign-In-With-X<token>

Base64-encoded JSON envelope containing a CAIP-122 sign-in message and its cryptographic signature.

{
  "message": "<CAIP-122 message>",
  "signature": "<base58 for Solana, hex for EVM>"
}

In: header

Request Body

application/json

model*string

Canonical model slug.

prompt?string

Text prompt (optional if image_url is provided).

image_url?

Seed image for image-to-video generation.

end_image_url?

Seed image for image-to-video generation.

reference_image_urls?array<>

Reference images for consistency (up to 4).

video_url?

Seed image for image-to-video generation.

audio_url?

Seed image for image-to-video generation.

duration*string

Duration string (e.g. 5s, 10s). Validated by provider.

negative_prompt?string

Things to avoid in the generated video.

resolution?string

One of 480p, 720p, 1080p, 4k.

Value in"480p" | "720p" | "1080p" | "4k"
aspect_ratio?string

Aspect ratio (e.g. 16:9, 9:16).

frame_rate?integer

Frames per second.

generate_audio?boolean

Whether to generate audio for the video.

audio_prompt?string

Prompt for generated audio / TTS.

camera_fixed?boolean

Whether the camera should stay fixed.

watermark?boolean

Whether to add a watermark.

seed?integer

Seed for reproducibility (-1 = nondeterministic).

n?integer

Number of video variants to generate.

user?string

End-user identifier.

metadata?object

Free-form metadata.

Response Body

application/json

application/json

application/json

curl -X POST "https://beta.aimo.network/api/v1/video/queue" \  -H "Content-Type: application/json" \  -d '{    "model": "kling-v2",    "duration": "5s"  }'
{
  "id": "provider_pubkey:base64_task",
  "created": 0,
  "status": "queued",
  "variants_expected": 0
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "code": "string",
    "message": "string"
  }
}