From 95138deade3ea43659f876c66f9f5bc3fa62f78d Mon Sep 17 00:00:00 2001 From: duwenhan Date: Tue, 12 Aug 2025 16:10:57 +0800 Subject: [PATCH] feat: support voice emotions --- .../api/feat-voice-emotion_2025-08-12-08-11.json | 11 +++++++++++ .../api/feat-voice-emotion_2025-08-12-08-14.json | 11 +++++++++++ .../api/feat-voice-emotion_2025-08-12-08-15.json | 11 +++++++++++ packages/coze-js/package.json | 2 +- .../coze-js/src/resources/audio/speech/speech.ts | 4 ++++ .../coze-js/src/resources/audio/voices/voices.ts | 14 ++++++++++++++ packages/coze-js/src/resources/websockets/types.ts | 7 +++++++ 7 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-11.json create mode 100644 common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-14.json create mode 100644 common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-15.json diff --git a/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-11.json b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-11.json new file mode 100644 index 00000000..974fa54f --- /dev/null +++ b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-11.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/api", + "comment": "support voice emotions", + "type": "minor" + } + ], + "packageName": "@coze/api", + "email": "duwenhan@bytedance.com" +} diff --git a/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-14.json b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-14.json new file mode 100644 index 00000000..974fa54f --- /dev/null +++ b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-14.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/api", + "comment": "support voice emotions", + "type": "minor" + } + ], + "packageName": "@coze/api", + "email": "duwenhan@bytedance.com" +} diff --git a/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-15.json b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-15.json new file mode 100644 index 00000000..974fa54f --- /dev/null +++ b/common/changes/@coze/api/feat-voice-emotion_2025-08-12-08-15.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@coze/api", + "comment": "support voice emotions", + "type": "minor" + } + ], + "packageName": "@coze/api", + "email": "duwenhan@bytedance.com" +} diff --git a/packages/coze-js/package.json b/packages/coze-js/package.json index d1604dff..6fd16dfe 100644 --- a/packages/coze-js/package.json +++ b/packages/coze-js/package.json @@ -1,6 +1,6 @@ { "name": "@coze/api", - "version": "1.3.7", + "version": "1.3.8", "description": "Official Coze Node.js SDK for seamless AI integration into your applications | 扣子官方 Node.js SDK,助您轻松集成 AI 能力到应用中", "keywords": [ "coze", diff --git a/packages/coze-js/src/resources/audio/speech/speech.ts b/packages/coze-js/src/resources/audio/speech/speech.ts index 6769a401..13bcae59 100644 --- a/packages/coze-js/src/resources/audio/speech/speech.ts +++ b/packages/coze-js/src/resources/audio/speech/speech.ts @@ -43,4 +43,8 @@ export interface CreateSpeechReq { /** Sample rate, default is 24000, supports 8000, 16000, 24000, 32000, 44100, 48000 * | 采样率,默认是24000,支持8000, 16000, 24000, 32000, 44100, 48000 */ sample_rate?: number; + /** 情感,默认为空 */ + emotion?: string; + /** 情感强度,[1,5],默认为4,通常保留一位小数即可 */ + emotion_scale?: number; } diff --git a/packages/coze-js/src/resources/audio/voices/voices.ts b/packages/coze-js/src/resources/audio/voices/voices.ts index c9163ab4..2ac78ad8 100644 --- a/packages/coze-js/src/resources/audio/voices/voices.ts +++ b/packages/coze-js/src/resources/audio/voices/voices.ts @@ -103,6 +103,18 @@ export interface ListVoicesData { has_more: boolean; } +export interface Interval { + min?: number; + max?: number; + default?: number; +} + +export interface EmotionInfo { + emotion?: string; + display_name?: string; + emotion_scale_interval?: Interval; +} + export interface Voice { /** Whether it is a system voice | 是否为系统音色 */ is_system_voice: boolean; @@ -125,4 +137,6 @@ export interface Voice { available_training_times: number; /** Preview audio | 预览音频 */ preview_audio: string; + /** 支持的情感列表 */ + support_emotions?: EmotionInfo[]; } diff --git a/packages/coze-js/src/resources/websockets/types.ts b/packages/coze-js/src/resources/websockets/types.ts index ce305dd0..a149bb24 100644 --- a/packages/coze-js/src/resources/websockets/types.ts +++ b/packages/coze-js/src/resources/websockets/types.ts @@ -518,6 +518,13 @@ interface OutputAudio { /**输出音频的语速,取值范围 [-50, 100],默认为 0。-50 表示 0.5 倍速,100 表示 2 倍速。 */ speech_rate?: number; voice_id?: string; + /** 输出语音的情感配置 */ + emotion_config?: { + /** 情感 */ + emotion?: string; + /** 情绪值 */ + emotion_scale?: number; + }; } export interface TurnDetection {