API reference
Quote
Validates a generation request exactly like the real endpoint and returns its price. Nothing is charged, uploaded or queued, and no Idempotency-Key is needed.
POST/v1/quote
Scope: readReturns 200
Send type plus the same body you would send to /images or /videos. For Motion Control also send motion_video_seconds (the real charge uses the measured length).
Body
- typestringrequired
imageorvideo. - …
Every field of Create an image or Create a video.
- motion_video_secondsnumber
Motion Control only: clip length, 1–30.
Notes
app_creditsis what the same work costs in the Orior app;creditsis the API price you would be charged.
Errors
| Code | When |
|---|---|
VALIDATION_ERROR | The request would be rejected by the real endpoint (unknown model, option not allowed for the model, …). |
Request
curl -X POST https://api.oriorai.com/v1/quote \
-H "Authorization: Bearer $ORIOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "video",
"model": "kling-3.0",
"prompt": "Slow dolly-in on the product",
"duration": "10",
"resolution": "1080p",
"audio": true,
"start_frame": "upl_4f1c…"
}'const response = await fetch('https://api.oriorai.com/v1/quote', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ORIOR_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"type": "video",
"model": "kling-3.0",
"prompt": "Slow dolly-in on the product",
"duration": "10",
"resolution": "1080p",
"audio": true,
"start_frame": "upl_4f1c…"
}),
})
const data = await response.json()
if (!response.ok) throw new Error(`${data.error.code}: ${data.error.message}`)import os
import requests
response = requests.post(
"https://api.oriorai.com/v1/quote",
headers={"Authorization": f"Bearer {os.environ['ORIOR_API_KEY']}"},
json={
"type": "video",
"model": "kling-3.0",
"prompt": "Slow dolly-in on the product",
"duration": "10",
"resolution": "1080p",
"audio": True,
"start_frame": "upl_4f1c…",
},
timeout=60,
)
response.raise_for_status()
data = response.json()Response · 200
Response
{
"object": "quote",
"type": "video",
"model": "kling-3.0",
"credits": 48,
"app_credits": 24
}