GET /v1/models
List all available models and their metadata
Request
GET /api/v1/models
Authorization: Bearer sk_xxxQuery parameters
| Param | Type | Required | Description |
|---|---|---|---|
modality | string | — | Filter by modality: video / image / audio / music / speech / 3d. Only video and image currently return models. |
Example
curl "https://genace.ai/api/v1/models?modality=image" \
-H "authorization: Bearer sk_xxx"Response
200 OK
{
"data": [
{
"id": "nano-banana",
"modality": "image",
"display_name": "Nano Banana",
"upstream": "fal",
"fields": [
{
"name": "prompt",
"label": "Playground.fields.prompt",
"kind": "textarea",
"required": true,
"placeholder": "描述你想生成的图片..."
},
{
"name": "aspectRatio",
"label": "Playground.fields.aspectRatio",
"kind": "select",
"default": "1:1",
"options": [
{ "value": "1:1", "label": "1:1" },
{ "value": "16:9", "label": "16:9" }
]
},
{
"name": "n",
"label": "Playground.fields.n",
"kind": "number",
"default": 1,
"min": 1,
"max": 4
}
]
}
]
}Field reference
| Field | Type | Description |
|---|---|---|
id | string | Model id — pass this as model in the generation request body |
modality | string | video / image / audio / music / speech / 3d |
display_name | string | Human-readable name |
upstream | string | Upstream provider (currently always fal) |
fields | array | Playground form field descriptors for this model; [] if the model hasn't implemented playgroundFields(), in which case clients should fall back to a generic prompt field |
fields[].kind is one of text / textarea / number / select /
image-url. Field names match the corresponding key in the generation
request body (e.g. aspectRatio → aspect_ratio).
See Models for the full human-readable pricing and capability matrix.
Genace Docs