or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

audio

audio-processing.mdrealtime-transcription.mdspeech-to-speech.mdspeech-to-text.mdtext-to-speech.md
index.md
tile.json

conversations.mddocs/conversational/

Conversations

Manage agent conversations and sessions with audio recording and feedback capabilities.

Quick Reference

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const client = new ElevenLabsClient({ apiKey: "your-api-key" });
// Access this API via: client.conversationalAi.conversations

Conversation Management

/**
 * List conversations
 */
client.conversationalAi.conversations.list(
  request?: ConversationsListRequest,
  requestOptions?: RequestOptions
): HttpResponsePromise<GetConversationsPageResponseModel>;

/**
 * Get conversation details
 */
client.conversationalAi.conversations.get(
  conversation_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<GetConversationResponseModel>;

/**
 * Get conversation audio signed URL
 */
client.conversationalAi.conversations.getSignedUrl(
  request: ConversationsGetSignedUrlRequest,
  requestOptions?: RequestOptions
): HttpResponsePromise<GetConversationSignedUrlResponseModel>;

/**
 * Get WebRTC token for real-time conversation
 */
client.conversationalAi.conversations.getWebrtcToken(
  request: ConversationsGetWebrtcTokenRequest,
  requestOptions?: RequestOptions
): HttpResponsePromise<TokenResponseModel>;

/**
 * Delete a conversation
 */
client.conversationalAi.conversations.delete(
  conversation_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<unknown>;

Conversation Audio

Access audio recordings from conversations.

/**
 * Get the audio recording of a particular conversation
 * @param conversation_id - The conversation ID
 * @param requestOptions - Optional request configuration
 * @returns Audio stream
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.conversations.audio.get(
  conversation_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<ReadableStream<Uint8Array>>;

Conversation Feedback

Submit and manage feedback for conversations.

/**
 * Send feedback for a conversation
 * @param conversation_id - The conversation ID
 * @param request - Feedback data (rating, comments)
 * @param requestOptions - Optional request configuration
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.conversations.feedback.create(
  conversation_id: string,
  request: ConversationFeedbackRequestModel,
  requestOptions?: RequestOptions
): HttpResponsePromise<unknown>;

interface ConversationFeedbackRequestModel {
  /** Feedback type: "like", "dislike", or rating */
  feedback?: string;
  /** Optional comment */
  comment?: string;
  /** Optional numeric rating */
  rating?: number;
}

Usage Example

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const client = new ElevenLabsClient({ apiKey: "your-api-key" });

// List recent conversations
const conversations = await client.conversationalAi.conversations.list({
  page_size: 10
});

// Get conversation details
const conversation = await client.conversationalAi.conversations.get(
  conversations.items[0].conversation_id
);

// Download audio recording
const audioStream = await client.conversationalAi.conversations.audio.get(
  conversation.conversation_id
);

// Submit feedback
await client.conversationalAi.conversations.feedback.create(
  conversation.conversation_id,
  {
    feedback: "like",
    rating: 5,
    comment: "Great conversation!"
  }
);