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

# List tools and models

> The live capability catalog: which tools exist, which models each can run, and the
exact inputs and parameters those models accept.

**This endpoint is the schema oracle.** Read it instead of hardcoding ids — a new model
becomes usable the moment it ships. A tool that cannot be run honestly (a workflow-only
stage, or a model whose provider workflow is still pending) is absent from this list and
rejected with an explicit message if you ask for it.



## OpenAPI

````yaml /openapi.json get /v1/models
openapi: 3.1.0
info:
  title: Creatorline API
  version: 1.0.0
  description: >-
    Generate AI influencer photos and videos, and publish them to your creators'
    social

    accounts — from your own backend, your scripts, or a coding agent.


    Every request authenticates with an organization-scoped API key and is
    charged against

    that organization's credits, at the same prices the studio shows.
servers:
  - url: https://api.creatorline.io
    description: Production
  - url: http://localhost:3000/api
    description: Local development (the same routes, under the app's own /api prefix)
security:
  - bearerAuth: []
  - apiKeyHeader: []
tags:
  - name: Account
    description: Who the key belongs to, and what it can spend.
  - name: Catalog
    description: The live tool and model catalog. Read it, do not hardcode it.
  - name: Creators
    description: The AI creators a generation or post belongs to.
  - name: Generations
    description: Start, price and poll image and video runs.
  - name: Assets
    description: The media library, and uploading your own files.
  - name: Posts
    description: Turn media into a post and publish it to social platforms.
  - name: Credits
    description: Balance and the consumption ledger.
paths:
  /v1/models:
    get:
      tags:
        - Catalog
      summary: List tools and models
      description: >-
        The live capability catalog: which tools exist, which models each can
        run, and the

        exact inputs and parameters those models accept.


        **This endpoint is the schema oracle.** Read it instead of hardcoding
        ids — a new model

        becomes usable the moment it ships. A tool that cannot be run honestly
        (a workflow-only

        stage, or a model whose provider workflow is still pending) is absent
        from this list and

        rejected with an explicit message if you ask for it.
      operationId: listModels
      parameters:
        - name: tool
          in: query
          description: Narrow to one tool and the models it can run.
          schema:
            type: string
            enum:
              - ugc-video
              - short-clip
              - scene-video
              - motion-control
              - hook-captions
              - photo-edit
              - text-to-photo
              - add-audio
              - lipsync
              - change-voice
              - text-to-speech
              - dialogue
        - name: model
          in: query
          description: Return exactly one model's schema.
          schema:
            type: string
            enum:
              - nano-banana-pro
              - nano-banana-2-text-to-image
              - gpt-image-v2-text-to-image
              - nano-banana-pro-edit
              - nano-banana-2-edit
              - bytedance-seedream-v4-5-edit
              - gpt-image-v2-edit
              - bytedance-seedance-2-0-image-to-video
              - bytedance-seedance-2-0-image-to-video-fast
              - xai-grok-imagine-video-1-5-preview-image-to-video
              - google-gemini-omni-flash-image-to-video
              - bytedance-seedance-2-0-reference-to-video
              - bytedance-seedance-2-0-mini-reference-to-video
              - bytedance-seedance-2-0-reference-to-video-fast
              - xai-grok-imagine-reference-to-video
              - google-gemini-omni-flash-reference-to-video
              - kling-v3-standard-motion-control
              - hook-write
              - caption-burn
              - short-clip
              - bytedance-seedance-2-0-text-to-video
              - sync-3-lipsync
              - sync-lipsync-v2-pro
              - ffmpeg-api-merge-audio-video
              - elevenlabs-zrm-text-to-speech
              - elevenlabs-zrm-text-to-dialogue
              - change-voice
              - scene-seedance-2-0
              - scene-seedance-2-0-mini
              - scene-kling-o3-pro-reference
              - scene-seedance-2-0-fast
              - scene-kling-o3-standard-reference
              - scene-kling-o3-pro-edit
              - scene-kling-o3-standard-edit
      responses:
        '200':
          description: The catalog, or the narrowed slice.
          headers:
            x-request-id:
              description: >-
                Correlation id for this request. Quote it in any support
                question.
              schema:
                type: string
            x-ratelimit-limit:
              description: Requests allowed per minute.
              schema:
                type: integer
            x-ratelimit-remaining:
              description: Requests left in the current window.
              schema:
                type: integer
            x-ratelimit-reset:
              description: Unix seconds when the window resets.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catalog'
        '401':
          description: Missing, malformed, revoked or expired key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  type: authentication_error
                  code: invalid_api_key
                  message: Missing or invalid API key.
                request_id: req_8fQ2mRxK1pLd
        '404':
          description: No such resource — including one that belongs to another workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  type: not_found_error
                  code: resource_missing
                  message: No such generation.
                request_id: req_8fQ2mRxK1pLd
components:
  schemas:
    Catalog:
      type: object
      properties:
        object:
          type: string
          enum:
            - catalog
        tools:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
        models:
          type: array
          items:
            $ref: '#/components/schemas/Model'
    Error:
      type: object
      description: >-
        Every failure has this shape. `param` names the offending field when
        there is one.
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - not_found_error
                - rate_limit_error
                - insufficient_credits_error
                - api_error
            code:
              type: string
            message:
              type: string
            param:
              type: string
          required:
            - type
            - code
            - message
        request_id:
          type: string
        required_credits:
          type: number
          description: 402 only.
        credit_balance:
          type: number
          description: 402 only.
      required:
        - error
        - request_id
    Tool:
      type: object
      properties:
        slug:
          type: string
          enum:
            - ugc-video
            - short-clip
            - scene-video
            - motion-control
            - hook-captions
            - photo-edit
            - text-to-photo
            - add-audio
            - lipsync
            - change-voice
            - text-to-speech
            - dialogue
        group:
          type: string
          enum:
            - video
            - photo
            - audio
        stage:
          type: string
        default_model:
          type: string
          enum:
            - nano-banana-pro
            - nano-banana-2-text-to-image
            - gpt-image-v2-text-to-image
            - nano-banana-pro-edit
            - nano-banana-2-edit
            - bytedance-seedream-v4-5-edit
            - gpt-image-v2-edit
            - bytedance-seedance-2-0-image-to-video
            - bytedance-seedance-2-0-image-to-video-fast
            - xai-grok-imagine-video-1-5-preview-image-to-video
            - google-gemini-omni-flash-image-to-video
            - bytedance-seedance-2-0-reference-to-video
            - bytedance-seedance-2-0-mini-reference-to-video
            - bytedance-seedance-2-0-reference-to-video-fast
            - xai-grok-imagine-reference-to-video
            - google-gemini-omni-flash-reference-to-video
            - kling-v3-standard-motion-control
            - hook-write
            - caption-burn
            - short-clip
            - bytedance-seedance-2-0-text-to-video
            - sync-3-lipsync
            - sync-lipsync-v2-pro
            - ffmpeg-api-merge-audio-video
            - elevenlabs-zrm-text-to-speech
            - elevenlabs-zrm-text-to-dialogue
            - change-voice
            - scene-seedance-2-0
            - scene-seedance-2-0-mini
            - scene-kling-o3-pro-reference
            - scene-seedance-2-0-fast
            - scene-kling-o3-standard-reference
            - scene-kling-o3-pro-edit
            - scene-kling-o3-standard-edit
      required:
        - slug
        - group
        - stage
    Model:
      type: object
      properties:
        id:
          type: string
          enum:
            - nano-banana-pro
            - nano-banana-2-text-to-image
            - gpt-image-v2-text-to-image
            - nano-banana-pro-edit
            - nano-banana-2-edit
            - bytedance-seedream-v4-5-edit
            - gpt-image-v2-edit
            - bytedance-seedance-2-0-image-to-video
            - bytedance-seedance-2-0-image-to-video-fast
            - xai-grok-imagine-video-1-5-preview-image-to-video
            - google-gemini-omni-flash-image-to-video
            - bytedance-seedance-2-0-reference-to-video
            - bytedance-seedance-2-0-mini-reference-to-video
            - bytedance-seedance-2-0-reference-to-video-fast
            - xai-grok-imagine-reference-to-video
            - google-gemini-omni-flash-reference-to-video
            - kling-v3-standard-motion-control
            - hook-write
            - caption-burn
            - short-clip
            - bytedance-seedance-2-0-text-to-video
            - sync-3-lipsync
            - sync-lipsync-v2-pro
            - ffmpeg-api-merge-audio-video
            - elevenlabs-zrm-text-to-speech
            - elevenlabs-zrm-text-to-dialogue
            - change-voice
            - scene-seedance-2-0
            - scene-seedance-2-0-mini
            - scene-kling-o3-pro-reference
            - scene-seedance-2-0-fast
            - scene-kling-o3-standard-reference
            - scene-kling-o3-pro-edit
            - scene-kling-o3-standard-edit
        title:
          type: string
        output:
          type: string
          enum:
            - image
            - video
            - audio
            - text
            - object
        stages:
          type: array
          items:
            type: string
        inputs:
          type: array
          description: Slots this model accepts, keyed by name in the request's `inputs`.
          items:
            type: object
            properties:
              key:
                type: string
              modality:
                type: string
                enum:
                  - image
                  - video
                  - audio
              required:
                type: boolean
              array:
                type: boolean
              max:
                type: number
        params:
          type: array
          description: Parameters this model accepts, with their legal values and defaults.
          items:
            type: object
            properties:
              key:
                type: string
              control:
                type: string
              values:
                type: array
                items: {}
              default: {}
      required:
        - id
        - title
        - output
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your organization's API key, from Settings → API. `Authorization: Bearer
        crl_sk_live_…`
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative to the Authorization header, for tooling that prefers it.

````

## Related topics

- [Generating media](/generations.md)
- [MCP server](/mcp.md)
- [CLI](/cli.md)
- [List generations](/api-reference/generations/list-generations.md)
- [List media](/api-reference/assets/list-media.md)
