首页 > 编程语言 >Python调用ChatTTS API接口

Python调用ChatTTS API接口

时间:2024-07-27 18:08:14浏览次数:16  
标签:ChatTTS return Python app API file import data response

Python调用ChatTTS API接口:

#*********************************************
#author:wgscd
#date:2024-7-27
#install list:
#pip install fastapi
#pip install requests
#pip install uvicorn[standard]
# 在命令行中运行以下命令来启动服务器:  
#uvicorn main:app --reload    (假设mian是你的python代码文件名)
#*********************************************
import requests  
import json  
from fastapi import FastAPI, Path, Query, Header, Cookie
from fastapi.responses import RedirectResponse
from fastapi.responses import StreamingResponse

app = FastAPI()  
  
@app.get("/")  
async def read_root():  
    return {"Hello": "World"}  
  
@app.get("/tts")
async def read_items(
                     q: str = Query(None),
                     x_token: str = Header(None),
                     cookie: str = Cookie(None)):
    some_file_path =  getTTSData(q)  # r"d:\Pictures\work\roles_audio2.MP3.mp3"
    if some_file_path=='':
       return {'err':'no audio file.'}
    
    def iterfile():  # (1)
        with open(some_file_path, mode="rb") as file_like:  # (2)
            yield from file_like  # (3)
    return StreamingResponse(iterfile(), media_type="audio/mpeg")
    #return RedirectResponse(url="https://www.baidu.com",status_code=308)

# 在实际部署时,你需要运行一个ASGI服务器,比如Uvicorn来运行你的FastAPI应用。  
# 下面的命令只是示例,用于在开发环境中启动你的应用。  
# 在命令行中运行以下命令来启动服务器:  
#uvicorn 4:app --reload



def getTTSData(q:str):

    print('----6666---------q:'+q)
    # 目标URL  
    response = requests.post('http://127.0.0.1:9966/tts', data={
    "text": q,
    "prompt": "",
    "voice": "11.csv",
    "speed": 5,
    "temperature": 0.3,
    "top_p": 0.7,
    "top_k": 20,
    "refine_max_new_token": 384,
    "infer_max_new_token": 2048,
    "text_seed": 42,
    "skip_refine": 0,
    "is_stream": 0,
    "custom_voice": 333
    })
    # 检查请求是否成功  
    if response.status_code == 200:  
        # 将响应内容转换为JSON格式  
        response_data = response.json()  
        # 现在你可以按需要处理response_data了  
        print(response_data.get("filename"))  
        return response_data.get("filename")
    else:  
        print('请求失败,状态码:', response.status_code)
        return ''

 

最后在抖灵里添加自定义音色接口地址:http://127.0.0.1:8000/tts?q={text}

附抖灵地址:http://douyin163.top/

 

标签:ChatTTS,return,Python,app,API,file,import,data,response
From: https://www.cnblogs.com/wgscd/p/18327281

相关文章

  • Python 中的正反斜杠用法详解
    在Python编程中,字符串是一个常用的数据类型,字符串中的斜杠(反斜杠\和正斜杠/)具有特殊的用法和意义,本文将介绍这两种斜杠的用法。一、反斜杠的转义作用在Python中,反斜杠(\)被称为转义字符,它常用于两个主要目的。1.引入特殊字符反斜杠可以用来引入特殊字符序列,这些序列在Py......
  • Python数据预处理+正态性检验+异常值处理+Q-Q图-K-S检验+相关性分析(2024MathorCup A题
    #数据预处理#正态性检验、Q-Q图、箱线图、直方图、相关性分析#Q-Q图importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromscipy.statsimportnormfromscipy.statsimportprobplota=pd.read_excel('附件1:小区基本信息.xlsx',engine='openpyxl'......
  • 文件编码检测-Python解决UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x
    #检测数据编码格式importchardetwithopen('附件1.csv','rb')asf:result=chardet.detect(f.read())#读取一定量的数据进行编码检测print(result['encoding'])#打印检测到的编码在读取文件时会遇到各种问题,UnicodeDecodeError:'utf-8'codeccan'tde......
  • 一个月收益高达16.5K,来看我是如何通过Python技术手段变现,逐步迈向财富自由的!
    写在开篇随着大数据和人工智能的兴起。各行业对爬虫类和数分类服务的需求量呈指数级的暴增。传统行业受经济下行的影响,近段时间失业找不到工作的朋友,后台咨询技术变现、兼职接单问题也越来越多。​当然也有网友向我发来喜报,告诉我他上半年通过爬虫单月接单1.65w,给兼职副......
  • ast获取指定python文件中携带指定装饰器函数的实现
    在实现自动化测试过程中,需要根据指定的装饰器来标记需要执行的用例或函数,下面根据使用ast库来实现读取指定文件中的数据结构后对其内容进行解析并拿到携带对应装饰器的函数。根据以下方法仅能解析func、class-func的数据结构,其余数据结构可能不兼容,需要根据实际情况进行完善调整......
  • 自写ApiTools工具,功能参考Postman和ApiPost
    近日在使用ApiPost的时候,发现新版本8和7不兼容,也就是说8不支持离线操作,而7可以。我想说,我就是因为不想登录使用才从Postman换到ApiPost的。众所周知,postman时国外软件,登录经常性抽风,离线支持也不太好。所以使用apipost,开始用apipost7一直很好用。可是apipost大升级,不支持离线操......
  • python—pandas基础(1)
    文章目录安装设定系统环境Pandas的主要数据结构Series对象创建使用列表创建属性values和index指定index使用list列表指定index传入字典创建,默认将key作为index将一个标量与index对象一起传入创建DataFrame对象创建创建DataFrame对象valuesindexcolumns属性列表创建索......
  • 字符串API
    API:应用程序编程接口,为预先定义的函数(方法)。一、常用的字符串APIlength()chartAt(int) //索引处字符toCharArray() //转换为char类型equals(String)  equalsIgnoreCase(String) //忽略字母大小小比较内容是否一样contains(String) //是否包含内容indexOf(String)......
  • Python毕业设计基于Django的网上购物销售系统(代码+数据库+文档LW+运行成功)
    文末获取资源,收藏关注不迷路文章目录一、项目介绍二、主要使用技术三、研究内容四、核心代码五、文章目录一、项目介绍随着互联网技术的不断发展和普及,电子商务行业迅速崛起。越来越多的消费者选择在线购物,享受便捷、快速的购物体验。因此,开发一款基于Python的购物......
  • python毕业设计基于Django的电子书阅读系统的设计与实现 爬虫+大屏可视化
    文末获取资源,收藏关注不迷路文章目录一、项目介绍二、主要使用技术三、研究内容+四、核心代码五、文章目录一、项目介绍随着互联网的普及和移动设备的广泛应用,人们获取信息和阅读的方式发生了巨大变化。传统的纸质书籍阅读方式虽然经典,但存在携带不便、更新速度慢等......