import csv import datetime import os import requests from config import key_get free_map = { "诺艾尔": "原神-中文-诺艾尔_ZH", "芙宁娜": "原神-中文-芙宁娜_ZH", "神里绫华": "原神-中文-神里绫华_ZH", "迪卢克": "原神-中文-迪卢克_ZH", } def get_free_tts(name, text): """ 从免费的试用api获取语音合成效果 """ url = "https://gsv2p.acgnai.top/infer_single" headers = { "Authorization": "Bearer " + key_get('tts'), "Content-Type": "application/json" } model = free_map.get(name) if model is None: return "该模型暂不支持" response = requests.post(url, headers=headers, json={ "version": "v4", "model_name": model, "prompt_text_lang": "中文", "emotion": "默认", "text": text, "text_lang": "中文", "top_k": 10, "top_p": 1, "temperature": 1, "text_split_method": "按标点符号切", "batch_size": 1, "batch_threshold": 0.75, "split_bucket": True, "speed_facter": 1, "fragment_interval": 0.3, "media_type": "mp3", "parallel_infer": True, "repetition_penalty": 1.35, "seed": -1, "sample_steps": 16, "if_sr": False }) data = response.json() if data.get("msg") == "合成成功": return data.get("audio_url") else: return "获取失败" if __name__ == "__main__": print(get_free_tts("诺艾尔111", "你好"))