Products
Available products with their modes, per-second prices and limits.
GET https://api.nanoapi.ai/v1/productscurl https://api.nanoapi.ai/v1/products \
-H "Authorization: Bearer $NANOAPI_API_KEY"Response: 200 OK
{
"object": "list",
"data": [
{
"id": "genjutsu",
"object": "product",
"name": "Genjutsu",
"description": "Generate a new video from a source video and reference images.",
"models": ["genjutsu-1.0"],
"default_model": "genjutsu-1.0",
"modes": ["motion_control", "replace_object"],
"output_type": "video",
"max_outputs": 1,
"billing_unit": "second",
"currency": "USD",
"prices": [
{ "resolution": "480p", "unit_price": "0.117" },
{ "resolution": "720p", "unit_price": "0.273" },
{ "resolution": "1080p", "unit_price": "0.78" }
],
"limits": { "max_source_video_seconds": 30 }
}
],
"has_more": false
}The product object
| Field | Description |
|---|---|
id | Product ID. Matches the task object's product. |
object | Always product. |
name | Display name. |
description | Short description. |
models | Available model versions, for the model parameter. |
default_model | The version used when a request doesn't set model. |
modes | Accepted mode values. |
output_type | Result type. video for Genjutsu. |
max_outputs | The highest num_outputs you can request. |
billing_unit | Pricing unit. second for Genjutsu. |
currency | Always USD. |
prices | One entry per resolution. unit_price is the price per second in US dollars, as a decimal string. How it's applied: Genjutsu → Pricing. |
limits.max_source_video_seconds | The longest source video, in seconds. Longer videos are rejected with 400 video_too_long. See Genjutsu → Media. |
Prices and limits can change. Read them from this endpoint instead of hard-coding them.