用途:该技能提供 ElevenLabs TypeScript 与 Python SDK 的生产级实践模式,适用于实现 ElevenLabs 集成、重构 SDK 用法或建立统一调用规范。
前置条件:需安装 @elevenlabs/elevenlabs-js(TypeScript)或 elevenlabs(Python),并在环境中设置 ELEVENLABS_API_KEY,不可硬编码密钥;需熟悉 async/await 与错误处理。
主要能力:按顺序应用六种模式——单例客户端(惰性初始化并检查 API_KEY,提供 resetClient())、类型安全 TTS 服务(TTSOptions 接口与 narration/conversational/dramatic/neutral 语音预设)、错误分类(映射为带稳定 code 与 retryable 标记的 ElevenLabsServiceError)、带并发队列的重试(p-queue,仅重试可重试错误,指数退避加抖动)、多租户客户端工厂(每租户一个客户端,隔离 API Key)、Python 异步(AsyncElevenLabsClient 与流式写文件)。
使用方式:按顺序增量采用,先单例客户端,再随吞吐增长加入错误分类与队列。TTS 返回音频流,可写入文件或 HTTP 响应,默认输出格式 mp3_44100_128。示例:await generateToFile({ voiceId: "21m00Tcm4TlvDq8ikWAM", text: "Welcome aboard.", preset: "narration" }, "welcome.mp3");或使用 queuedRequest(() => generateSpeech({...}))。
限制:仅重试 rate_limited、concurrent_limit、server_error、network_error;auth_failed、quota_exceeded、voice_not_found、invalid_request 立即抛出。队列大小需按套餐并发上限配置。完整可复制代码见 references/implementation.md。资料未提供具体定价或套餐明细。