LMNT Ai API

The Ai API from LMNT — 8 operation(s) for ai.

OpenAPI Specification

lmnt-ai-api-openapi.yml Raw ↑
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