Eden AI Models API

The Models API from Eden AI — 1 operation(s) for models.

Operations 1

GET /v3/models List Models #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eden-ai-models-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eden-ai-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eden AI API V3 Models API
  version: 3.0.0
servers:
- url: https://api.edenai.run
  description: Production server
tags:
- name: Models
paths:
  /v3/models:
    get:
      tags:
      - Models
      summary: List Models
      description: 'List available LLM models with extended metadata.


        The default is deliberately today''s payload: routing by model name is additive, so a client

        that has never heard of `view` must keep getting exactly what it got before.'
      operationId: list_models_v3_models_get
      parameters:
      - name: view
        in: query
        required: false
        schema:
          enum:
          - endpoints
          - models
          type: string
          description: How to group the listing. 'endpoints' (default) is one entry per provider/model id, unchanged. 'models' is one entry per routable model name with its provider endpoints nested underneath — send that name as `model` to let Eden AI choose the provider.
          default: endpoints
          title: View
        description: How to group the listing. 'endpoints' (default) is one entry per provider/model id, unchanged. 'models' is one entry per routable model name with its provider endpoints nested underneath — send that name as `model` to let Eden AI choose the provider.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ListModelsResponse'
                - $ref: '#/components/schemas/ListModelsWithEndpointsResponse'
                title: Response List Models V3 Models Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    Capabilities:
      properties:
        input_modalities:
          items:
            type: string
          type: array
          title: Input Modalities
        output_modalities:
          items:
            type: string
          type: array
          title: Output Modalities
        supports_reasoning:
          type: boolean
          title: Supports Reasoning
          default: false
        supports_web_search:
          type: boolean
          title: Supports Web Search
          default: false
        supports_tool_choice:
          type: boolean
          title: Supports Tool Choice
          default: false
        supports_computer_use:
          type: boolean
          title: Supports Computer Use
          default: false
        supports_prompt_caching:
          type: boolean
          title: Supports Prompt Caching
          default: false
        supports_response_schema:
          type: boolean
          title: Supports Response Schema
          default: false
        supports_system_messages:
          type: boolean
          title: Supports System Messages
          default: false
        supports_function_calling:
          type: boolean
          title: Supports Function Calling
          default: false
        supports_native_streaming:
          type: boolean
          title: Supports Native Streaming
          default: false
        supports_assistant_prefill:
          type: boolean
          title: Supports Assistant Prefill
          default: false
        supports_embedding_image_input:
          type: boolean
          title: Supports Embedding Image Input
          default: false
        supports_parallel_function_calling:
          type: boolean
          title: Supports Parallel Function Calling
          default: false
      additionalProperties: true
      type: object
      title: Capabilities
      description: 'Model capability flags. Unknown flags are preserved so consumers keep working when

        new capabilities are introduced without a coordinated release.'
    ListModelsResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: Object type
          default: list
        data:
          items:
            $ref: '#/components/schemas/ModelObject'
          type: array
          title: Data
          description: List of models
      type: object
      required:
      - data
      title: ListModelsResponse
      description: List models response.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ModelWithEndpoints:
      properties:
        id:
          type: string
          title: Id
          description: The routable model name, with no provider prefix (e.g. 'gpt-oss-120b'). Send this as `model` to let Eden AI choose which provider serves it.
        object:
          type: string
          const: model
          title: Object
          description: Object type
          default: model
        created:
          type: integer
          title: Created
          description: Unix timestamp of the newest endpoint serving this model
          default: 0
        owned_by:
          type: string
          title: Owned By
          description: Who authored the model, independent of who sells it
          default: ''
        mode:
          anyOf:
          - type: string
          - type: 'null'
          title: Mode
          description: 'What the model does: ''chat'', ''embedding'', ''stt'', ''tts'' or ''image_generation''. Lets a caller tell an LLM from a voice.'
        endpoints:
          items:
            $ref: '#/components/schemas/ModelObject'
          type: array
          title: Endpoints
          description: Every provider endpoint serving this model, each with its own pricing, context length, capabilities and regions.
        endpoint_count:
          type: integer
          title: Endpoint Count
          description: How many provider endpoints serve this model
          readOnly: true
      type: object
      required:
      - id
      - endpoints
      - endpoint_count
      title: ModelWithEndpoints
      description: 'One routable model name and the provider endpoints behind it.


        Deliberately carries NO pricing, context window or capability of its own. Those vary between

        the sellers of one model — `gpt-oss-120b` spans a 9.5x input-price range, two context lengths

        and six distinct capability sets across ten sellers — so a value here would be wrong for most

        of the group. Each endpoint keeps its own, unchanged.


        ``endpoints`` entries are the same :class:`ModelObject` the flat listing returns, field for

        field, which is what makes this view a pure regrouping: a caller reading

        ``data[].endpoints[]`` sees exactly what it reads from ``data[]`` today.'
    RegionObject:
      properties:
        code:
          type: string
          title: Code
          description: Region code (e.g., 'us-east-1')
        name:
          type: string
          title: Name
          description: Region display name
      type: object
      required:
      - code
      - name
      title: RegionObject
      description: Region where a model is available.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ModelObject:
      properties:
        id:
          type: string
          title: Id
          description: Model identifier (e.g., 'openai/gpt-4')
        object:
          type: string
          const: model
          title: Object
          description: Object type
          default: model
        created:
          type: integer
          title: Created
          description: Unix timestamp of model creation/release
        owned_by:
          type: string
          title: Owned By
          description: Provider/organization that owns the model
        model_name:
          type: string
          title: Model Name
          description: Model name without provider prefix
        context_length:
          anyOf:
          - type: integer
          - type: 'null'
          title: Context Length
          description: Maximum context length in tokens
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Model description
        source:
          anyOf:
          - type: string
          - type: 'null'
          title: Source
          description: Model source URL
        capabilities:
          $ref: '#/components/schemas/Capabilities'
          description: Model capabilities
        pricing:
          additionalProperties: true
          type: object
          title: Pricing
          description: Pricing information after any applicable discounts have been applied
        list_pricing:
          additionalProperties: true
          type: object
          title: List Pricing
          description: Provider list pricing, before any discounts are applied
        discount:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount
          description: Discount applied to the model (0-1 range)
        regions:
          items:
            $ref: '#/components/schemas/RegionObject'
          type: array
          title: Regions
          description: Regions where this model is available
        alias_of:
          anyOf:
          - type: string
          - type: 'null'
          title: Alias Of
          description: 'Set when this entry is an alias (e.g. ''gemini-pro-latest''): the real model_id it currently resolves to. None for concrete models.'
      type: object
      required:
      - id
      - created
      - owned_by
      - model_name
      title: ModelObject
      description: Extended model object with full metadata.
    ListModelsWithEndpointsResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: Object type
          default: list
        data:
          items:
            $ref: '#/components/schemas/ModelWithEndpoints'
          type: array
          title: Data
          description: List of routable models
      type: object
      required:
      - data
      title: ListModelsWithEndpointsResponse
      description: '`?view=models` response: routable names, each with its provider endpoints.


        Named for the public vocabulary rather than the internal one: Pydantic class names become

        OpenAPI schema titles and generated SDK classes, and a caller never needs the word

        "canonical" -- to them these are simply models, and the rows behind them endpoints.'
  securitySchemes:
    AuthBearer:
      type: http
      scheme: bearer