Azurade AI Models API

What can be generated, with the parameters and price of each model. Public.

Operations 2

GET /api/v2/models List models #
GET /api/v2/models/{id} Describe one model #

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/azurade-com:azurade-com-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

azurade-com-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@azurade.com
    name: Azurade AI support
  description: 'Image and video generation, prompt tools and account access for Azurade AI.


    Credits: one balance per account, shared with the web app, same prices. Credits do not expire and are not reset by any billing cycle. A failed generation is refunded automatically. Prices are in credits; the model catalogue carries the price of a default request and POST /api/v2/generations/estimate the exact price of a specific one.


    Errors: every non-2xx body is {"error": , "code": }. Codes worth handling: unknown_model, validation_failed, insufficient_credits (402; POST /api/v2/checkout returns a link for the account holder to buy more), prompt_rejected (400, revise the prompt, do not retry it unchanged), moderation_unavailable and enhance_unavailable (503, safe to retry), generation_failed (502, the job could not be started and nothing was charged; its id is in the body and GET /api/v2/generations/{id} carries the reason), not_found (404, also for records that belong to another account).


    Generations are asynchronous: POST answers 202 with an id, GET /api/v2/generations/{id} moves from pending to completed or failed, and completed carries the output files. The files are attached a moment after the status turns completed, so poll until status is failed, or completed with a non-empty outputs array.'
  title: Azurade AI Models API
  version: '2'
servers:
- url: https://azurade.com
tags:
- description: What can be generated, with the parameters and price of each model. Public.
  name: Models
paths:
  /api/v2/models:
    get:
      description: 'Every model the generation endpoint accepts: display name, what it is best for, the kinds of input it takes, its largest resolution and longest duration, the fields it takes with their defaults and allowed values, and the credits a request that sends only a prompt costs, the same figure POST /api/v2/generations/estimate returns for it. When pricing.varies is true, other resolutions, durations or inputs cost differently: estimate those before submitting. Public.'
      operationId: listModels
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request
      security: []
      summary: List models
      tags:
      - Models
  /api/v2/models/{id}:
    get:
      description: Fields, defaults, allowed values (enum, matched without case, or minimum and maximum for a numeric range) and default price of one model. Public.
      operationId: getModel
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
      security: []
      summary: Describe one model
      tags:
      - Models
components:
  schemas:
    Error:
      properties:
        balance:
          type: number
        code:
          type: string
        cost:
          type: number
        error:
          type: string
        id:
          description: The failed generation, on generation_failed
          type: string
      required:
      - error
      - code
      type: object
    Model:
      properties:
        best_for:
          description: What the model is best at, in one clause
          type: string
        fields:
          items:
            $ref: '#/components/schemas/FieldInfo'
          type: array
        id:
          type: string
        inputs:
          description: Kinds of input the model takes
          items:
            enum:
            - text
            - image
            - video
            - audio
            type: string
          type: array
        max_duration:
          description: Longest duration in seconds; absent when the model has no duration field
          type: integer
        max_resolution:
          description: Largest resolution value the model accepts; absent when it has no resolution field
          type: string
        name:
          description: Display name
          type: string
        pricing:
          properties:
            changes:
              description: 'The request that sends only a prompt with one field changed, where that changes the price; absent when none does. Changes combined are not listed: estimate them'
              items:
                properties:
                  credits:
                    description: Total credits for that whole request, every other field at its default (a video model's clip at its default duration)
                    type: number
                  field:
                    type: string
                  value:
                    description: The field's value; "any" for an input file field, meaning a file is given
                type: object
              type: array
            credits:
              description: Total credits for a request that sends only a prompt, the figure the estimate endpoint returns for it (a video model's is the whole default clip); absent when the pricing row is missing
              type: number
            per:
              description: 'The unit the price multiplies by: each second of video, or each image asked for. Absent when the price is per request'
              enum:
              - second
              - image
              type: string
            unit_credits:
              description: Credits per unit named by per; absent when the pricing row is missing
              type: number
            varies:
              description: 'True when a request can cost something other than the default price (credits): the price is per unit (per), or a change in changes costs something else. The estimate prices any request'
              type: boolean
          type: object
        requires_image:
          description: True when an image or video input is required, so a prompt alone is refused
          type: boolean
        type:
          enum:
          - image
          - video
          type: string
      type: object
    FieldInfo:
      properties:
        default: {}
        description:
          type: string
        enum:
          description: Allowed values, matched without case
          items:
            type: string
          type: array
        input:
          description: Kind of file whose public URL the field takes (upload one with POST /api/v2/uploads); absent for every other field
          enum:
          - image
          - video
          - audio
          type: string
        maximum:
          description: Largest value accepted (integer and number fields)
          type: number
        minimum:
          description: Smallest value accepted (integer and number fields)
          type: number
        name:
          type: string
        required:
          type: boolean
        type:
          enum:
          - string
          - integer
          - number
          - boolean
          - array
          type: string
      type: object
    ModelList:
      properties:
        models:
          items:
            $ref: '#/components/schemas/Model'
          type: array
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: sk-...
      description: 'API key as `Authorization: Bearer sk-...`. The same secret is also accepted in an `X-API-Key` header, with or without the `Bearer ` prefix. Keys are created and deleted on the profile page; a key signs the routes in this document, can revoke itself at /api/oauth/revoke, and cannot create keys, delete other keys or change the account. It can start a checkout, which only a person paying by card completes.'
      scheme: bearer
      type: http
    SessionAuth:
      description: PocketBase session token, as issued to the web app.
      in: header
      name: Authorization
      type: apiKey