Camb.AI Voices API

Discover, clone, design, and manage voices.

OpenAPI Specification

camb-ai-voices-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Camb.AI Dubbing Voices API
  description: 'The Camb.AI API provides generative voice AI - text-to-speech, dubbing, translation, voice discovery and cloning, and transcription - powered by the MARS (speech / voice) and BOLI (translation) research models. The REST API is served from https://client.camb.ai/apis and authenticated with an x-api-key header. Most operations are asynchronous: a POST starts a task and returns a task_id, the task is polled with a GET until its status is SUCCESS, and the result (audio, transcript, or translation) is then retrieved. Real-time streaming for TTS, transcription, and speech-to-speech translation is offered over separate public WebSocket channels (see the companion AsyncAPI document). Endpoint paths are grounded in the public documentation at https://docs.camb.ai; request and response schemas below are modeled from the documented parameters and may be simplified.'
  version: '1.0'
  contact:
    name: Camb.AI
    url: https://www.camb.ai
servers:
- url: https://client.camb.ai/apis
  description: Camb.AI production API
security:
- apiKeyAuth: []
tags:
- name: Voices
  description: Discover, clone, design, and manage voices.
paths:
  /list-voices:
    get:
      operationId: listVoices
      tags:
      - Voices
      summary: List voices
      description: Returns all available voices - public voices, shared voices, and custom-created voices - with metadata such as id, voice_name, gender, age, language, and description.
      responses:
        '200':
          description: A list of voices.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Voice'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /create-custom-voice:
    post:
      operationId: createCustomVoice
      tags:
      - Voices
      summary: Create a custom (cloned) voice
      description: Clones a custom voice from a reference audio sample.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomVoiceRequest'
      responses:
        '200':
          description: The created custom voice.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voice'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /text-to-voice:
    post:
      operationId: createTextToVoice
      tags:
      - Voices
      summary: Design a voice from a text description
      description: Starts a task that generates candidate voices from a natural-language description.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TextToVoiceRequest'
      responses:
        '200':
          description: Voice-design task accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCreated'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /text-to-voice/{task_id}:
    get:
      operationId: getTextToVoiceStatus
      tags:
      - Voices
      summary: Poll a voice-design task
      description: Returns the status and, when complete, the generated voice options.
      parameters:
      - $ref: '#/components/parameters/TaskId'
      responses:
        '200':
          description: Current voice-design task status and result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /delete-voice/{voice_id}:
    delete:
      operationId: deleteVoice
      tags:
      - Voices
      summary: Delete a custom voice
      description: Permanently removes a custom voice.
      parameters:
      - name: voice_id
        in: path
        required: true
        description: The identifier of the custom voice to delete.
        schema:
          type: integer
      responses:
        '200':
          description: Voice deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
    TaskCreated:
      type: object
      properties:
        task_id:
          type: string
          description: Identifier used to poll the task.
    CustomVoiceRequest:
      type: object
      required:
      - voice_name
      - file
      properties:
        voice_name:
          type: string
          description: Name for the new custom voice.
        file:
          type: string
          format: binary
          description: Reference audio sample to clone from.
        gender:
          type: integer
        age:
          type: integer
    TextToVoiceRequest:
      type: object
      required:
      - voice_description
      properties:
        voice_description:
          type: string
          description: Natural-language description of the desired voice.
        text:
          type: string
          description: Optional preview text to render with the generated voices.
    TaskStatus:
      type: object
      properties:
        status:
          type: string
          description: Task status, for example PENDING, PROCESSING, SUCCESS, or FAILED.
          enum:
          - PENDING
          - PROCESSING
          - SUCCESS
          - FAILED
        run_id:
          type: integer
          description: Present when the task has completed; used to fetch the result.
    Voice:
      type: object
      properties:
        id:
          type: integer
        voice_name:
          type: string
        gender:
          type: integer
        age:
          type: integer
        language:
          type: string
        description:
          type: string
        is_published:
          type: boolean
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    TaskId:
      name: task_id
      in: path
      required: true
      description: The task identifier returned when the task was created.
      schema:
        type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
Where this information came from

This is an independent, third-party profile of Camb.AI Voices API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.