Gradium Voices API

Manage custom voice clones

OpenAPI Specification

gradium-voices-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Gradium metering Voices API
  description: "This documentation covers the Gradium API.\n\nThis API exposes our Text-To-Speech and Speech-To-Text models, which offers low-latency, high-quality & natural sounding output and best in class accuracy.  \n\nFor issues, questions, or feature requests, please contact us at support@gradium.ai"
  version: 0.1.0
servers:
- url: https://api.gradium.ai/api
  description: Gradium API
tags:
- name: Voices
  description: Manage custom voice clones
paths:
  /voices/:
    post:
      tags:
      - Voices
      summary: Create Voice
      description: Create a new voice for an organization with audio file upload.
      operationId: create_voice_voices__post
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_voice_voices__post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceCreateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Voices
      summary: Get Voices
      description: List voices for the authenticated organization.
      operationId: get_voices_voices__get
      parameters:
      - name: skip
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Skip
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 100
          title: Limit
      - name: include_catalog
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Catalog
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APIVoiceResponse'
                title: Response Get Voices Voices  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /voices/{voice_uid}:
    get:
      tags:
      - Voices
      summary: Get Voice
      description: Get a voice by its UID. Optional org_uid and key_uid for access control.
      operationId: get_voice_voices__voice_uid__get
      parameters:
      - name: voice_uid
        in: path
        required: true
        schema:
          type: string
          title: Voice Uid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIVoiceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Voices
      summary: Update Voice
      description: Update a voice by its UID.
      operationId: update_voice_voices__voice_uid__put
      parameters:
      - name: voice_uid
        in: path
        required: true
        schema:
          type: string
          title: Voice Uid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Voices
      summary: Delete Voice
      description: Delete a voice by its UID.
      operationId: delete_voice_voices__voice_uid__delete
      parameters:
      - name: voice_uid
        in: path
        required: true
        schema:
          type: string
          title: Voice Uid
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    VoiceUpdate:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        start_s:
          anyOf:
          - type: number
          - type: 'null'
          title: Start S
        tags:
          anyOf:
          - items:
              additionalProperties:
                anyOf:
                - type: string
                - type: boolean
                - type: 'null'
              type: object
            type: array
          - type: 'null'
          title: Tags
        rank:
          anyOf:
          - type: number
          - type: 'null'
          title: Rank
      type: object
      title: VoiceUpdate
      description: Schema for updating voice data.
    APIVoiceResponse:
      properties:
        uid:
          type: string
          title: Uid
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Filename
        start_s:
          anyOf:
          - type: number
          - type: 'null'
          title: Start S
        is_catalog:
          type: boolean
          title: Is Catalog
        is_pro_clone:
          type: boolean
          title: Is Pro Clone
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        tags:
          items:
            $ref: '#/components/schemas/ExportedTag'
          type: array
          title: Tags
          default: []
      type: object
      required:
      - uid
      - name
      - is_catalog
      - is_pro_clone
      title: APIVoiceResponse
      description: The response sent to the user in the API for external user.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ExportedTag:
      properties:
        category:
          anyOf:
          - type: string
          - type: 'null'
          title: Category
        value:
          type: string
          title: Value
      type: object
      required:
      - value
      title: ExportedTag
      description: 'Tag exported in the public API.


        Hidden is used for filtering but not serialized.'
    VoiceResponse:
      properties:
        uid:
          type: string
          title: Uid
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        start_s:
          type: number
          title: Start S
        stop_s:
          anyOf:
          - type: number
          - type: 'null'
          title: Stop S
        filename:
          type: string
          title: Filename
        org_uid:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Org Uid
        is_pending:
          type: boolean
          title: Is Pending
          default: false
        has_audio:
          type: boolean
          title: Has Audio
          default: true
        is_pro_clone:
          type: boolean
          title: Is Pro Clone
          default: false
      type: object
      required:
      - uid
      - name
      - start_s
      - filename
      title: VoiceResponse
      description: Schema for voice response data.
    Body_create_voice_voices__post:
      properties:
        audio_file:
          type: string
          format: binary
          title: Audio File
        name:
          type: string
          title: Name
        input_format:
          anyOf:
          - type: string
          - type: 'null'
          title: Input Format
          description: Audio format. If omitted, inferred from the audio_file extension.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        language:
          anyOf:
          - type: string
          - type: 'null'
          title: Language
        start_s:
          type: number
          title: Start S
          default: 0
        timeout_s:
          type: number
          title: Timeout S
          default: 10
      type: object
      required:
      - audio_file
      - name
      title: Body_create_voice_voices__post
    VoiceCreateResponse:
      properties:
        uid:
          anyOf:
          - type: string
          - type: 'null'
          title: Uid
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
        was_updated:
          type: boolean
          title: Was Updated
          default: false
      type: object
      title: VoiceCreateResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
x-tagGroups:
- name: Documentation
  tags:
  - Documentation
  - FAQ
  - Release notes
- name: API Reference
  tags:
  - TTS
  - STT
  - Voices
  - Pronunciations
  - Credits