@elevenlabs/types

中文文档
0.29.0发布于 2026/11/05MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 609.1万

AsyncAPI 合同并生成了用于 11Labs 代理通信的 TypeScript 类型

中文使用文档
文档目录10 节
  1. 概览
  2. 使用量
  3. 基本导入
  4. 直接类型导入
  5. 类型
  6. 发展
  7. 生成类型
  8. 项目结构
  9. 添加新类型
  10. 添加新 API Schemas 选项

@ elevenlabs/ 类型

11Labs API的TypeScript类型定义,由AsyncAPI规格自动生成.

概览

这个软件包为"11Labs"客户端和各种API(Agents,Scribe)之间交换的所有消息提供强烈的类型界面. 类型由AsyncAPI规格自动生成,以确保它们与API合同保持一致.

使用量

基本导入

import { Incoming, Outgoing } from "@elevenlabs/types";

// Handle incoming messages from the server
const handleAudio = (message: Incoming.AudioClientEvent) => {
  console.log("Received audio:", message.audioEvent.audioBase_64);
};

// Send outgoing messages to the server
const userMessage: Outgoing.UserMessage = {
  reservedType: "user_message",
  reservedText: "Hello, agent!",
};

直接类型导入

// Import specific types directly
import {
  Audio,
  UserTranscript,
  AgentResponse,
  ConversationInitiation,
} from "@elevenlabs/types";

// Use types in your application
const audio: Audio = {
  reservedType: "audio",
  audioEvent: {
    audioBase_64: "base64_encoded_audio",
    eventId: 123,
  },
};

类型

这些类型主要分为两类:

  • Incoming - 从11Labs服务器收到的消息

    • 探员 API:
      • AudioClientEvent - 经纪人提供的音频数据
      • AudioAlignmentEvent - 字符级计时数据嵌入音频事件,用于文本对语音同步
      • AgentResponseClientEvent - 代理人的文本回复
      • UserTranscriptionClientEvent - 用户语音译名
      • InterruptionEvent - 中断通知
    • 扫描 API :
      • SessionStartedMessage - 开始记录会话
      • PartialTranscriptMessage - 临时记录结果
      • CommittedTranscriptMessage - 记录记录结果
      • CommittedTranscriptWithTimestampsMessage - 以文字时间戳表示的结果
      • ScribeErrorMessage - 错误事件
      • ScribeAuthErrorMessage - 认证错误
  • Outgoing - 发送给 11Labs 服务器的信件

    • 探员 API:
      • UserMessage - 用户发来的短信
      • UserFeedback - 用户反馈(类似/偏差)
      • ConversationInitiation - 会议初始化
      • ClientToolResult - 客户端工具执行的结果
    • 扫描 API :
      • InputAudioChunk - 录音数据供抄录

发展

生成类型

类型由 AsyncAPI 规格自动生成 :

# Generate types from AsyncAPI spec
pnpm generate

# Build the package
pnpm build

# Type check without building
pnpm check-types

项目结构

packages/types/
├── schemas/
│   ├── agent.asyncapi.yaml    # Agent API AsyncAPI specification
│   └── scribe.asyncapi.yaml   # Scribe API AsyncAPI specification
├── scripts/
│   └── generate-all-types.ts  # Generation script (processes all schemas)
├── generated/
│   └── types/
│       ├── asyncapi-types.ts  # All generated types
│       ├── incoming.ts        # Barrel export for incoming messages
│       └── outgoing.ts        # Barrel export for outgoing messages
└── src/
    └── index.ts              # Main entry point with organized exports

添加新类型

  1. 更新相应文件中的 AsyncAPI 规格( 例如 ), schemas/agent.asyncapi.yaml 或者说 schemas/scribe.asyncapi.yaml(中文(简体) )
  2. 运行 pnpm generate 以从所有方案重生类型Script
  3. 这些类型将在相应的命名空间自动可用

添加新 API Schemas 选项

  1. 在其中创建新的 AsyncAPI 规格 schemas/ 带有命名模式 *.asyncapi.yaml
  2. 运行 pnpm generate - 脚本将自动发现和处理所有计划文件
  3. 生成的类型将合并到现有的类型输出中

版本与发布记录

@elevenlabs/types 共发布 40 个版本,首次发布于 2025/09/26;过去 12 个月发布了 35 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.29.0latest2026/11/058 天前
0.28.02026/11/049 天前
0.27.02026/11/0211 天前
0.26.02026/10/2618 天前
0.25.02026/10/1430 天前
0.24.02026/09/291 个月前

其他发布通道:next → 0.7.0-rc.0。

关于 @elevenlabs/types 的常见问题

@elevenlabs/types 是什么?

AsyncAPI 合同并生成了用于 11Labs 代理通信的 TypeScript 类型

如何安装 @elevenlabs/types?

在项目目录运行 npm install @elevenlabs/types,或使用 pnpm add / yarn add / bun add。

@elevenlabs/types 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@elevenlabs/types 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@elevenlabs/types 可以商用吗?

@elevenlabs/types 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@elevenlabs/types 的下载量有多少?

根据 npm 官方下载统计,@elevenlabs/types 在 2026/10/14 – 2026/11/12 这 30 天内被下载 6,091,085 次,日均约 203,036 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@elevenlabs/types 还在维护吗?

最新版本 0.29.0 发布于 2026/11/05(8 天前);至今共发布 40 个版本,其中过去 12 个月发布了 35 个;首次发布于 2025/09/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。