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

# Analyze preset references

> Analyze one to three uploaded reference images. Returns a suggested preset name, type, and prompt; it does not create or save a preset asset.

[Work with reusable assets](/api-reference/assets-workflow).


## OpenAPI

````yaml POST /assets/preset-analysis
openapi: 3.0.3
info:
  title: bitStudio API
  version: '2026-09-06'
  description: >-
    Core Studio image, video, and reusable-asset workflows. Requests use a
    workspace-scoped API key and the account’s feature access and credits.
    Generation is asynchronous.
  contact:
    name: bitStudio support
    email: hello@bitstudio.ai
servers:
  - url: https://api.bitstudio.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Images
  - name: Video
  - name: Assets
paths:
  /assets/preset-analysis:
    post:
      tags:
        - Assets
      summary: Analyze preset references
      description: >-
        Analyze one to three uploaded reference images. Returns a suggested
        preset name, type, and prompt; it does not create or save a preset
        asset.
      operationId: analyzePreset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                image_ids:
                  type: array
                  items:
                    type: string
                    description: Resource ID.
                    format: uuid
                  description: Uploaded reference images owned by the caller.
                  maxItems: 3
                  minItems: 1
              required:
                - image_ids
            example:
              image_ids:
                - 11111111-1111-4111-8111-111111111111
      responses:
        '200':
          description: >-
            Analyze one to three uploaded reference images. Returns a suggested
            preset name, type, and prompt; it does not create or save a preset
            asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresetAnalysis'
              example:
                preset_name: White studio — full length
                preset_type: human_studio
                prompt: >-
                  Full-length model photo on a white seamless background with
                  soft studio light.
                set: ''
                scene: ''
                pose: ''
        default:
          description: >-
            Request rejected or service error. See the errors and recovery
            guide.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PresetAnalysis:
      type: object
      properties:
        preset_name:
          type: string
          description: ''
        preset_type:
          type: string
          description: Suggested preset class.
        prompt:
          type: string
          description: Reusable visual description.
        set:
          type: string
          description: Legacy field; may be empty.
        scene:
          type: string
          description: Legacy field; may be empty.
        pose:
          type: string
          description: Legacy field; may be empty.
      required:
        - preset_name
        - prompt
    Error:
      type: object
      properties:
        error:
          type: string
          description: Some handlers return a plain error string.
        code:
          type: string
          description: Structured error code, when available.
        message:
          type: string
          description: Structured human-readable error, when available.
        cta:
          type: boolean
          description: Whether the response includes an account action.
        next_action:
          type: string
          description: Suggested action, such as a plan or credit change.
        current_plan:
          type: string
          description: ''
        user_message:
          type: string
          description: User-facing explanation when present.
        extra_context:
          type: string
          description: Additional error context when present.
      description: >-
        Error shapes differ by endpoint. Read message or error; preserve the
        HTTP status and code. Additional context fields may be returned.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Create an API key in Studio → account menu → API Keys. Keep it on your
        server.

````