> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# 简介

## 安装

你可以通过任意语言发送 HTTP 或 WebSocket 请求、使用官方 Python 绑定或官方 Node.js 库与 API 交互。

安装官方 Python 绑定，请运行以下命令：

```bash
pip install elevenlabs
```

要安装官方 Node.js 库，请在 Node.js 项目目录中运行以下命令：

```bash
npm install @elevenlabs/elevenlabs-js
```

## 跟踪生成成本

访问响应标头以获取生成元数据，包括字符成本。

#### Python

```python
from elevenlabs.client import ElevenLabs

client = ElevenLabs(api_key="your_api_key")

# Get raw response with headers
response = client.text_to_speech.with_raw_response.convert(
    text="Hello, world!",
    voice_id="voice_id"
)

# Access character cost from headers
char_cost = response.headers.get("character-cost")

# Optionally store these for debugging
request_id = response.headers.get("request-id")
trace_id = response.headers.get("x-trace-id")

audio_data = response.data
```

#### JavaScript

```typescript
import { ElevenLabsClient } from '@elevenlabs/elevenlabs-js';

const client = new ElevenLabsClient({ apiKey: 'your_api_key' });

// Get raw response with headers
const { data, rawResponse } = await client.textToSpeech
  .convert('voice_id', {
    text: 'Hello, world!',
    modelId: 'eleven_v4',
  })
  .withRawResponse();

// Access character cost from headers
const charCost = rawResponse.headers.get('character-cost');

// Optionally store these for debugging
const requestId = rawResponse.headers.get('request-id');
const traceId = rawResponse.headers.get('x-trace-id');

const audioData = data;
```

原始响应可访问以下内容：

* 响应数据：实际的 API 响应内容
* HTTP 标头：包括字符成本和请求 ID 在内的元数据