API reference

Videos

Creates a video generation with one of 11 models. Options differ by model — see Models or GET /models. When the video starts from a character or a prompt, Orior first generates a starting frame (included in the price as one image).

The request returns 202 with a queued generation. Videos typically take 1–6 minutes.

POST/v1/videos
Scope: generateIdempotency-Key requiredReturns 202

Provide at least one of prompt, character_id, character_image, start_frame or (Motion Control) motion_video.

  • modelstringrequired

    seedance-2.5, seedance-2.0, seedance-2.0-mini, kling-3.0, kling-3.0-motion-control, wan-2.6, minimax-h3, gemini-omni, grok-imagine-1.5, veo-3, veo-3-fast.

  • promptstring

    Motion, action and camera direction. Maximum length depends on the model (5,000–20,000).

  • character_idstring

    Character to feature; a first frame is generated from it.

  • character_imagestring (media)

    A face to use without saving a character. Upload ID (upl_…), public https:// URL, or base64 data URL.

  • product_idstring

    Product to feature (combine with character_id for product-in-hand).

  • start_framestring (media)

    Exact first frame. Upload ID (upl_…), public https:// URL, or base64 data URL.

  • reference_imagesarray

    Extra tagged references to mention in the prompt (e.g. “wearing the jacket from @ref1”). Up to 8; each model receives up to its own limit, the rest shape the first frame.

    • tagstring

      Tag used in the prompt, @ + up to 20 letters/digits/underscores. Defaults to @ref1, @ref2, …

    • imagestring (media)required

      Upload ID (upl_…), public https:// URL, or base64 data URL.

  • narration_audiostring (media)

    Voice-over/audio reference for models that use it. Upload ID (upl_…), public https:// URL, or base64 data URL.

  • durationstring

    Seconds, as allowed by the model (e.g. "8").

  • resolutionstring

    As allowed by the model (e.g. 720p, 1080p, 2K, 4k). For kling-3.0: 720p = standard, 1080p = pro.

  • aspect_ratiostring

    As allowed by the model. adaptive follows the first frame.

  • audioboolean

    Generate sound (models with audio support).

  • motion_videostring (media)

    kling-3.0-motion-control only (required): a 1–30 s clip whose movement is transferred. Priced per measured second.

  • motion_orientationstringdefault: video

    kling-3.0-motion-control only: follow the orientation of the video or the image.

CodeWhen
VALIDATION_ERRORUnknown model, option not offered by the model, prompt too long, or motion_video missing/too long.
INSUFFICIENT_CREDITSBalance below the price.
CONCURRENCY_LIMITToo many API jobs running.
curl -X POST https://api.oriorai.com/v1/videos \
  -H "Authorization: Bearer $ORIOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2.5",
  "prompt": "She turns to camera and laughs, handheld",
  "character_id": "Qx8p2LmN4vRt",
  "duration": "8",
  "resolution": "720p",
  "aspect_ratio": "9:16",
  "audio": true
}'
Response
{
  "id": "gen_7f3c9a1e2b4d4c8f9a0b1c2d3e4f5a6b",
  "object": "generation",
  "type": "video",
  "model": "seedance-2.5",
  "status": "queued",
  "credits": 46,
  "refunded_credits": 0,
  "result": null,
  "error": null,
  "request": {
    "model": "seedance-2.5",
    "prompt": "She turns to camera and laughs, handheld",
    "character_id": "Qx8p2LmN4vRt",
    "product_id": null,
    "duration": "8",
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "audio": true,
    "has_start_frame": false,
    "reference_images": 0,
    "motion_video_seconds": null
  },
  "timeline": [],
  "created_at": 1758620000000,
  "completed_at": null
}