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/modelscurl 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.
| Parameter | Type | Description |
|---|---|---|
id | string | Model identifier — the value for model_id. |
kind | enum | Modality: image | video | audio | chat. |
name | string | Display name of the model. |
price_cherries | number | Base price in cherries (per second for video; voice may be billed in char_block character blocks; fields with affectsPrice change the total). |
form | object[] | 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_chars | number | Prompt length limit in characters — exceeding it returns prompt_too_long. |
aspect_ratios | string[] | Allowed aspect ratios for aspect_ratio. |
supports_refs | boolean | The model accepts reference_images; max_refs caps how many. |
…flags | mixed | Capability flags: supports_start_frame / supports_end_frame (video frames), requires_mask (mask), music (music generation), op (editing tool). |
Sample catalog entry
{ "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.