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

# List personas and styles

> Find the IDs of your personas and styles, plus presets you can use right away.



## OpenAPI

````yaml openapi.json GET /v2/pikzonality
openapi: 3.0.3
info:
  title: Pikzels Public API
  version: v2
  description: >-
    Public REST API for external developers (v2). Synchronous processing for
    thumbnails/titles (waits for result). Async for persona/style creation.
    Thumbnail output URLs expire in 24 hours. Personas and styles are persisted.
    Image inputs must be JPEG, PNG or WebP, at most 10 MB and 25 megapixels, and
    not animated; the whole request body is limited to 15 MB. V2 assigns a
    request_id at request start, returns it on error responses, and also sends
    it as the X-Request-Id header. V2 error messages are safe public summaries;
    use error.code and request_id for programmatic handling and support.
    Requests that cannot be processed return GENERATION_REJECTED. Smart Balance
    recovery only charges when the configured top-up can cover the failed
    request. When Smart Balance recovery is blocked by a failed or unpaid auto
    top-up invoice, V2 returns SMART_BALANCE_PAYMENT_FAILED. Each account has a
    limit on requests in flight at once (GET requests are not counted); it
    starts at 10 and grows with API top-ups in the last 28 days. A request
    beyond it is rejected immediately with TOO_MANY_REQUESTS and is not charged.
    Generated images carry embedded machine-readable AI-provenance metadata
    (EXIF and XMP, including the IPTC digital source type) identifying them as
    AI-generated.
servers:
  - url: https://api.pikzels.com
security: []
paths:
  /v2/pikzonality:
    get:
      tags:
        - pikzonality
      summary: List personas and styles
      description: >-
        Returns every persona and style you created through this API, in any
        status and newest first, followed by the presets: ready-made personas
        and styles from Pikzels that you can use in thumbnail requests right
        away. Items have the same fields as Get persona or style, and is_preset
        tells the two apart. Presets are read-only and never include reference
        images or special instructions.
      operationId: get_v2_pikzonality
      parameters:
        - in: query
          name: mode
          required: false
          schema:
            type: string
            description: >-
              List only personas or only styles. Omit to list both. Allowed
              values: "persona", "style".
            enum:
              - persona
              - style
          description: List only personas or only styles. Omit to list both.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  pikzonalities:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        failure_code:
                          type: string
                          nullable: true
                          description: >-
                            Why processing failed (status failed only):
                            SUBJECT_NOT_SUPPORTED, SUBJECT_INCONSISTENT,
                            CONTENT_POLICY or GENERATION_REJECTED; every other
                            failure reads PROCESSING_FAILED. Null otherwise
                        failure_message:
                          type: string
                          nullable: true
                          description: >-
                            The user-facing message for failure_code. Null
                            unless status is failed
                        id:
                          type: string
                          description: Pass as persona or style in thumbnail requests
                        is_preset:
                          type: boolean
                          description: >-
                            True for a preset from Pikzels, false for a persona
                            or style you created
                        mode:
                          type: string
                          enum:
                            - persona
                            - style
                          description: 'Allowed values: "persona", "style".'
                        portrait_url:
                          type: string
                          nullable: true
                          description: Portrait image URL (null until completed)
                        progress:
                          type: number
                          description: 0-100
                        reference:
                          type: array
                          items:
                            type: string
                          nullable: true
                          description: >-
                            Reference image URLs (null until completed, always
                            null for presets)
                        special_instructions:
                          type: string
                          nullable: true
                          description: Always null for presets
                        status:
                          type: string
                          description: >-
                            Presets are always completed Allowed values:
                            "processing", "completed", "failed".
                          enum:
                            - processing
                            - completed
                            - failed
                        subject_kind:
                          type: string
                          nullable: true
                          description: >-
                            Personas only: what the reference images show,
                            decided at creation; object means the persona was
                            refused. Null for styles and until classified
                            Allowed values: "human", "animal", "character",
                            "object".
                          enum:
                            - human
                            - animal
                            - character
                            - object
                        subject_medium:
                          type: string
                          nullable: true
                          description: >-
                            Personas only: the medium of the reference images.
                            Null for styles and until classified Allowed values:
                            "photo", "drawn", "3d".
                          enum:
                            - photo
                            - drawn
                            - 3d
                      additionalProperties: false
                      required:
                        - name
                        - failure_code
                        - failure_message
                        - id
                        - is_preset
                        - mode
                        - portrait_url
                        - progress
                        - reference
                        - special_instructions
                        - status
                        - subject_kind
                        - subject_medium
                    description: Your personas and styles, newest first, then the presets
                additionalProperties: false
                required:
                  - pikzonalities
              example:
                pikzonalities:
                  - name: Creator Studio
                    failure_code: null
                    failure_message: null
                    id: 18b2ad5e-2a9e-4d3f-b9a8-9f2a1e0b1234
                    is_preset: false
                    mode: persona
                    portrait_url: https://cdn.pikzels.com/example.png
                    progress: 100
                    reference:
                      - https://cdn.pikzels.com/example.png
                    special_instructions: Use cinematic colors and stronger contrast.
                    status: completed
                    subject_kind: human
                    subject_medium: photo
        '400':
          description: Error
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ErrorResponse'
                  - $ref: '#/components/schemas/ValidationErrorResponse'
        '401':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '413':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '499':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '504':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl -X GET "https://api.pikzels.com/v2/pikzonality" \
              -H "X-Api-Key: pkz_yourapikey"
        - lang: python
          label: Python
          source: |-
            import requests

            url = "https://api.pikzels.com/v2/pikzonality"
            headers = {
                "X-Api-Key": "pkz_yourapikey",
            }
            response = requests.get(url, headers=headers)
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: |-
            const url = "https://api.pikzels.com/v2/pikzonality";

            const options = {
              method: "GET",
              headers: {
                "X-Api-Key": "pkz_yourapikey",
              },
            };

            const response = await fetch(url, options);
            const data = await response.json();
            console.log(data);
