Get started

Orior API

Generate images and videos with every Orior model, keep characters and products consistent, and publish to social media from your own product, with the credits you already use in Orior.

Base URL https://api.oriorai.com/v1

POST/v1/images
curl -X POST https://api.oriorai.com/v1/images \
  -H "Authorization: Bearer $ORIOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "She is holding the serum next to her face, soft window light",
  "character_id": "Qx8p2LmN4vRt",
  "product_id": "Pm3kT9aQ",
  "aspect_ratio": "4:5",
  "resolution": "2K"
}'

What you can build

CapabilityEndpointsHighlights
ImagesPOST /imagesPrompt, character identity, scene reference, product placement, tagged references; 1K–4K; 10 aspect ratios.
VideosPOST /videos11 models including Seedance 2.5, Kling 3.0 (and Motion Control), Veo 3, Gemini Omni, MiniMax H3, Wan 2.6 and Grok Imagine.
Characters/charactersConsistent people from three photos or a preset portrait, with a voice.
Products/productsProducts reproduced faithfully (label, shape and colour) inside any generation.
Social publishing/social/*Connect Instagram, TikTok, YouTube, Threads and X accounts and publish or schedule generations.
Events/webhooksSigned webhooks for finished generations, published posts and low balance.

API basics

  • Base URL: https://api.oriorai.com/v1. All requests use HTTPS and JSON.
  • Authentication: Authorization: Bearer orior_live_… with a key from Dashboard → Developers. See Authentication.
  • Writes are idempotent: every POST, PATCH and DELETE carries an Idempotency-Key, so retries never charge twice. See Idempotency.
  • Asynchronous generation: image and video requests return 202 with a generation you poll or receive by webhook.
  • Conventions: snake_case fields, timestamps in Unix milliseconds, IDs with type prefixes (gen_, upl_, pst_, whk_), cursor pagination with next_cursor.
  • Errors share one shape with a stable code and a request_id for support. See Errors.
  • Machine-readable spec: OpenAPI 3.1, to generate a typed client in any language.

How a request works

Lifecycle
POST /v1/images  ──►  202 { id: "gen_…", status: "queued", credits: 2 }
                        │   credits are reserved
                        ▼
                   processing       ← analysis, prompt writing, generation, automatic fallbacks
                        │
            ┌───────────┴───────────┐
            ▼                       ▼
        completed                 failed
   result.url (permanent)    error.code · credits refunded
            │                       │
            └──── webhook: generation.completed / generation.failed

Every generation also records a timeline of stages that failed and how the pipeline recovered, so you can see why a result took longer or why it failed.

Requirements

  • An Orior account on the Influencer or Agency plan. Creator and Free plans cannot create API keys; if a plan ends, its keys stop working immediately.
  • Credits in the account. API requests cost 2× the app price. See Pricing.
  • Throughput within your plan: 10 parallel generations (~5 images/min) on Influencer, 20 (~10/min) on Agency. See Rate limits. Higher limits on request.
  • A server to call from. Never ship API keys in browsers or mobile apps.
Using Orior for a team? Team members’ keys spend the team owner’s credits, and the owner’s plan decides access and limits.

Next steps