> ## Documentation Index
> Fetch the complete documentation index at: https://edenai-feat-automate-documentation-tests.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List LLM Models

> Use the /v3/models endpoint to retrieve all LLM models available through Eden AI, along with their capabilities: input modalities, reasoning, web search, and function calling.

export const TechArticleSchema = ({title, description, path, articleSection, about, proficiencyLevel = "Beginner", dependencies, keywords = [], datePublished, dateModified, image, inLanguage = "en"}) => {
  const baseUrl = "https://www.edenai.co/docs";
  const canonicalUrl = `${baseUrl}/${path}`.replace(/\/+$/, "");
  const ogParams = new URLSearchParams({
    division: articleSection || "",
    title: title || "",
    description: description || ""
  });
  const resolvedImage = image || `https://edenai.mintlify.app/_mintlify/api/og?${ogParams.toString()}`;
  const data = {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "@id": `${canonicalUrl}#techarticle`,
    mainEntityOfPage: {
      "@type": "WebPage",
      "@id": canonicalUrl
    },
    headline: title,
    name: title,
    description: description,
    url: canonicalUrl,
    inLanguage: inLanguage,
    isPartOf: {
      "@type": "WebSite",
      name: "Eden AI Documentation",
      url: baseUrl
    },
    author: [{
      "@type": "Organization",
      name: "Eden AI",
      url: "https://www.edenai.co/"
    }],
    publisher: {
      "@type": "Organization",
      name: "Eden AI",
      url: "https://www.edenai.co/",
      logo: {
        "@type": "ImageObject",
        url: "https://www.edenai.co/assets/logo.png"
      }
    }
  };
  if (articleSection) data.articleSection = articleSection;
  if (about) data.about = {
    "@type": "Thing",
    name: about
  };
  if (proficiencyLevel) data.proficiencyLevel = proficiencyLevel;
  if (dependencies) data.dependencies = dependencies;
  if (keywords && keywords.length) data.keywords = keywords;
  if (datePublished) data.datePublished = datePublished;
  if (dateModified) data.dateModified = dateModified;
  data.image = Array.isArray(resolvedImage) ? resolvedImage : [resolvedImage];
  const json = JSON.stringify(data);
  const schemaId = `techarticle-${canonicalUrl}`;
  React.useEffect(() => {
    if (typeof document === "undefined") return;
    document.querySelectorAll(`script[data-schema-id="${schemaId}"]`).forEach(n => n.remove());
    const script = document.createElement("script");
    script.type = "application/ld+json";
    script.dataset.schemaId = schemaId;
    script.textContent = json;
    document.head.appendChild(script);
    return () => script.remove();
  }, [json, schemaId]);
  return null;
};

<TechArticleSchema title={"List LLM Models"} description={"Use the /v3/models endpoint to retrieve all LLM models available through Eden AI, along with their capabilities: input modalities, reasoning, web search, and function calling."} path="v3/llms/listing-models" articleSection="LLMs" about={"LLM API"} proficiencyLevel="Intermediate" keywords={["Eden AI", "AI API", "LLM API", "chat completion", "OpenAI compatible"]} datePublished="2026-05-06T00:00:00Z" dateModified="2026-08-09T00:00:00Z" />

Use the `/v3/models` endpoint to retrieve all LLM models available through Eden AI, along with their capabilities: input modalities, reasoning, web search, and function calling.

## Endpoint

```
GET /v3/models
```

