OpenAPI Specification
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