OpenAPI Specification
openapi: 3.0.3
info:
title: LMNT Speech Ai API
description: REST API for converting text to speech audio, supporting streaming binary audio output, 31 languages, voice cloning, word timestamps, and configurable expressiveness parameters.
version: '1.1'
termsOfService: https://www.lmnt.com/terms
contact:
name: LMNT Support
url: https://docs.lmnt.com/
email: support@lmnt.com
license:
name: Proprietary
url: https://www.lmnt.com/terms
x-api-id: lmnt-speech-api
x-audience: public
servers:
- url: https://api.lmnt.com
description: LMNT Production API
security:
- ApiKeyAuth: []
tags:
- name: Ai
paths:
/v1/ai/speech:
get:
summary: Get Handler
operationId: get_handler_v1_ai_speech_get
parameters:
- name: speed
in: query
required: false
schema:
type: number
maximum: 2.0
minimum: 0.25
default: 1.0
title: Speed
- name: conversational
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Conversational
- name: temperature
in: query
required: false
schema:
anyOf:
- type: number
maximum: 5.0
minimum: 0.0001
- type: 'null'
title: Temperature
- name: top_k
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
title: Top K
- name: top_p
in: query
required: false
schema:
anyOf:
- type: number
maximum: 1.0
minimum: 0.0
- type: 'null'
title: Top P
- name: length
in: query
required: false
schema:
anyOf:
- type: number
maximum: 300.0
minimum: 0.1
- type: 'null'
title: Length
- name: expressive
in: query
required: false
schema:
anyOf:
- type: number
- type: 'null'
title: Expressive
- name: quality
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
title: Quality
- name: solver
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Solver
- name: text
in: query
required: true
schema:
type: string
title: Text
- name: voice
in: query
required: true
schema:
type: string
title: Voice
- name: model
in: query
required: false
schema:
enum:
- aurora
- blizzard
- blizzard-dialogue
type: string
default: aurora
title: Model
- name: language
in: query
required: false
schema:
type: string
default: auto
title: Language
- name: format
in: query
required: false
schema:
enum:
- aac
- mp3
- raw
- wav
- ulaw
- webm
- pcm_s16le
- pcm_f32le
type: string
default: mp3
title: Format
- name: sample_rate
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/SampleRate'
- type: 'null'
title: Sample Rate
- name: seed
in: query
required: false
schema:
type: integer
title: Seed
- name: return_timestamps
in: query
required: false
schema:
type: boolean
default: false
title: Return Timestamps
- name: delay_headers
in: query
required: false
schema:
type: boolean
default: false
title: Delay Headers
- name: debug
in: query
required: false
schema:
type: boolean
default: false
title: Debug
- name: original_text
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Original Text
- name: original_language
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Original Language
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
post:
summary: Post Handler
operationId: post_handler_v1_ai_speech_post
parameters:
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/speech/bytes:
post:
summary: Bytes Post Handler
operationId: bytes_post_handler_v1_ai_speech_bytes_post
parameters:
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/speech/feedback:
post:
summary: Feedback Handler
operationId: feedback_handler_v1_ai_speech_feedback_post
parameters:
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Body_feedback_handler_v1_ai_speech_feedback_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FeedbackResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/voice/list:
get:
summary: List Handler
operationId: list_handler_v1_ai_voice_list_get
parameters:
- name: starred
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Starred
- name: owner
in: query
required: false
schema:
anyOf:
- enum:
- system
- me
- all
type: string
- type: 'null'
title: Owner
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Voice'
title: Response List Handler V1 Ai Voice List Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/voice/{id}:
get:
summary: Get Handler
operationId: get_handler_v1_ai_voice__id__get
parameters:
- name: id
in: path
required: true
schema:
type: string
title: Id
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Voice'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
put:
summary: Update Handler
description: 'If a user tries to update a voice that is not owned by them, this call will return an error unless ''starred'' is
one of the present parameters. The user will be able to star/unstar voices that do not belong to them, but their
other changes will not be recorded.'
operationId: update_handler_v1_ai_voice__id__put
parameters:
- name: id
in: path
required: true
schema:
type: string
title: Id
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVoiceRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
delete:
summary: Delete Handler
operationId: delete_handler_v1_ai_voice__id__delete
parameters:
- name: id
in: path
required: true
schema:
type: string
title: Id
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteVoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/voice:
post:
summary: Create Handler
operationId: create_handler_v1_ai_voice_post
parameters:
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_create_handler_v1_ai_voice_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Voice'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/voice/{id}/preview:
get:
summary: Preview Handler
operationId: preview_handler_v1_ai_voice__id__preview_get
parameters:
- name: id
in: path
required: true
schema:
type: string
title: Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
/v1/ai/voice/precheck:
post:
summary: Precheck Clone Handler
operationId: precheck_clone_handler_v1_ai_voice_precheck_post
parameters:
- name: x-api-key
in: header
required: false
schema:
type: string
default: ''
title: X-Api-Key
- name: lmnt-auth0
in: cookie
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Lmnt-Auth0
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_precheck_clone_handler_v1_ai_voice_precheck_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PrecheckCloneResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Ai
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Body_feedback_handler_v1_ai_speech_feedback_post:
properties:
id:
type: string
title: Id
rating:
type: string
enum:
- thumbsUp
- thumbsDown
title: Rating
text:
anyOf:
- type: string
- type: 'null'
title: Text
context:
anyOf:
- type: string
- type: 'null'
title: Context
type: object
required:
- id
- rating
title: Body_feedback_handler_v1_ai_speech_feedback_post
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
PrecheckCloneResponse:
properties:
dnsmos:
type: number
title: Dnsmos
start_s:
type: number
title: Start S
end_s:
type: number
title: End S
type: object
required:
- dnsmos
- start_s
- end_s
title: PrecheckCloneResponse
DeleteVoiceResponse:
properties:
success:
type: boolean
title: Success
type: object
required:
- success
title: DeleteVoiceResponse
Body_precheck_clone_handler_v1_ai_voice_precheck_post:
properties:
file:
type: string
format: binary
title: File
type: object
required:
- file
title: Body_precheck_clone_handler_v1_ai_voice_precheck_post
Voice:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
state:
type: string
enum:
- preparing
- pending
- training
- ready
- broken
- cancelled
title: State
owner:
type: string
enum:
- system
- me
- all
title: Owner
type:
type: string
enum:
- instant
- professional
- intrinsic
title: Type
description:
anyOf:
- type: string
- type: 'null'
title: Description
gender:
anyOf:
- type: string
- type: 'null'
title: Gender
starred:
anyOf:
- type: boolean
- type: 'null'
title: Starred
tags:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tags
preview_url:
anyOf:
- type: string
minLength: 1
format: uri
- type: 'null'
title: Preview Url
type: object
required:
- id
- name
- state
- owner
- type
title: Voice
Body_create_handler_v1_ai_voice_post:
properties:
file:
anyOf:
- type: string
format: binary
- type: 'null'
title: File
files:
anyOf:
- items:
type: string
format: binary
type: array
- type: 'null'
title: Files
files[]:
anyOf:
- items:
type: string
format: binary
type: array
- type: 'null'
title: Files[]
file_field:
anyOf:
- items:
type: string
format: binary
type: array
- type: 'null'
title: File Field
name:
anyOf:
- type: string
- type: 'null'
title: Name
type:
anyOf:
- type: string
enum:
- instant
- professional
- intrinsic
- type: 'null'
title: Type
default: instant
description:
anyOf:
- type: string
- type: 'null'
title: Description
gender:
anyOf:
- type: string
- type: 'null'
title: Gender
default: U
tags:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tags
enhance:
type: boolean
title: Enhance
default: false
metadata:
anyOf:
- type: string
- type: 'null'
title: Metadata
filter:
anyOf:
- type: boolean
- type: 'null'
title: Filter
default: false
accent:
anyOf:
- type: string
- type: 'null'
title: Accent
type: object
title: Body_create_handler_v1_ai_voice_post
SampleRate:
type: integer
enum:
- 8000
- 16000
- 24000
title: SampleRate
FeedbackResponse:
properties:
success:
type: boolean
title: Success
type: object
required:
- success
title: FeedbackResponse
UpdateVoiceResponse:
properties:
voice:
$ref: '#/components/schemas/Voice'
type: object
required:
- voice
title: UpdateVoiceResponse
UpdateVoiceRequest:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
gender:
anyOf:
- type: string
- type: 'null'
title: Gender
starred:
anyOf:
- type: boolean
- type: 'null'
title: Starred
tags:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Tags
type: object
title: UpdateVoiceRequest
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key obtained from the LMNT dashboard at https://app.lmnt.com