The endpoint is public: no API key is required.

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.edenai.run/v3/models
  ```

  ```python Python theme={null}
  import requests

  response = requests.get("https://api.edenai.run/v3/models")

  for model in response.json()["data"]:
      print(model["id"])
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.edenai.run/v3/models");

  const { data } = await response.json();
  data.forEach(model => console.log(model.id));
  ```
</CodeGroup>

## Response

Each entry includes the model's identity, context window, capabilities, pricing, and available regions (list truncated for readability):

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "google/gemini-flash-latest",
      "object": "model",
      "created": 1784646733,
      "owned_by": "google",
      "model_name": "gemini-3.6-flash",
      "context_length": 1048576,
      "description": "Gemini 3.6 Flash is a high-efficiency model from Google...",
      "capabilities": {
        "input_modalities": ["text", "image", "video", "file", "audio"],
        "output_modalities": ["text"],
        "supports_reasoning": true,
        "supports_web_search": true,
        "supports_tool_choice": true,
        "supports_computer_use": false,
        "supports_prompt_caching": true,
        "supports_response_schema": true,
        "supports_system_messages": true,
        "supports_function_calling": true,
        "supports_native_streaming": true,
        "supports_assistant_prefill": false,
        "supports_embedding_image_input": false,
        "supports_parallel_function_calling": true
      },
      "pricing": {
        "input_cost_per_token": 1.5e-06,
        "output_cost_per_token": 7.5e-06,
        "cache_read_input_token_cost": 1.5e-07,
        "cache_creation_input_token_cost": 8.33e-08
      },
      "regions": [
        { "code": "eu", "name": "Europe" }
      ],
      "alias_of": "google/gemini-3.6-flash"
    }
  ]
}
```

Each model `id` is used directly as the `model` parameter in your requests.

## Model aliases

Some models are available under a **stable alias**, a version-agnostic name that always points to the current release, alongside versioned or dated snapshot IDs:

* **Stable alias:** `google/gemini-flash-latest`, `anthropic/claude-sonnet-4-6`, `deepseek/deepseek-chat`
* **Versioned snapshot:** `anthropic/claude-opus-4-5-20251101`

Use the **stable alias** when you want your integration to keep working as providers ship new versions. **Pin a versioned snapshot** when you need a fixed, reproducible model. Either form works as the `model` parameter. Alias entries report the concrete model they currently resolve to in the `alias_of` field, as in the response example above.

The catalog lists both forms when a provider exposes them, so you may see a stable alias (e.g. `anthropic/claude-opus-4-5`) and one or more dated snapshots (e.g. `anthropic/claude-opus-4-5-20251101`) side by side. Use the stable alias to always get the latest version, or a dated snapshot to pin to a specific release.

## Capabilities

The `capabilities` object describes what each model supports:

| Field                                | Description                                                                         |
| ------------------------------------ | ----------------------------------------------------------------------------------- |
| `input_modalities`                   | Input types the model accepts: `text`, `image`, `audio`, `video`, `file`            |
| `output_modalities`                  | Output types the model produces                                                     |
| `supports_reasoning`                 | Model supports extended thinking / reasoning mode                                   |
| `supports_web_search`                | Model can perform live web searches via [`web_search_options`](/v3/llms/web-search) |
| `supports_function_calling`          | Model supports function/tool calling                                                |
| `supports_tool_choice`               | Model supports the `tool_choice` parameter                                          |
| `supports_prompt_caching`            | Model supports prompt caching                                                       |
| `supports_response_schema`           | Model supports structured output with a response schema                             |
| `supports_system_messages`           | Model accepts system messages                                                       |
| `supports_computer_use`              | Model supports computer-use tooling                                                 |
| `supports_parallel_function_calling` | Model can call multiple tools in one turn                                           |
| `supports_assistant_prefill`         | Model accepts a pre-filled assistant message                                        |
| `supports_native_streaming`          | Model supports native streaming responses                                           |
| `supports_embedding_image_input`     | Model accepts image input for embeddings                                            |

Some models expose extra provider-specific keys (e.g. `supports_pdf_input`, `supports_audio_input`), and a few return `"capabilities": null`. Treat a missing key or a `null` object as "not supported".

<Tip>
  You can also browse all features and providers visually in the [Eden AI model catalog](https://app.edenai.run/models).
</Tip>

<Tip icon="earth-europe">
  Need EU data residency? Hit `https://api.eu.edenai.run/v3/models` instead and the list is automatically filtered to EU-eligible models. See [EU Endpoint](/v3/data-governance/eu-endpoint).
</Tip>

<Note>
  Looking for OCR, image, or audio models? See [List Expert Models](/v3/expert-models/listing-models) for the full catalog of expert model features.
</Note>
