Submit a video generation. Text-to-video or image-to-video.
Documentation Index
Fetch the complete documentation index at: https://docs.aurous-labs.com/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/videos submits a video generation request. Credits are deducted based on duration × resolution factor. The platform supports text-to-video (prompt only) and image-to-video (first frame, or first + last frame).
POST /v1/videos, poll GET /v1/images/{id} —
the ID returned for videos is vid_<ulid> but the polling path is /v1/images/{id}.
This unification is part of the v1.0 contract.duration_seconds and resolution. Use POST /v1/videos/estimate with the same body shape to preview the charge before committing.
status: succeeded, fetch the rendered file via GET /v1/videos/{id}/output. The output URL is valid for ~24 hours; save what you want to keep.
webhook_url to receive a POST callback when the video reaches a terminal state. The payload event is video.completed or video.failed. See Webhooks for signature verification.Your team API key (starts with al_live_).
See POST /v1/images - same contract.
Optional API version pin (YYYY-MM-DD). Defaults to your team's pinned version, or the system default 2026-05-15 for unauthenticated requests.
^\d{4}-\d{2}-\d{2}$"2026-05-15"
Opaque video LoRA identifier (lora_*) or slug. UUIDs accepted for legacy back-compat.
"lora_01HXMQ7Z3K8Y2ABCDEFGHJKM"
Text prompt describing the video. Optional — enhances the generation when provided.
"A golden sunset over the ocean with gentle waves"
First frame for image-to-video / first+last frame interpolation. Either an opaque file_<ulid> ID returned by POST /v1/files, or an https:// URL pointing at a public host (max 2048 chars). URLs are server-side fetched through an SSRF-pinned client (rejects private IPs / cloud metadata).
2048"file_01HXMQ7Z3K8Y2NABCDEFGHJKMN"
Last frame for first+last frame interpolation. Same rules as first_frame_url.
2048"https://example.com/last.jpg"
Output video resolution
480p, 720p, 1080p Output video aspect ratio
16:9, 4:3, 1:1, 3:4, 9:16, 21:9 Video duration in seconds (2-12)
2 <= x <= 125
Random seed (-1 for random)
Whether to fix the camera position
Whether to add watermark
Whether to enhance the prompt with AI
Webhook URL to receive POST callback when generation completes or fails
Video generation created
Opaque generation ID
"img_01HXMQ7Z3K8Y2ABCDEFGHJKM"
Current generation status. Lifecycle: pending (created, awaiting dispatch) → processing (running) → one of the terminal values succeeded / failed / cancelled. Additional terminal values may be introduced in future API versions and will be announced via the changelog before they appear on the wire.
pending, processing, succeeded, failed, cancelled "succeeded"
The text prompt used for generation
"A golden sunset over mountains, cinematic lighting"
Creation timestamp (ISO 8601)
"2026-05-04T10:00:00Z"
Distinguishes image vs video generation. May be null for older rows minted before this column existed.
image, video "image"
Negative prompt to exclude from generation
"blurry, low quality"
Generated image proxy URLs. Available for ~24 hours after generation. Save what you want to keep — long-term storage is intentionally not part of the platform. URLs return 410 Gone after expiry.
[
"https://api.aurous-labs.com/v1/images/img_01HXMQ7Z3K8Y2ABCDEFGHJKM/output/0?token=..."
]Generated video proxy URL (only present on media_type: video). Same 24h TTL as image output_urls.
"https://api.aurous-labs.com/v1/videos/vid_01HXMQ7Z3K8Y2ABCDEFGHJKM/output?token=..."
Reference image URLs that were used as visual anchors for this generation, if any. Snapshotted at inference time — for character-attached generations, these are the resolved character refs at submission, not the live character state.
["https://example.com/ref1.jpg"]Error message if the generation failed
"Content policy violation"
Processing duration in milliseconds (set on terminal status)
14820
Per-generation cost breakdown — same shape as the estimated_cost returned by POST /v1/{images,videos}/estimate. May be null for older rows from before this field existed; populated for all new generations. The amount reflects the committed charge for terminal-status rows.
{
"amount": 2,
"currency": "credit",
"breakdown": { "base": 1, "enhance": 1 }
}Image width in pixels (image generations only)
1024
Image height in pixels (image generations only)
1024
Number of images requested in the batch
1
Size preset applied (overrides width/height when set)
"square"
Inference mode actually dispatched. t2i = text-to-image; i2i = image-to-image (when reference_image_urls is set).
t2i, i2i "t2i"
CFG rescale factor the customer supplied on the request body, echoed back here. Range 0.0-1.0. Omitted when the customer did not supply a per-request value (the platform applied a precedence-chain default — LoRA, character override, or the global 0.7 — which is not exposed on the response).
0.7
Denoising strength the customer supplied on the request body, echoed back here. Range 0.0-1.0. Omitted when the customer did not supply a value or when the generation was a bare text-to-image request (denoise is only applied when reference_image_urls is non-empty).
0.6
Random seed used (image generations)
42
Video duration in seconds (video generations only)
5
Video resolution (video generations only)
480p, 720p, 1080p "480p"
Video aspect ratio (video generations only)
16:9, 4:3, 1:1, 3:4, 9:16, 21:9 "16:9"
Whether the camera was held fixed during the video
Character ID supplied on the request (char_<ulid> or legacy UUID), echoed back. null when no character was attached to this generation.
"char_01HXMQ7Z3K8Y2ABCDEFGHJKM"
LoRAs applied to this generation. null for prompt-only and pure-reference generations.
API contract version applied at the time this row was minted (D25 — frozen for replay across future version bumps).
"2026-05-15"
Aurous-Request-Id of the POST that created this row. Quote in support tickets to trace the original create request.
"req_01HXMQ7Z3K8Y2ABCDEFGHJKM"
Terminal-status timestamp (ISO 8601). NULL until the generation reaches a terminal state.
"2026-05-04T10:00:14Z"