> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eachlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Models

> Browse all available AI models with handy filters and pagination.

## Endpoint

```
GET https://api.eachlabs.ai/v1/models
```

<Note>This endpoint does not require authentication.</Note>

## Query Parameters

| Parameter | Type    | Required | Default | Description                                    |
| --------- | ------- | -------- | ------- | ---------------------------------------------- |
| `name`    | string  | No       | `-`     | Filter by model name (case-insensitive search) |
| `limit`   | integer | No       | `50`    | Max results to return (1–500)                  |
| `offset`  | integer | No       | `0`     | Number of results to skip for pagination       |

## Code Examples

<CodeGroup>
  ```bash cURL theme={"dark"}
  curl "https://api.eachlabs.ai/v1/models?name=flux&limit=10"
  ```

  ```python Python theme={"dark"}
  import requests

  response = requests.get(
      "https://api.eachlabs.ai/v1/models",
      params={"name": "flux", "limit": 10}
  )

  models = response.json()
  for model in models:
      print(f"{model['slug']} | {model['title']}")
  ```

  ```javascript JavaScript theme={"dark"}
  const response = await fetch(
    "https://api.eachlabs.ai/v1/models?name=flux&limit=10"
  );
  const models = await response.json();

  models.forEach((model) => {
    console.log(`${model.slug} | ${model.title}`);
  });
  ```
</CodeGroup>

## Response

You'll get back an array of model objects.

```json theme={"dark"}
[
  {
    "title": "Flux 1.1 Pro",
    "slug": "flux-1-1-pro",
    "version": "1.0",
    "output_type": "string",
    "request_schema": {
      "type": "object",
      "required": ["prompt"],
      "properties": {
        "prompt": {
          "type": "string",
          "minLength": 10,
          "maxLength": 500
        },
        "aspect_ratio": {
          "type": "string",
          "enum": ["1:1", "16:9", "9:16", "4:3", "3:4"]
        }
      }
    }
  }
]
```

### Response Fields

| Field            | Type   | Description                                 |
| ---------------- | ------ | ------------------------------------------- |
| `title`          | string | Human-readable model name                   |
| `slug`           | string | Unique model identifier (used in API calls) |
| `version`        | string | Model version                               |
| `output_type`    | string | Output type (`string`, `array`, `object`)   |
| `request_schema` | object | JSON Schema for model inputs                |

## Error Responses

| Status | Body                                                  | Description              |
| ------ | ----------------------------------------------------- | ------------------------ |
| `400`  | `{"error": "invalid limit parameter"}`                | Invalid query parameters |
| `500`  | `{"error": "Failed to fetch models: internal error"}` | Server error             |
