# Models

## List available models

**get** `/models`

Returns the public model catalog visible to API clients. Use the optional type filter to narrow results to image, video, audio, or text models.

### Query Parameters

- `type: optional "image" or "video" or "audio" or "text"`

  Model type

  - `"image"`

  - `"video"`

  - `"audio"`

  - `"text"`

### Returns

- `models: array of object { capabilities, estimated_credits, estimated_seconds, 6 more }`

  - `capabilities: array of string`

    Model capabilities

  - `estimated_credits: number`

    Estimated credits

  - `estimated_seconds: number`

    Estimated seconds

  - `model_id: string`

    Model identifier

  - `name: string`

    Model name

  - `params: array of object { name, required, type, 7 more }`

    Supported generation parameters for this model

    - `name: string`

      Parameter name to pass in generation params

    - `required: boolean`

      Whether the model requires this parameter

    - `type: "string" or "string[]" or "bool" or 5 more`

      Parameter value type

      - `"string"`

      - `"string[]"`

      - `"bool"`

      - `"int"`

      - `"int?"`

      - `"seed"`

      - `"float"`

      - `"dict"`

    - `default: optional unknown`

      Default parameter value

    - `description: optional string`

      Parameter help text

    - `label: optional string`

      Human-readable parameter label

    - `max: optional number`

      Maximum numeric value

    - `min: optional number`

      Minimum numeric value

    - `options: optional array of object { label, value, description }`

      Allowed values for enum-like parameters

      - `label: string`

        Displayed option label

      - `value: string`

        Option value to pass in generation params

      - `description: optional string`

        Option description

    - `properties: optional map[object { default, max, min } ]`

      Nested numeric properties for object parameters

      - `default: number`

      - `max: number`

      - `min: number`

  - `provider: string`

    Model provider

  - `type: "image" or "video" or "audio" or "text"`

    Model type

    - `"image"`

    - `"video"`

    - `"audio"`

    - `"text"`

  - `beta: optional boolean`

    Whether this model is in beta

### Example

```http
curl https://app.flora.ai/api/v1/models \
    -H "Authorization: Bearer $FLORA_API_KEY"
```

#### Response

```json
{
  "models": [
    {
      "capabilities": [
        "string"
      ],
      "estimated_credits": 0,
      "estimated_seconds": 0,
      "model_id": "t2i-flux-2-pro",
      "name": "name",
      "params": [
        {
          "name": "name",
          "required": true,
          "type": "string",
          "default": {},
          "description": "description",
          "label": "label",
          "max": 0,
          "min": 0,
          "options": [
            {
              "label": "label",
              "value": "value",
              "description": "description"
            }
          ],
          "properties": {
            "foo": {
              "default": 0,
              "max": 0,
              "min": 0
            }
          }
        }
      ],
      "provider": "Black Forest Labs",
      "type": "image",
      "beta": true
    }
  ]
}
```

## Domain Types

### Model List Response

- `ModelListResponse object { models }`

  - `models: array of object { capabilities, estimated_credits, estimated_seconds, 6 more }`

    - `capabilities: array of string`

      Model capabilities

    - `estimated_credits: number`

      Estimated credits

    - `estimated_seconds: number`

      Estimated seconds

    - `model_id: string`

      Model identifier

    - `name: string`

      Model name

    - `params: array of object { name, required, type, 7 more }`

      Supported generation parameters for this model

      - `name: string`

        Parameter name to pass in generation params

      - `required: boolean`

        Whether the model requires this parameter

      - `type: "string" or "string[]" or "bool" or 5 more`

        Parameter value type

        - `"string"`

        - `"string[]"`

        - `"bool"`

        - `"int"`

        - `"int?"`

        - `"seed"`

        - `"float"`

        - `"dict"`

      - `default: optional unknown`

        Default parameter value

      - `description: optional string`

        Parameter help text

      - `label: optional string`

        Human-readable parameter label

      - `max: optional number`

        Maximum numeric value

      - `min: optional number`

        Minimum numeric value

      - `options: optional array of object { label, value, description }`

        Allowed values for enum-like parameters

        - `label: string`

          Displayed option label

        - `value: string`

          Option value to pass in generation params

        - `description: optional string`

          Option description

      - `properties: optional map[object { default, max, min } ]`

        Nested numeric properties for object parameters

        - `default: number`

        - `max: number`

        - `min: number`

    - `provider: string`

      Model provider

    - `type: "image" or "video" or "audio" or "text"`

      Model type

      - `"image"`

      - `"video"`

      - `"audio"`

      - `"text"`

    - `beta: optional boolean`

      Whether this model is in beta
