This commit is contained in:
熊潇 2025-07-04 00:01:22 +08:00
parent 6a9e847ff1
commit 52d37d0679
3 changed files with 60 additions and 12 deletions

View File

@ -2,18 +2,6 @@ import { useContextKey } from '@kevisual/context';
import { BailianProvider } from '@kevisual/ai'; import { BailianProvider } from '@kevisual/ai';
import { config } from '../modules/config.ts'; import { config } from '../modules/config.ts';
// export const ai = new SiliconFlowProvider({
// model: 'Qwen/Qwen3-32B',
// // model: 'Pro/deepseek-ai/DeepSeek-R1',// 只有充值能用
// apiKey: config.SILICONFLOW_API_KEY,
// });
// ai.getUsageInfo()
// .then((usage) => {
// console.log('AI usage info:', usage);
// })
// .catch((res) => {
// console.error('Error fetching AI usage info:', res.status);
// });
const createBaiLian = () => { const createBaiLian = () => {
return new BailianProvider({ return new BailianProvider({
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1', baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',

3
src/test/common.ts Normal file
View File

@ -0,0 +1,3 @@
import { config } from '../modules/config.ts';
export { config };

57
src/test/tts.ts Normal file
View File

@ -0,0 +1,57 @@
import { config } from './common.ts';
const API_KEY = config.BAILIAN_API_KEY;
// 使用DashScope API进行TTS (文本转语音) 请求
const dashscopeTTS = async ({ text, voice = 'Chelsie', token }) => {
try {
const response = await fetch('https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation', {
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
// model: 'qwen-tts',
model: 'qwen-tts-latest',
input: {
text,
voice,
},
}),
});
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
console.error('TTS 请求失败:', error);
throw error;
}
};
// 使用示例
const sampleText =
'那我来给大家推荐一款T恤这款呢真的是超级好看这个颜色呢很显气质而且呢也是搭配的绝佳单品大家可以闭眼入真的是非常好看对身材的包容性也很好不管啥身材的宝宝呢穿上去都是很好看的。推荐宝宝们下单哦。';
async function main() {
const voiceList = ['Cherry', 'Serena', 'Ethan', 'Chelsie'];
const latestVoiceList = ['Dylan', 'Jada', 'Sunny'];
try {
const result = await dashscopeTTS({ text: sampleText, voice: latestVoiceList[2], token: API_KEY });
console.log('TTS 生成成功:', result);
// 如果API返回音频数据(通常是base64格式),可以这样处理
// 例如: 保存到文件或播放音频
if (result.output?.audio) {
// 处理音频数据
console.log('获取到音频数据,长度:', result.output.audio.length);
}
} catch (error) {
console.error('处理失败:', error);
}
}
main();