Frameo Models API

The Models API from Frameo — 2 operation(s) for models.

GitHub OpenAPI

Operations 2

GET /v1/catalog List what each model accepts #
GET /v1/models List models with this workspace's rates #

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/frameo-ai:frameo-ai-models-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

frameo-ai-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Frameo Models API
  description: Generate video and images with Frameo's models from your own code.
  version: '1'
servers:
- url: https://api.frameo.ai
tags:
- name: Models
paths:
  /v1/catalog:
    get:
      tags:
      - Models
      summary: List what each model accepts
      description: 'What every model the API offers by default accepts. Public: the docs read it without a key.

        A workspace''s own list and prices, overrides included, are in /v1/models.'
      operationId: catalog_models_v1_catalog_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
        '400':
          description: The request is invalid (invalid_request_error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, revoked or expired API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Not enough credits (billing_error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The key lacks a scope, or the workspace can't use this
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No such object in this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate or concurrency limit; see Retry-After
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Upstream failure (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Briefly unavailable (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '504':
          description: Timed out upstream (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security: []
  /v1/models:
    get:
      tags:
      - Models
      summary: List models with this workspace's rates
      description: 'The models this workspace can use: what each accepts (the catalog) and its credit rates

        after the workspace''s overrides (the gateway). A model the gateway doesn''t serve right now is

        left out.'
      operationId: models_v1_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
        '400':
          description: The request is invalid (invalid_request_error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, revoked or expired API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Not enough credits (billing_error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The key lacks a scope, or the workspace can't use this
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No such object in this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate or concurrency limit; see Retry-After
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Upstream failure (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Briefly unavailable (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '504':
          description: Timed out upstream (api_error); safe to retry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - apiKey: []
components:
  schemas:
    DraftMode:
      properties:
        resolutions:
          items:
            type: string
          type: array
          title: Resolutions
          description: What a draft renders at.
        finalize_resolutions:
          items:
            type: string
          type: array
          title: Finalize Resolutions
          description: What a finalize of a draft may target.
        source_lifetime_days:
          anyOf:
          - type: integer
          - type: 'null'
          title: Source Lifetime Days
          description: How long a draft can be finalized, at most.
      type: object
      required:
      - resolutions
      - finalize_resolutions
      title: DraftMode
    ErrorBody:
      properties:
        type:
          type: string
          title: Type
          examples:
          - invalid_request_error
        code:
          type: string
          title: Code
          examples:
          - parameter_invalid
        message:
          type: string
          title: Message
      type: object
      required:
      - type
      - code
      - message
      title: ErrorBody
    ModelList:
      properties:
        object:
          type: string
          const: list
          title: Object
          default: list
        data:
          items:
            $ref: '#/components/schemas/Model'
          type: array
          title: Data
      type: object
      required:
      - data
      title: ModelList
    Model:
      properties:
        object:
          type: string
          const: model
          title: Object
          default: model
        id:
          type: string
          title: Id
          examples:
          - seedance_2_0
        type:
          type: string
          title: Type
          description: video or image
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
        text_to_video:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Text To Video
        image_to_video:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Image To Video
        last_frame:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Last Frame
          description: Accepts an image with role last_frame.
        last_frame_requires_first_frame:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Last Frame Requires First Frame
        aspect_follows_first_frame:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Aspect Follows First Frame
          description: With a first frame, the output takes that image's aspect ratio.
        min_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Seconds
        max_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Seconds
        only_seconds:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Only Seconds
          description: When set, the only durations allowed.
        aspect_ratios:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Aspect Ratios
        resolutions:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Resolutions
        max_reference_images:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Reference Images
        max_input_images:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Input Images
        sound:
          anyOf:
          - type: string
          - type: 'null'
          title: Sound
          description: optional, always or none
        max_prompt_chars:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Prompt Chars
        draft:
          anyOf:
          - $ref: '#/components/schemas/DraftMode'
          - type: 'null'
          description: Draft mode, on models that offer it; null otherwise.
        credits:
          anyOf:
          - additionalProperties:
              type: integer
            type: object
          - type: 'null'
          title: Credits
          description: 'This workspace''s credits: per second by resolution for video, per image for images.'
      type: object
      required:
      - id
      - type
      title: Model
    ErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      type: object
      required:
      - error
      title: ErrorResponse
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: Your API key, fk_live_...