curl -X POST "https://app.hoox.video/api/public/v1/asset/pricing" \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2
}'
import requests
response = requests.post(
"https://app.hoox.video/api/public/v1/asset/pricing",
headers={"Authorization": "Bearer your_api_key"},
json={
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2,
},
)
print(response.json())
const response = await fetch('https://app.hoox.video/api/public/v1/asset/pricing', {
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'veo-3.1',
duration: 8,
resolution: '1080p',
generation_count: 2,
}),
});
const data = await response.json();
console.log(data);
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2
}
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2,
"normalized": {
"duration": 8
}
}
{
"error": "Validation failed",
"details": [
{ "code": "missing_field", "message": "model is required", "field": "model" }
]
}
{
"error": "Model \"not-a-real-model\" not found",
"details": [
{ "code": "model_not_found", "message": "Model \"not-a-real-model\" not found" }
]
}
Assets
Get Asset Pricing
Dry-run cost calculation for a model with given parameters — does not debit credits
POST
/
api
/
public
/
v1
/
asset
/
pricing
curl -X POST "https://app.hoox.video/api/public/v1/asset/pricing" \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2
}'
import requests
response = requests.post(
"https://app.hoox.video/api/public/v1/asset/pricing",
headers={"Authorization": "Bearer your_api_key"},
json={
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2,
},
)
print(response.json())
const response = await fetch('https://app.hoox.video/api/public/v1/asset/pricing', {
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'veo-3.1',
duration: 8,
resolution: '1080p',
generation_count: 2,
}),
});
const data = await response.json();
console.log(data);
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2
}
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2,
"normalized": {
"duration": 8
}
}
{
"error": "Validation failed",
"details": [
{ "code": "missing_field", "message": "model is required", "field": "model" }
]
}
{
"error": "Model \"not-a-real-model\" not found",
"details": [
{ "code": "model_not_found", "message": "Model \"not-a-real-model\" not found" }
]
}
Overview
Returns the exact credit cost for a generation with the given parameters, without submitting a job and without debiting credits. Useful to display a price preview before letting the user submit.Authentication
This endpoint requires API key authentication. Include your API key in the
Authorization header.Request Body
string
required
Model identifier (e.g.
veo-3.1).integer
Duration in seconds (e.g.
8). Used by video models. See the model’s supported durations via Get Model.string
Resolution (e.g.
720p, 1080p, 2K).object
Custom model settings such as
generateAudio. Some settings affect cost — see the model page.number
Number of reference images. Used by models with per-image pricing (e.g.
reve-fast).number
default:"1"
Number of variations. Multiplies
cost_per_generation.Response
string
number
Credits for one generation.
number
cost_per_generation × generation_count.string
Always
credits.number
object
Present only when the engine coerced one of your inputs to a different supported value
(e.g. an unsupported duration snapped to the nearest valid one). Each field appears only if it
differs from what you sent. Omitted entirely when nothing was changed.
Example
curl -X POST "https://app.hoox.video/api/public/v1/asset/pricing" \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2
}'
import requests
response = requests.post(
"https://app.hoox.video/api/public/v1/asset/pricing",
headers={"Authorization": "Bearer your_api_key"},
json={
"model": "veo-3.1",
"duration": 8,
"resolution": "1080p",
"generation_count": 2,
},
)
print(response.json())
const response = await fetch('https://app.hoox.video/api/public/v1/asset/pricing', {
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'veo-3.1',
duration: 8,
resolution: '1080p',
generation_count: 2,
}),
});
const data = await response.json();
console.log(data);
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2
}
{
"model": "veo-3.1",
"cost_per_generation": 80,
"total_cost": 160,
"currency": "credits",
"generation_count": 2,
"normalized": {
"duration": 8
}
}
{
"error": "Validation failed",
"details": [
{ "code": "missing_field", "message": "model is required", "field": "model" }
]
}
{
"error": "Model \"not-a-real-model\" not found",
"details": [
{ "code": "model_not_found", "message": "Model \"not-a-real-model\" not found" }
]
}
Was this page helpful?

