# Models

> Supported UniAll model documentation grouped by capability, with the model-list endpoint.

Canonical URL: https://docs.uniall.ai/models
Locale: en

The Models page is the normalized entry point for the selected UniAll model documentation. It groups pages by capability instead of preserving the original Apifox menu order.

Use the model-list endpoint when you need to discover the models available to the current API key at runtime.

## Capability Categories

| Category | Pages | Typical endpoint |
| --- | --- | --- |
| Image Generation | Async Image Generation, Seedream, GPT-Image-2, Nano Series | `POST /v1/images/tasks` or `POST /v1/images/generations` |
| Video Generation | Happy-Horse, Seedance 2.0, Grok Imagine, Veo 3.1, Vidu, Kling, Wan 2.6, Sora 2 | `POST /v1/video/generations` or `POST /v1/videos` |
| Audio and Music | Music Generation, Speech Synthesis | Model-specific audio endpoints |
| Digital Humans | Digital Human Video | Model-specific avatar video endpoint |

## Model List Endpoint

```http
GET /v1/models
```

The endpoint returns the current model list. UniAll can return compatibility-specific formats based on request headers:

| Request style | Detection rule | Response style |
| --- | --- | --- |
| OpenAI compatible | Default request style | OpenAI model list |
| Anthropic compatible | Includes both `x-api-key` and `anthropic-version` | Anthropic-style model list |
| Gemini compatible | Includes `x-goog-api-key` header or `key` query parameter | Gemini-style model list |

For this documentation scope, the normalized pages focus on the selected image, video, audio, and digital-human capabilities.

## Required Headers

```http
Authorization: Bearer sk-***
```

Compatibility-specific clients may use their native authentication headers when documented by the client format.

## Request Example

```bash
curl "{BASE_URL}/v1/models" \
  -H "Authorization: Bearer sk-***"
```

## Response Example

```json
{
  "object": "list",
  "data": [
    {
      "id": "grok-imagine",
      "object": "model",
      "created": 0,
      "owned_by": "uniall"
    },
    {
      "id": "gpt-image-2",
      "object": "model",
      "created": 0,
      "owned_by": "uniall"
    }
  ]
}
```

## Response Fields

| Field | Type | Description |
| --- | --- | --- |
| `object` | string | List object marker. |
| `data` | array | Available model records. |
| `data[].id` | string | Model ID to use in API requests. |
| `data[].object` | string | Object type for the model record. |
| `data[].created` | number | Creation timestamp if available. Some compatibility responses may use `0`. |
| `data[].owned_by` | string | Owner or provider label. |

## Selection Guidance

- Use [Async Image Generation](/models/image/async-image-generation) when the task is image generation or image editing through a polling flow.
- Use [Grok Imagine Video Generation](/models/video/grok-imagine) when the model ID is `grok-imagine`.
- Use the capability-specific page for provider-specific fields, billing notes, and task lifecycle details.
- Treat `/v1/models` as runtime discovery. Do not use it as the only source of integration rules.

## Common Errors

| HTTP status | Meaning |
| --- | --- |
| `401` | Missing or invalid authentication. |
| `403` | The current API key is disabled or not allowed to access the model list. |

## Related Pages

- [Documentation Overview](/)
- [Query Balance](/balance)
- [Async Image Generation](/models/image/async-image-generation)
- [Grok Imagine Video Generation](/models/video/grok-imagine)
