Python调用ChatTTS API接口
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/
Python调用ChatTTS API接口的更多相关文章
- 关于python调用zabbix api接口
因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...
- python 调用zabbix api接口实现主机的增删改查
python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools() 调用zabbi ...
- 使用Python调用Flickr API抓取图片数据
Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...
- Python调用Openstack API
本文将介绍如何使用 python 调用 OpenStack API. 什么是RESTful API RESTful API 就是 RESTful 风格的 API.遵循 RESTful 风格开发的API ...
- Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...
- 基于python调用libvirt API
基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...
- python调用支付宝支付接口
python调用支付宝支付接口详细示例—附带Django demo代码 项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公 ...
- python调用C语言接口
python调用C语言接口 注:本文所有示例介绍基于linux平台 在底层开发中,一般是使用C或者C++,但是有时候为了开发效率或者在写测试脚本的时候,会经常使用到python,所以这就涉及到一个问题 ...
- Python调用win32 API绘制正弦波
Python调用win32 API新建窗口与直接创建窗口的流程相同 流程:注册窗口→创建窗口→显示窗口→更新窗口→消息循环 代码: # -*- coding: utf-8 -*- import win ...
- 如何使用 Python 编写后端 API 接口
如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...
随机推荐
- Mac安装Docker
一.下载 从官网下载速度太慢,推荐在阿里云镜像下载. 下载地址:http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/stable/D ...
- Nginx增加网页认证功能
Nginx增加网页认证功能 增加认证功能模块 ngx_http_auth_basic_module 模块实现让访问者,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但 ...
- Maven的顶级功能——依赖管理
依赖管理 依赖管理解决的问题 我们学完一个语言的语法之后,我们应该都能知道函数的引用或者类的创建等了.为了方便管理,我们就会把一些特定的功能实现写在一个代码文件中,我们只需要使用的时候导入就行了,这样 ...
- C#中的Math.Round
开发者为了实现小数点后 2 位的四舍五入,编写了如下代码, var num = Math.Round(12.125, 2); 代码非常的简单,开发者实际得到的结果是12.12, 这与其所预期的四舍五入 ...
- php字符串练习题
把以前发给别人的练习题邮件备份记录一下 1.用php编写统计二维数组内某个字符出现的次数的一个函数.给定二维数组和字符串,返回这个字符串在二维数组中出现的次数. 例: 数组如下: $array=arr ...
- Mybatis源代码分析之类型转换
ORM框架最重要功能是将面向对象方法中的对象和关系型数据库中的表关联了起来,在关联过程中就必然涉及到对象中的数据类型和数据库中的表字段类型的转换,Mybatis中的org.apache.ibatis. ...
- ThreadLocal-全概念解析
介绍 ThreadLocal 提供线程局部变量,ThreadLocal实例通常是线程私有静态字段,使用的目的是希望将线程与状态关联起来.与JMM中局部变量有几分相似之处,但是不用写回主内存(如果违反, ...
- Java基础面试:关键字与注释
Java 中的关键字 什么是关键字 Java 关键字是 Java 语言中预先定义好的.具有特殊含义的标识符.这些标识符在程序中有固定的用途,不能用作变量名.方法名或类名.Java 中共有 53 个特殊 ...
- Mysql的整体架构设计
整体分层 连接层 服务层 存储引擎层 连接层 客户端要连接到服务器 3306 端口,必须要跟服务端建立连接,那么 管理所有的连接,验证客户端的身份和权限,这些功能就在连接层完成. 服务层 连接层会把 ...
- QPushButton长度固定,不随文字变化
QPushButton不随text长度变化 设置SizePolicy中的水平策略 没有设置为 忽略