Endpoint
GET https://api.eachlabs.ai/v1/models
This endpoint does not require authentication.
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
curl "https://api.eachlabs.ai/v1/models?name=flux&limit=10"
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']}")
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}`);
});
Response
You’ll get back an array of model objects.[
{
"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 |