components:
  schemas:
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
        - request_id
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
              enum:
                - VALIDATION_ERROR
                - INVALID_PERSONA
                - INVALID_STYLE
                - INVALID_AMOUNT
                - CONTENT_POLICY
                - CANNOT_DELETE_PROCESSING
                - SUPPORT_IMAGE_NOT_SUPPORTED
                - MODEL_UNAVAILABLE
                - PERSONA_NOT_SUPPORTED
                - STYLE_NOT_SUPPORTED
                - PERSONA_NOT_FOUND
                - STYLE_NOT_FOUND
                - PERSONA_NOT_READY
                - STYLE_NOT_READY
                - IMAGE_TOO_LARGE
                - MISSING_API_KEY
                - INVALID_API_KEY_FORMAT
                - INVALID_API_KEY
                - API_KEY_INACTIVE
                - API_KEY_DELETED
                - INSUFFICIENT_CREDITS
                - SMART_BALANCE_PAYMENT_FAILED
                - API_ACCESS_NOT_ENABLED
                - ACCOUNT_SUSPENDED
                - NOT_FOUND
                - NAME_RESERVED
                - NAME_ALREADY_EXISTS
                - CONFLICT
                - GENERATION_REJECTED
                - CANCELLED
                - GENERATION_FAILED
                - INVALID_IMAGE
                - INTERNAL_ERROR
                - SERVICE_UNDER_MAINTENANCE
                - GENERATION_TIMEOUT
                - SCORING_TIMEOUT
                - TITLE_TIMEOUT
                - TOO_MANY_REQUESTS
            message:
              type: string
        request_id:
          type: string
    ValidationErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
        - request_id
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
              enum:
                - VALIDATION_ERROR
            message:
              type: string
            details:
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - message
                properties:
                  field:
                    type: string
                  message:
                    type: string
        request_id:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 'Your Pikzels API key (prefix: pkz_)'

````

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