> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/ai/aig/models.md).

# Model List

## 1. Overview

Use this API to retrieve the full list of models that the current API\_KEY can call in the current access region. It can be used to dynamically render a model selector in your application, or to verify that a model ID is available before calling a specific business API.

{% hint style="success" %}
This API is compatible with the OpenAI interface format, and can be called directly using the `models.list()` method of the OpenAI SDK in any language.
{% endhint %}

{% hint style="info" %}
The returned result is a **dynamic list**, filtered in real time according to the API\_KEY carried in the request and the region the request accesses:

* If a model is not enabled for the current API\_KEY, it will not appear in the returned list;
* If the current access region does not support the model (due to regional availability restrictions from the model provider), it will not appear in the returned list.

Therefore, requests to the same API with different API\_KEYs or from different regions may return a different number of models with different contents. A model that does not appear in the list simply cannot be called at present; do not use this to determine whether the model exists on the platform. To enable access to more models, please contact the support team.
{% endhint %}

## 2. Request Description

* **Request Method**:`GET`
* **Request URL**:

  > `https://gateway.theturbo.ai/v1/models`

***

## 3. Request Parameters

### 3.1 Header Parameters

| Parameter Name  | Type   | Required | Description                                                                    | Example                |
| --------------- | ------ | -------- | ------------------------------------------------------------------------------ | ---------------------- |
| `Authorization` | string | Yes      | The API\_KEY required for authentication, in the format `Bearer $YOUR_API_KEY` | `Bearer $YOUR_API_KEY` |

***

## 4. Request Examples

{% tabs %}
{% tab title="HTTP" %}

```http
GET /v1/models
Authorization: Bearer $YOUR_API_KEY
```

{% endtab %}

{% tab title="Shell" %}

```sh
curl https://gateway.theturbo.ai/v1/models \
	-H "Authorization: Bearer $YOUR_API_KEY"
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
	"context"
	"fmt"

	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	apiKey := "sk-123456789012345678901234567890123456789012345678"

	client := openai.NewClient(
		option.WithAPIKey(apiKey),
		option.WithBaseURL("https://gateway.theturbo.ai/v1"),
	)

	page, err := client.Models.List(context.Background())
	if err != nil {
		fmt.Println("error:", err)
		return
	}

	for _, model := range page.Data {
		fmt.Printf("%s (owned_by: %s)\n", model.ID, model.OwnedBy)
	}
}

```

{% endtab %}

{% tab title="Python" %}

```python
#!/usr/bin/env python3

from openai import OpenAI

def main():
    api_key = "sk-123456789012345678901234567890123456789012345678"

    client = OpenAI(
        api_key=api_key,
        base_url="https://gateway.theturbo.ai/v1"
    )

    models = client.models.list()

    for model in models.data:
        print(f"{model.id} (owned_by: {model.owned_by})")

if __name__ == "__main__":
    main()

```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-123456789012345678901234567890123456789012345678",
  baseURL: "https://gateway.theturbo.ai/v1",
});

const models = await client.models.list();

for (const model of models.data) {
  console.log(`${model.id} (owned_by: ${model.owned_by})`);
}
```

{% endtab %}

{% tab title="Java" %}

```java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.models.ModelListPage;

public final class Main {
    public static void main(String[] args) {
        String apiKey = "sk-123456789012345678901234567890123456789012345678";

        OpenAIClient client = OpenAIOkHttpClient.builder()
                .apiKey(apiKey)
                .baseUrl("https://gateway.theturbo.ai/v1")
                .build();

        ModelListPage page = client.models().list();

        page.data().forEach(model ->
                System.out.println(model.id() + " (owned_by: " + model.ownedBy() + ")"));
    }
}
```

{% endtab %}
{% endtabs %}

## 5. Response Example

```json
{
	"object": "list",
	"data": [
		{
			"id": "claude-haiku-4-5-20251001",
			"object": "model",
			"owned_by": "anthropic"
		},
		{
			"id": "claude-opus-4-6",
			"object": "model",
			"owned_by": "anthropic"
		},
		{
			"id": "deepseek-v3.1",
			"object": "model",
			"owned_by": "deepseek"
		},
		{
			"id": "deepseek-v4-flash",
			"object": "model",
			"owned_by": "deepseek"
		},
		{
			"id": "gemini-2.5-flash",
			"object": "model",
			"owned_by": "google"
		},
		{
			"id": "gemini-2.5-flash-image",
			"object": "model",
			"owned_by": "google"
		},
		{
			"id": "gpt-4.1",
			"object": "model",
			"owned_by": "openai"
		},
		{
			"id": "gpt-4o",
			"object": "model",
			"owned_by": "openai"
		}
	]
}
```

## 6. Response Parameters

| Parameter Name | Type   | Description                                                                                                                        | Example             |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| **object**     | string | The response object type; always `list`.                                                                                           | `list`              |
| **data**       | array  | An array of models callable by the current API\_KEY in the current region, sorted by `owned_by` ascending, then by `id` ascending. | -                   |
| id             | string | The model ID, passed as the `model` parameter when calling the business APIs.                                                      | `deepseek-v4-flash` |
| object         | string | The object type of the array element; always `model`.                                                                              | `model`             |
| owned\_by      | string | The identifier of the provider the model belongs to.                                                                               | `deepseek`          |

{% hint style="info" %}
The `data` array may be empty (i.e. `"data": []`), which means the current API\_KEY has no callable models in the current region. Please check the range of models enabled for the API\_KEY and the region the request accesses.
{% endhint %}
