Visnea API

Models reference

The catalog lives at GET /v1/models and is always current: names, prices and each model's parameter schema. Below is the same catalog rendered straight from the API.

Endpoint

GET/v1/models
curl
curl https://visnea-labs.com/v1/models \  -H "Authorization: Bearer sk-visnea-..."

The response is a models array. The key fields are described below; form is the model's parameter schema — every key in it is sent as a top-level field of the /v1/generate body.

ParameterTypeDescription
idstringModel identifier — the value for model_id.
kindenumModality: image | video | audio | chat.
namestringDisplay name of the model.
price_cherriesnumberBase price in cherries (per second for video; voice may be billed in char_block character blocks; fields with affectsPrice change the total).
formobject[]Parameter schema: [{ key, type, label, options, min, max, default }]. type select/buttons — an enum of options[].value; count/number — a number within min–max.
max_prompt_charsnumberPrompt length limit in characters — exceeding it returns prompt_too_long.
aspect_ratiosstring[]Allowed aspect ratios for aspect_ratio.
supports_refsbooleanThe model accepts reference_images; max_refs caps how many.
…flagsmixedCapability flags: supports_start_frame / supports_end_frame (video frames), requires_mask (mask), music (music generation), op (editing tool).

Sample catalog entry

models[i]
{  "id": "example-video",  "kind": "video",  "name": "Example Video",  "price_cherries": 6,  "aspect_ratios": ["16:9", "9:16", "1:1"],  "max_seconds": 15,  "max_prompt_chars": 2000,  "supports_refs": true,  "max_refs": 2,  "form": [    {      "key": "resolution",      "type": "buttons",      "default": "480p",      "options": [ { "value": "480p" }, { "value": "720p" } ]    },    { "key": "duration", "type": "count", "min": 5, "max": 15, "default": 5 }  ]}

For a model like this you pass resolution and duration right in the request body: { "model_id": "example-video", "prompt": "…", "resolution": "720p", "duration": 10 }.

Live catalog

The data below is loaded from /v1/models in real time — the exact API contract for every model.