> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runflow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List public, active models (no auth)

> Returns published public models — anonymous access permitted. Hard-scoped to ``is_public=true AND status_code='active'`` regardless of any caller-supplied ``q``. Embeds, fields, sort, and filter axes are validated against ``Model.public_read`` (see the public-read framework).



## OpenAPI

````yaml /api/openapi.public.json get /v1/public/models
openapi: 3.1.0
info:
  title: Runflow API
  version: 0.1.0
  description: >-
    Public Runflow API. Run AI image and video models, manage media, inspect run
    history, and configure webhooks. Auth: HTTP Bearer.


    This document is the customer integration surface only. Admin and internal
    operations plus generic system reference-data tables are intentionally
    omitted.
servers:
  - url: https://api.runflow.io
    description: Production
security:
  - HTTPBearer: []
tags:
  - name: Models
    description: >-
      Browse the model catalog and dispatch model runs. The primary surface for
      running AI image and video generation.
  - name: Runs
    description: >-
      Inspect, cancel, and re-run model executions. Fetch logs, node-runs, and
      callback delivery history.
  - name: Media
    description: >-
      Upload images and videos as inputs. Organize assets into folders.
      Three-step presigned upload flow for large files.
  - name: Batches
    description: >-
      Run a model on multiple inputs in one request. Includes per-item status
      and a single callback when the batch completes.
  - name: Evaluations
    description: >-
      Submit an image generated anywhere for automated quality evaluation, then
      read a pass verdict, a 0-1 score, and structured issues. No Runflow run
      required.
  - name: Webhooks
    description: >-
      Subscribe to platform events. Inspect delivery history, redeliver failed
      callbacks, manage signing secrets.
  - name: Account
    description: Read your account identity and credit balance.
  - name: Status
    description: Health and readiness probes for the API.
