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

# List system voices

> List preset system voices. Use `voiceId` (`sv_*`) in `voiceSpeakers.selectedVoicesList`.



## OpenAPI

````yaml /api-reference/app-synced.json post /openapi/v1/app/assets/voice/basic/list
openapi: 3.1.0
info:
  title: VMEG Open API (App-Synced)
  description: >-
    Same protocol as the Standalone API, but every task, material, and cloned
    voice lives in your VMEG website account: jobs show up in **My tasks**, open
    in the editor, and can be re-exported. Poll `GET
    /openapi/v1/app/tasks/detail` for results (no webhooks). See [Standalone vs
    App-Synced](/guides/app-synced/comparison).


    Linked guides are written for the Standalone API. The steps are the same;
    use the `/openapi/v1/app` prefix instead of `/openapi/v1`.
  version: 1.0.0
servers:
  - url: https://api.vmeg.ai
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Media translation
    x-group: Video & audio translate and dub
    description: >-
      Translate and dub uploaded video/audio or a YouTube link on the same
      pipeline as vmeg.ai. The first pass renders the dubbed file; the job also
      appears in **My tasks** for editing and re-export. Poll [Query job
      status](/api-reference/app-synced/tasks/get-task-detail) for results.
  - name: Voice clone
    x-group: Voice cloning
    description: >-
      Clone a voice from a short recording. The voice is saved to **My voices**
      on the website and returned as `cv_*` for translate-and-dub jobs.
  - name: Task management
    x-group: Task status and history
    description: >-
      List, inspect, or delete the video/audio translation jobs in your VMEG
      account, including jobs created on the website.
  - name: Assets - Materials
    x-group: Upload files (materials)
    description: >-
      Upload and manage the files in your website material library (**My
      assets**). Finish the upload (single-file or multipart), then pass
      `materialId` to create-async.
  - name: Assets - Voices
    x-group: Voices (presets and clones)
    description: >-
      List preset system voices (`sv_*`) and manage your cloned voices (`cv_*`,
      same as **My voices** on the website).
paths:
  /openapi/v1/app/assets/voice/basic/list:
    post:
      tags:
        - Assets - Voices
      summary: List system voices
      description: >-
        List preset system voices. Use `voiceId` (`sv_*`) in
        `voiceSpeakers.selectedVoicesList`.
      operationId: appVoiceBasicList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApiBasicVoiceListRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenApiBasicVoiceListResponse'
components:
  schemas:
    OpenApiBasicVoiceListRequest:
      type: object
      properties:
        voiceId:
          type: string
          description: >-
            Filter by preset `voiceId`. See
            [Voices](/guides/app-synced/comparison)
        searchName:
          type: string
          description: Search by display or local name
        locale:
          type: string
          example: en-US
          description: >-
            Filter by locale (BCP-47). See [Supported
            languages](/guides/supported-languages)
        age:
          type: string
          description: young / adult / senior
        gender:
          type: string
          description: Filter by gender
        quality:
          type: string
          description: any / high
        category:
          type: string
          description: Filter by voice category
        emotionPrompt:
          type: string
          description: exclude / include
        topIds:
          type: array
          items:
            type: string
          description: >-
            Pin these preset `voiceId` values to the top. See
            [Voices](/guides/app-synced/comparison)
        currentPage:
          type: integer
          default: 1
          description: Page number (1-based)
        pageSize:
          type: integer
          default: 10
          description: Page size
        orderBy:
          type: string
          description: voiceId / score / create_time / update_time / is_preferred
        order:
          type: string
          default: desc
          description: 'Sort direction: `asc` or `desc`'
    OpenApiBasicVoiceListResponse:
      allOf:
        - $ref: '#/components/schemas/OpenApiResponseBase'
        - type: object
          properties:
            data:
              $ref: '#/components/schemas/OpenApiBasicVoiceListData'
    OpenApiResponseBase:
      type: object
      properties:
        code:
          type: integer
          example: 200
          description: Business code; 200 means success
        message:
          type: string
          example: ''
          description: Human-readable detail when `code` is not success
      required:
        - code
    OpenApiBasicVoiceListData:
      type: object
      properties:
        records:
          type: array
          items:
            $ref: '#/components/schemas/OpenApiBasicVoiceDto'
          description: Voices on this page
        total:
          type: integer
          format: int64
          description: Total voices matching filters
    OpenApiBasicVoiceDto:
      type: object
      properties:
        voiceId:
          type: string
          description: System preset voice ID. See [Voices](/guides/app-synced/comparison)
        localName:
          type: string
          description: Localized voice name
        displayName:
          type: string
          description: Display name in the voice picker
        locale:
          type: string
          example: en-US
          description: Primary locale (BCP-47) for this preset
        localeName:
          type: string
          description: Human-readable locale label
        provider:
          type: string
          description: >-
            Preset tier code (`S1`–`S7`). See [Supported clone
            methods](/guides/supported-clone-methods).
        gender:
          type: string
          description: Gender label (e.g. male, female)
        style:
          type: string
          description: Speaking style tag
        rolePlay:
          type: string
          description: Role-play or character tag
        description:
          type: string
          description: Marketing or catalog description
        personalities:
          type: string
          description: Comma-separated personality tags
        personalityList:
          type: array
          items:
            type: string
          description: Personality tags as a list
        scenarios:
          type: string
          description: Recommended use-case tags
        scenarioList:
          type: array
          items:
            type: string
          description: Use-case tags as a list
        isHd:
          type: integer
          description: '`1` if this is an HD voice'
        isPreferred:
          type: integer
          description: '`1` if marked preferred in the catalog'
        score:
          type: number
          description: Ranking score in list results
        cover:
          type: string
          description: Cover image URL (HTTPS). Use the URL as returned.
        audio:
          type: string
          description: Sample preview audio URL (HTTPS). Use the URL as returned.
        createTime:
          type: string
          description: Record creation time
        updateTime:
          type: string
          description: Record last update time
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Send your API Key in the **`Authorization`** header (`Bearer
        <api_key>`). See [Authentication](/guides/authentication).

````