Delphi Voice API

Stream voice responses and synthesize speech as real-time PCM audio.

OpenAPI Specification

delphi-voice-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Delphi Audience Voice API
  version: v3
  x-provenance:
    generated: '2026-07-18'
    method: generated
    source: https://docs.delphi.ai/advanced/actions/api-immortal-only.md and the per-resource reference pages (audience, conversations, clone, questions, tags, usage, voice, search). Hand-built from the published REST reference; Delphi does not publish a machine-readable OpenAPI.
  description: The Delphi API lets you integrate your Digital Mind (an AI clone trained on your content) directly into your own app, platform, or workflow. Create conversations, stream text and voice responses, manage your audience and its contextual memory, organize contacts with tags, search your clone's knowledge base for RAG, and track per-user usage. API access is available on the Immortal plan. All endpoints authenticate with an API key passed in the x-api-key header and are scoped to a single clone.
  contact:
    name: Delphi Support
    email: support@delphi.ai
    url: https://docs.delphi.ai/advanced/actions/api-immortal-only
  termsOfService: https://delphi.ai/terms
servers:
- url: https://api.delphi.ai
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Voice
  description: Stream voice responses and synthesize speech as real-time PCM audio.
paths:
  /v3/voice/stream:
    post:
      operationId: streamVoiceResponse
      tags:
      - Voice
      summary: Stream voice response
      description: Send a text message and receive the clone's response as a real-time raw PCM audio stream (24kHz, 16-bit, mono). Requires a configured voice and an existing conversation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - conversation_id
              - message
              properties:
                conversation_id:
                  type: string
                  description: UUID of an existing conversation
                message:
                  type: string
                  minLength: 1
                  maxLength: 10000
            example:
              conversation_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              message: What are your thoughts on AI safety?
      responses:
        '200':
          description: Raw PCM audio stream (X-Audio-Format pcm_24000_16_mono)
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v3/voice/synthesize:
    post:
      operationId: synthesizeVoice
      tags:
      - Voice
      summary: Synthesize voice
      description: Convert raw text to audio using your clone's configured voice. Unlike voice stream, this speaks the exact text provided without generating a clone response.
      parameters:
      - name: stream
        in: query
        schema:
          type: boolean
          default: false
        description: Stream raw PCM bytes instead of JSON
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - text
              properties:
                text:
                  type: string
                  minLength: 1
                  maxLength: 10000
            example:
              text: Hello, this is a test of the synthesis endpoint.
      responses:
        '200':
          description: Base64 PCM (JSON) or raw PCM stream (when stream=true)
          content:
            application/json:
              schema:
                type: object
                properties:
                  audio:
                    type: string
                    description: base64-encoded raw PCM (24kHz
                    16-bit: null
                    mono): null
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    RateLimited:
      description: Too many requests — 120 requests per 60 seconds per API key exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key scoped to a single clone. Available on the Immortal plan; request one from support@delphi.ai.