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接口的更多相关文章

  1. 关于python调用zabbix api接口

    因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...

  2. python 调用zabbix api接口实现主机的增删改查

    python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbi ...

  3. 使用Python调用Flickr API抓取图片数据

    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

  4. Python调用Openstack API

    本文将介绍如何使用 python 调用 OpenStack API. 什么是RESTful API RESTful API 就是 RESTful 风格的 API.遵循 RESTful 风格开发的API ...

  5. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口

    1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...

  6. 基于python调用libvirt API

    基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...

  7. python调用支付宝支付接口

    python调用支付宝支付接口详细示例—附带Django demo代码   项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公 ...

  8. python调用C语言接口

    python调用C语言接口 注:本文所有示例介绍基于linux平台 在底层开发中,一般是使用C或者C++,但是有时候为了开发效率或者在写测试脚本的时候,会经常使用到python,所以这就涉及到一个问题 ...

  9. Python调用win32 API绘制正弦波

    Python调用win32 API新建窗口与直接创建窗口的流程相同 流程:注册窗口→创建窗口→显示窗口→更新窗口→消息循环 代码: # -*- coding: utf-8 -*- import win ...

  10. 如何使用 Python 编写后端 API 接口

    如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...

随机推荐

  1. Angular 19 "要" 来了⚡

    前言 Angular 19 预计会在 11 月中旬发布,目前 (2024-10-27) 最新版本是 v19.0.0-next.11. 这次 v19 的改动可不小哦,新增了很多功能,甚至连 effect ...

  2. WebElement的常用属性和方法

    WebElement是WebDriver.find_element()方法返回的一个对象,该对象用来描述Web上的一个元素,比如输入框,按钮等.本节介绍WebElement的常用属性和方法. 一.We ...

  3. 查看Mysql数据库数据量大小、表大小、索引大小

    通过MySQL的information_schema数据库,可查询数据库中每个表占用的空间.表记录的行数: 该库中有一个TABLES表,这个表主要字段分别是: TABLE_SCHEMA:数据库名 TA ...

  4. 算法笔记——马拉核弹(Mana Nuclear)

    0x00 摘要 "马拉核弹"算法由 SXHT 同学(2009~今)发明,并在 2024 年 11 月于某不知名学校机房内正式公布.该算法基于 1975 年发明的 Manacher ...

  5. php 异步并行后续--兼容FPM使用的组件

    上次给人推荐了这篇文章,关于PHP异步并行的文章,之后有人评论问这个组件能不能给fpm用,我测试了一下发现不行,于是又找到一个可以给fpm用的http请求组件. 安装很简单,就这样  composer ...

  6. nano编辑器保存退出

    nano的编辑器保存推出 使用 ctrl x 然后提示Y N 是否保存 写入,输入Y即可 然后再Enter 确认就可以了

  7. Java 日志缓存机制的实现

    本文介绍了 Java 日志机制,并通过扩展日志功能,实现日志缓存.同时,可以动态控制日志信息打印到日志文件的级别,从而提高了日志的灵活性,给产品质量带来更大的帮助.文章主要围绕 MemoryHandl ...

  8. Jenkins篇-权限管理

    我使用 权限管理插件是Role Strategy Plugin,他可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分 1)安装插件 系统管理>插件管理查找Role ...

  9. vue 创建一个项目

    1.npm init -y 2.vue create 名称  3.manuall select features   [手动配置v2,v3] 4.选版本 5 6 启动:npm run serve

  10. C#日期类型转化总结【转化,农历,节气,星期】

    转为日期类型 将8位日期字符串转换为日期格式 dateStr = "20220203"; System.IFormatProvider format=new System.Glob ...