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

# List synthetic generation models

> Return the available models, supported reasoning efforts, and cost limits for synthetic generation. Use `id` as `generationModelId`. Set `reasoningEffort` only when `defaultReasoningEffort` is present. `maxCostPerAttempt` must be between `min` and `maxEstimate`; values below `typical` produce a warning.



## OpenAPI

````yaml /api-reference/openapi.json get /generation-models
openapi: 3.1.0
info:
  description: >-
    Manage projects, datasets, labeling pipelines, and model training. **Beta:**
    endpoints, request and response shapes, and error contracts can change
    without notice or a backward-compatibility promise.
  title: Toloka Platform API
  version: 2.0.0
servers:
  - url: https://platform.toloka.ai/api/v2-beta
security:
  - apiKeyAuth: []
  - scopedTokenAuth: []
tags:
  - description: The authenticated API key owner.
    name: Account
  - description: A project is the container for pipelines, datasets, and files.
    name: Projects
  - description: Rows and typed fields. Field schemas are immutable once created.
    name: Datasets
  - description: Append rows to a dataset from a file.
    name: Dataset uploads
  - description: Read a dataset out as a file.
    name: Dataset exports
  - description: A pipeline is a graph of nodes that processes each dataset item.
    name: Pipelines
  - description: The nodes, connections, fields, and version of a pipeline graph.
    name: Pipeline graph
  - description: Execute a pipeline over a dataset and inspect each item.
    name: Runs
  - description: Per-node checks that a pipeline must pass before deployment.
    name: Checks
  - description: Named credentials available to pipeline code.
    name: Secrets
  - description: Project files available to pipeline code and labeling interfaces.
    name: Files
  - description: >-
      Global, read-only catalog of the models a synthetic generation node can
      use, with their budget bounds.
    name: Generation models
  - description: >-
      Global, read-only catalog of the expert audience: the values a node
      `audience` filter can use.
    name: Audience
  - description: >-
      Project lists of experts a node can take its workforce from with
      `audienceMode: service`. Available only to teams with the audience service
      enabled.
    name: Expert lists
  - description: >-
      Experts banned in a project: they cannot be invited and are removed from
      the work they are in. Available only to teams with expert bans enabled.
    name: Expert ban list
  - description: Global, read-only base model catalog.
    name: Base models
  - description: Project-owned mutable model-training drafts.
    name: Trainings
  - description: Project-owned Models and immutable Model Versions.
    name: Models
  - name: Batch inference
paths:
  /generation-models:
    get:
      tags:
        - Generation models
      summary: List synthetic generation models
      description: >-
        Return the available models, supported reasoning efforts, and cost
        limits for synthetic generation. Use `id` as `generationModelId`. Set
        `reasoningEffort` only when `defaultReasoningEffort` is present.
        `maxCostPerAttempt` must be between `min` and `maxEstimate`; values
        below `typical` produce a warning.
      operationId: listGenerationModels
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  defaultGenerationModelId:
                    description: >-
                      The model a synthetic node uses when `generationModelId`
                      is omitted.
                    enum:
                      - gpt-5.4
                      - gpt-5.4-mini
                      - claude-sonnet-4-6
                      - gemini-3.1-pro-preview
                      - gemini-3.5-flash
                      - gemini-3.7-flash
                      - claude-sonnet-5
                      - claude-opus-5
                      - claude-fable-5
                      - gpt-5.6-terra
                      - gpt-5.6-luna
                      - gpt-5.6-sol
                    type: string
                  generationModels:
                    description: Models available for synthetic generation nodes.
                    items:
                      $ref: '#/components/schemas/GenerationModel'
                    type: array
                required:
                  - defaultGenerationModelId
                  - generationModels
                type: object
          description: Synthetic generation model catalog
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
        '429':
          description: Rate limit exceeded
          headers:
            RateLimit-Limit:
              $ref: '#/components/headers/RateLimit-Limit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            RateLimit-Remaining:
              $ref: '#/components/headers/RateLimit-Remaining'
            RateLimit-Reset:
              $ref: '#/components/headers/RateLimit-Reset'
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
      x-codeSamples:
        - label: TypeScript SDK
          lang: typescript
          source: |
            import { createClient } from "@toloka-platform/sdk";

            const client = createClient({
              baseUrl: "https://platform.toloka.ai",
              apiKey: process.env.TOLOKA_API_KEY!,
            });

            const catalog = await client.generationModels.list();
            console.log(catalog);
