Uberduck Conversational API

Mint LiveKit tokens for real-time conversational AI voice calls.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/uberduck-conversational-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

uberduck-conversational-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Uberduck Text To Speech Conversational API
  description: The Uberduck API converts text to natural-sounding speech across a catalog of voices and provider-backed models (AWS Polly, Google Cloud, Azure), lists and filters those voices, creates instant zero-shot voice clones from reference audio, and mints short-lived LiveKit tokens for real-time conversational AI voice calls. All requests are HTTPS request/response and authenticate with a Bearer API key generated in the Uberduck account settings. API access is a paid feature available on the Creator plan and above. This document is transcribed from Uberduck's published OpenAPI (https://api.uberduck.ai/openapi.json, version 0.1.0) and its Swagger UI at https://api.uberduck.ai/docs.
  version: 0.1.0
  contact:
    name: Uberduck
    url: https://uberduck.ai
servers:
- url: https://api.uberduck.ai
  description: Uberduck production API
security:
- HTTPBearer: []
tags:
- name: Conversational
  description: Mint LiveKit tokens for real-time conversational AI voice calls.
paths:
  /v1/conversational/token:
    post:
      operationId: generateConversationalToken
      tags:
      - Conversational
      summary: Generate Conversational Token
      description: Generate a LiveKit token for a real-time AI voice call. Returns the LiveKit server URL, a room name, and a JWT participant token the client uses to join the room. The realtime media transport itself is provided by LiveKit (WebRTC), not by Uberduck's own HTTP API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationalTokenRequest'
      responses:
        '200':
          description: LiveKit connection details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationalTokenResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    AgentConfig:
      type: object
      properties:
        raw:
          type: string
          description: Raw agent configuration in YAML format.
        json:
          type: object
          description: Agent configuration as dictionary/JSON format.
        url:
          type: string
          description: URL that points to agent configuration in YAML format.
        app:
          $ref: '#/components/schemas/AppAgentConfig'
    ConversationalTokenResponse:
      type: object
      description: Response schema for LiveKit token generation.
      required:
      - server_url
      - room_name
      - participant_token
      properties:
        server_url:
          type: string
          description: LiveKit server URL.
        room_name:
          type: string
          description: Room name to join.
        participant_token:
          type: string
          description: JWT token for authentication.
    ValidationError:
      type: object
      required:
      - loc
      - msg
      - type
      properties:
        loc:
          type: array
          items:
            anyOf:
            - type: string
            - type: integer
        msg:
          type: string
        type:
          type: string
    ConversationalTokenRequest:
      type: object
      description: Request schema for generating a LiveKit token for AI voice calls.
      properties:
        agent_config:
          $ref: '#/components/schemas/AgentConfig'
        identity:
          type: string
          description: User identity (defaults to 'voice_assistant_user').
        metadata:
          type: object
          description: Additional metadata to include in the token.
    ErrorResponse:
      type: object
      description: API error response format.
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
    AppAgentConfig:
      type: object
      required:
      - app_id
      properties:
        app_id:
          type: string
          description: App ID.
        path:
          type: string
          default: agent.yaml
          description: Path to the app.
    ErrorDetail:
      type: object
      description: Details for an API error.
      required:
      - code
      - message
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: object
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
  responses:
    ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HTTPValidationError'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
      description: Bearer API key generated in Uberduck account settings under the API section.