paths:
  /v1/public/models:
    get:
      tags:
        - Models
      summary: List public, active models (no auth)
      description: >-
        Returns published public models — anonymous access permitted.
        Hard-scoped to ``is_public=true AND status_code='active'`` regardless of
        any caller-supplied ``q``. Embeds, fields, sort, and filter axes are
        validated against ``Model.public_read`` (see the public-read framework).
      operationId: listPublicModels
      parameters:
        - name: q
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: ANTLR filter expression (same syntax as /v1/models)
            title: Q
          description: ANTLR filter expression (same syntax as /v1/models)
        - name: fields
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Field projection
            title: Fields
          description: Field projection
        - name: sort_by
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Sort expression
            title: Sort By
          description: Sort expression
        - name: limit
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 500
                minimum: 1
              - type: 'null'
            description: Page size
            title: Limit
          description: Page size
        - name: pq
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Previous-page query (cursor pagination)
            title: Pq
          description: Previous-page query (cursor pagination)
        - name: from_prev
          in: query
          required: false
          schema:
            type: boolean
            description: Backward pagination flag
            default: false
            title: From Prev
          description: Backward pagination flag
        - name: embed
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Comma-separated nested entities to include. Allowed names live on
              ``Model.public_read.embeds``: inputs, outputs, examples,
              faq_entries, pricing, related_links. Any other name returns 422.
              ``related_links`` is filtered to links whose target Model is
              itself public/active/non-deleted.
            title: Embed
          description: >-
            Comma-separated nested entities to include. Allowed names live on
            ``Model.public_read.embeds``: inputs, outputs, examples,
            faq_entries, pricing, related_links. Any other name returns 422.
            ``related_links`` is filtered to links whose target Model is itself
            public/active/non-deleted.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicModelSearchValidator'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PublicModelSearchValidator:
      properties:
        items:
          items:
            $ref: '#/components/schemas/PublicModelValidator'
          type: array
          title: Items
        first:
          anyOf:
            - type: string
            - type: 'null'
          title: First
        next:
          anyOf:
            - type: string
            - type: 'null'
          title: Next
        previous:
          anyOf:
            - type: string
            - type: 'null'
          title: Previous
      type: object
      required:
        - items
      title: PublicModelSearchValidator
      description: >-
        Paginated list response for the unauthenticated ``/v1/public/models``
        surface.
    ErrorResponse:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Errors
      type: object
      required:
        - code
        - message
      title: ErrorResponse
      description: Standard error envelope — matches exception handler output.
    PublicModelValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_creator_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Creator Id
        slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Slug
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        version:
          anyOf:
            - type: string
            - type: 'null'
          title: Version
        icon_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon Url
        cover_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Cover Url
        category_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Category Code
        status_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Status Code
        family_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Family Id
        family_variant_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Family Variant Code
        param_count:
          anyOf:
            - type: string
            - type: 'null'
          title: Param Count
        architecture:
          anyOf:
            - type: string
            - type: 'null'
          title: Architecture
        license_code:
          anyOf:
            - type: string
            - type: 'null'
          title: License Code
        max_resolution:
          anyOf:
            - type: string
            - type: 'null'
          title: Max Resolution
        lora_support:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Lora Support
        fine_tuning:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Fine Tuning
        supports_streaming:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Supports Streaming
        paper_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Paper Url
        github_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Github Url
        is_official:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Official
        is_open_source:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Open Source
        availability_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Availability Status
        seo:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Seo
        notable_features:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Notable Features
        content:
          anyOf:
            - type: string
            - type: 'null'
          title: Content
        pricing_note:
          anyOf:
            - type: string
            - type: 'null'
          title: Pricing Note
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
        inputs:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model__ModelInput__PublicValidator
              type: array
            - type: 'null'
          title: Inputs
        outputs:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model__ModelOutput__PublicValidator
              type: array
            - type: 'null'
          title: Outputs
        examples:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model_content__ModelExample__PublicValidator
              type: array
            - type: 'null'
          title: Examples
        faq_entries:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model_content__ModelFaqEntry__PublicValidator
              type: array
            - type: 'null'
          title: Faq Entries
        pricing:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model_content__ModelCustomerPricing__PublicValidator
              type: array
            - type: 'null'
          title: Pricing
        related_links:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__model_content__ModelRelatedLink__PublicValidator
              type: array
            - type: 'null'
          title: Related Links
      type: object
      title: PublicModelValidator
      description: >-
        Response shape for the unauthenticated ``/v1/public/models`` surface.


        Positive allowlist sized for full detail-page parity with the
        authenticated

        ``Model.FullValidator`` response.  Excludes customer-org tenancy
        (``org_id``)

        and audit columns (``created_by``, ``deleted_at``, ``deleted_by``) plus
        the

        tautological ``is_public`` flag — defining the public surface as an
        explicit

        allowlist (not "FullValidator minus N") prevents future internal-only

        columns added to ``Model`` from auto-leaking.


        Embed children all serialize through their own ``PublicValidator``s so
        column

        additions to ``FullValidator`` of any child do not auto-leak. 
        ``related_links``

        is included with second-hop visibility enforced by an ``EXISTS`` filter
        on the

        embed config (see ``Model.public_read.embeds["related_links"]``) — only
        links

        whose target Model is itself public/active/non-deleted are returned.
    models__model__ModelInput__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        variable_type_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Variable Type Code
        default_behavior_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Default Behavior Code
        validator_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Validator Code
        validator_attrs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Validator Attrs
        is_required:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Required
        default_value:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Default Value
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        is_featured:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Featured
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: PublicValidator
      description: >-
        Public projection — same scalar shape as FullValidator (no internal
        columns).


        Declared explicitly so the public surface always serializes through
        public-prefixed

        validators, keeping future column additions to FullValidator from
        auto-leaking.
    models__model__ModelOutput__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        variable_type_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Variable Type Code
        validator_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Validator Code
        validator_attrs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Validator Attrs
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: PublicValidator
      description: >-
        Public projection — same scalar shape as FullValidator (no internal
        columns).


        Declared explicitly so the public surface always serializes through
        public-prefixed

        validators, keeping future column additions to FullValidator from
        auto-leaking.
    models__model_content__ModelExample__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        input:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Input
        output:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Output
        thumbnail_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Thumbnail Url
        category_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Category Code
        is_featured:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Featured
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        ran_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Ran At
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: PublicValidator
      description: >-
        Public projection — drops internal performance/COGS/lifecycle fields.


        Used by the unauthenticated public model endpoint when
        ``embed=examples`` is

        requested.  Excludes ``cost`` (operational COGS),
        ``timing``/``duration_ms``/

        ``total_ms`` (internal performance data), ``status_code`` (internal
        lifecycle),

        ``is_public`` (visibility flag itself), and ``start_type`` (internal
        generation

        pathway).
    models__model_content__ModelFaqEntry__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
        question:
          anyOf:
            - type: string
            - type: 'null'
          title: Question
        answer:
          anyOf:
            - type: string
            - type: 'null'
          title: Answer
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: PublicValidator
      description: >-
        Public projection — same scalar shape as FullValidator (no internal
        columns to drop).


        Declared explicitly so the public surface always serializes through
        public-prefixed

        validators, keeping future column additions to FullValidator from
        auto-leaking.
    models__model_content__ModelCustomerPricing__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Id
        pricing_model_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Pricing Model Code
        rule_effect_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Rule Effect Code
        model_input_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Model Input Id
        match_value:
          anyOf:
            - {}
            - type: 'null'
          title: Match Value
        dimension_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Dimension Code
        min_value:
          anyOf:
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Min Value
        max_value:
          anyOf:
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Max Value
        price:
          anyOf:
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Price
        currency_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency Code
        unit_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Unit Code
        multiplier_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Multiplier Label
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        measurement_source:
          anyOf:
            - type: string
            - type: 'null'
          title: Measurement Source
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: PublicValidator
      description: |-
        Public projection — drops the lifecycle column.

        ``disabled_at`` is excluded because the public surface only ever returns
        active (non-disabled) pricing rows; carrying the column would leak
        operational lifecycle metadata.
    models__model_content__ModelRelatedLink__PublicValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        related_model_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Related Model Id
        sort_order:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sort Order
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
      type: object
      title: PublicValidator
      description: >-
        Public projection — drops ``model_id``.


        ``model_id`` is redundant: it always equals the parent Model row already

        returned by the public response.  ``related_model_id`` is acceptable
        here

        only because the parent's embed-specific ``EXISTS`` filter proves the

        target Model row is itself public/active/non-deleted before the link is

        included.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````