components:
  schemas:
    GenerationModel:
      description: A model offered for synthetic generation nodes.
      properties:
        budgets:
          description: >-
            The `maxCostPerAttempt` bounds for each supported reasoning effort,
            or one entry without it.
          items:
            $ref: '#/components/schemas/GenerationBudget'
          type: array
        defaultReasoningEffort:
          description: >-
            The reasoning effort used when `reasoningEffort` is omitted. Absent
            when the model does not support reasoning effort; then setting
            `reasoningEffort` fails validation.
          enum:
            - low
            - medium
            - high
          type: string
        description:
          description: What the model is suited for.
          type: string
        displayName:
          description: The model name the platform UI shows.
          type: string
        id:
          description: >-
            The model id. Use it as `generationModelId` in a synthetic
            `audienceAndPricing`.
          enum:
            - gpt-5.4
            - gpt-5.4-mini
            - claude-sonnet-4-6
            - gemini-3.1-pro-preview
            - gemini-3.5-flash
            - gemini-3.7-flash
            - claude-sonnet-5
            - claude-opus-5
            - claude-fable-5
            - gpt-5.6-terra
            - gpt-5.6-luna
            - gpt-5.6-sol
          type: string
        recommended:
          description: Whether the platform recommends this model.
          type: boolean
      required:
        - id
        - displayName
        - description
        - recommended
        - budgets
      type: object
    GenerationBudget:
      description: >-
        The `maxCostPerAttempt` bounds of a generation model at one reasoning
        effort.
      properties:
        maxEstimate:
          description: >-
            The maximum allowed `maxCostPerAttempt`, in US dollars, based on the
            estimated cost of the longest attempt.
          type: number
        min:
          description: The minimum allowed `maxCostPerAttempt`, in US dollars.
          type: number
        reasoningEffort:
          description: >-
            The reasoning effort these figures apply to; absent for a model that
            does not support reasoning effort.
          enum:
            - low
            - medium
            - high
          type: string
        typical:
          description: >-
            The typical cost of one generation attempt, in US dollars. A
            `maxCostPerAttempt` below it is accepted with a warning, because
            generation stops once the budget is spent and can truncate results.
          type: number
      required:
        - min
        - typical
        - maxEstimate
      type: object
  headers:
    RateLimit-Limit:
      description: The maximum number of requests allowed in the current window.
      schema:
        type: integer
    RateLimit-Policy:
      description: The rate limit policy (e.g., "60;w=60").
      schema:
        type: string
    RateLimit-Remaining:
      description: The number of requests remaining in the current window.
      schema:
        type: integer
    RateLimit-Reset:
      description: The number of seconds until the current window resets.
      schema:
        type: integer
    X-Request-Id:
      description: >-
        The request id: the X-Request-Id you sent when it is 1-128 characters of
        letters, digits, ".", "_" or "-", otherwise a generated UUID. Present on
        every response, including errors; quote it when reporting a problem.
      schema:
        type: string
  securitySchemes:
    apiKeyAuth:
      description: >-
        Enter `ApiKey <your-api-key>` in Authorization, including the `ApiKey `
        prefix. In cURL and Python samples, `<api-key>` means this full value.
        The TypeScript SDK adds the prefix for you.
      in: header
      name: Authorization
      type: apiKey
    scopedTokenAuth:
      description: >-
        Enter the project-scoped token as `pst_...` in X-Scoped-Token, without
        an `ApiKey ` prefix. Create a token with POST
        /projects/{projectId}/tokens.
      in: header
      name: X-Scoped-Token
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.