API 文档简介
欢迎使用 DuanAI API。我们的 API 遵循 RESTful 设计规范,使用 JSON 进行数据交互。
基础 URL: http://ai.aitoolsapi.cn/api/v1
创建对话补全
为给定的对话历史生成模型回复。完全兼容 OpenAI Chat Completions API。
调用示例
在创建 API key 之后,你可以使用以下样例脚本的来访问 DeepSeek API。样例为非流式输出,您可以将 stream 设置为 true 来使用流式输出。
curl http://ai.aitoolsapi.cn/api/v1/chat/getCompletions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "你是DuanAI平台的智能客服。回复要简洁、分点。"},
{"role": "user", "content": "我想接入你们的API,需要怎么鉴权?"}
],
"temperature": 0.4,
"stream": false
}'
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
model
string
Required
|
要使用的模型 ID,例如 deepseek-chat 或 gpt-4。 |
|
messages
array
Required
|
包含迄今为止对话的消息列表。每个对象包含 role (system/user/assistant) 和 content。
|
|
temperature
number
|
采样温度,介于 0 和 2 之间。较高的值(如 0.8)会使输出更随机,而较低的值(如 0.2)会使其更集中和确定。默认 1.0。 |
响应格式
{
"code": 1,
"msg": "Success",
"time": 1770436914,
"data": {
"id": "72272ba7-3609-4150-b43a-d1b3787bab59",
"created": 1770436891,
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "**建议直接访问 [DuanAI 官网](https://www.duanai.com) 获取最新信息**,因为AI API平台更新较快,新功能或政策调整请以官方公告为准。\n\n如果您有具体应用场景(如想实现某个AI功能),我可以进一步提供选型建议或技术思路!"
},
"logprobs": null,
"finish_reason": "stop"
}
]
}
}
智能客服(对话补全)
基于对话补全能力构建智能客服。建议通过 system 角色注入业务规则与口径,并在多轮对话中持续携带历史消息。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
model
string
Required
|
要使用的模型 ID,例如 deepseek-chat。 |
|
messages
array
Required
|
对话消息列表。建议首条为 system,写明客服身份、可提供的信息、遇到无法确认时的转人工策略。 |
|
temperature
number
|
建议客服场景使用较低温度(如 0.2~0.6)提升稳定性。 |
示例请求
{
"model": "deepseek-chat",
"messages": [
{
"role": "system",
"content": "你是DuanAI平台的智能客服。你的目标:解答API接入、计费、Key获取、模型选择等问题。遇到不确定内容先澄清再回答;涉及账号/订单等敏感信息时仅引导用户到控制台或联系人工客服。回复要简洁、分点。"
},
{
"role": "user",
"content": "我想接入你们的 /chat/getCompletions,需要怎么鉴权?"
}
],
"temperature": 0.4,
"stream": "false"
}
响应格式
{
"code": 1,
"msg": "Success",
"time": 1770436914,
"data": {
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "鉴权方式:在请求头加入 Authorization: Bearer {YOUR_API_KEY}。\n\n- 获取 API Key:登录控制台,在密钥管理中生成\n- 请求地址:http://ai.aitoolsapi.cn/api/v1/chat/getCompletions\n- Body:包含 model 与 messages(多轮对话把历史 messages 一起带上)"
},
"finish_reason": "stop"
}
]
}
}
网站客服(读站问答)
面向指定网站的智能客服。接口会先抓取 target_url 网页内容并结合问题进行回答。
如果网站资料中找不到答案,会返回固定文字:请联系人工客服。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
model
string
Required
|
要使用的模型 ID,例如 deepseek-chat。 |
|
target_url
string
Required
|
目标网址,例如 https://example.com。 |
|
site_name
string
Required
|
网站名称,用于客服口径,例如“端点(陕西)科技有限公司官网”。 |
|
keywords
string
|
关键词(可选),用于辅助理解,例如“产品,价格,联系方式”。 |
|
messages
array
Required
|
对话消息列表,建议只传用户问题或包含少量历史对话。 |
|
stream
boolean
|
是否流式输出。设置为 true 时返回 SSE 流。 |
示例请求
{
"model": "deepseek-chat",
"target_url": "https://duand.cn/",
"site_name": "端点(陕西)科技有限公司官网",
"keywords": "电话,邮箱,地址,服务",
"messages": [
{
"role": "user",
"content": "你们公司电话和邮箱是多少?"
}
],
"temperature": 0.3,
"stream": true
}
获取模型列表
为给定的对话历史生成模型回复。完全兼容 OpenAI Chat Completions API。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|
响应格式
{
"code": 1,
"msg": "Success",
"time": "1770437104",
"data": [
{
"id": "model-deepseek-chat",
"object": "model",
"created": 1770437104,
"owned_by": "duanai",
"permission": [],
"pricing": {
"prompt": "0.01/1K tokens",
"completion": "0.02/1K tokens"
},
"limits": {
"rate_limit": 60
}
}
]
}
口播脚本
根据指定的角色身份和主题,调用垂直领域的智能体生成高质量文案。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
identity
string
Required
|
角色身份,例如“主持人”、“小红书博主”。 |
|
subject
string
Required
|
文案主题,例如“生成一段小红书创业的经历”。 |
|
xc_type
integer
Required
|
场景类型代码,例如 2 (口播脚本)。 |
|
script_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "(开场白,轻快语气)\n“姐妹们!今天不聊穿搭,聊搞钱!一个普通95后女生,靠下班后的3小时,把爱好变成月入5位数的小事业,我是怎么做到的?”\n\n(核心内容,节奏渐强)\n“其实就三步:第一,找准赛道!我从小爱研究手冲咖啡,就在小红书发‘打工人的咖啡日记’,真实记录踩坑和成功配方。第二,创造差异化!别人拍精致画面,我拍凌晨厨房里手忙脚乱的样子——反而很多人说‘这像我!’第三,轻启动!没囤货,先建粉丝群,根据预订找本地咖啡馆合作定制挂耳包,0库存压力。”\n\n(结尾互动,贴近镜头)\n“很多人问要不要辞职?我的建议是:让副业先跑起来!如果你也有想折腾的小爱好,评论区告诉我是什么,抽三个姐妹帮你分析可行性!记住:敢开始的人,已经赢了一半啦~” \n\n(总字数:298字)",
"content_length": 332
}
}
知识科普
根据指定的主题和内容,生成通俗易懂的知识科普文案。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
科普主题,例如“AI”。 |
|
content
string
Required
|
核心内容点,例如“人工智能”。 |
|
style
string
|
文案风格,例如“亲切友好”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 4 (知识科普)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "你好呀!今天我们来聊聊一位聪明的“新朋友”——人工智能,也就是我们常说的AI。\n\n你可以把AI想象成一个超级用功的学生。我们人类通过书本和经验学习,AI则是通过海量的数据来学习。比如,给它看数百万张猫的图片,它就能学会识别猫咪;让它阅读无数对话,它就能学着和我们聊天。\n\n它已经悄悄融入了我们的生活:清晨手机推送的天气,网购时的“猜你喜欢”,地图软件为你规划的最优路线,甚至是你和语音助手的有趣对话,背后都有AI在默默帮忙。\n\n不过别担心,AI目前的核心能力是“识别”和“预测”,它像一面镜子,反映的是我们给它的信息。它的“智能”是延伸和辅助人类的工具,让复杂的计算更高效,让重复的工作更轻松。\n\n未来,这位“朋友”会和我们一起,探索更多未知,解决更多难题。而我们人类独有的创造力、情感和同理心,永远是这个世界最珍贵的部分。希望这个简单的介绍,能让你对AI多一份亲切的了解!",
"content_length": 387
}
}
带货文案生成
生成大咖同款风格的带货文案,激发用户购买欲望。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
goods_name
string
Required
|
商品名称,例如“AA牌智能手表”。 |
|
selling_point
string
Required
|
核心卖点,例如“智能,时尚”。 |
|
style
string
|
主播风格,例如“热情活泼(李佳琦风格)”。 |
|
discount_info
string
|
优惠信息,例如“八折优惠”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 3 (带货文案)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "(语速加快,兴奋挥手)所有女生!看过来!3、2、1——链接来咯!\n\n今天给你们炸一个王炸单品!AA牌智能手表!我的天哪,这也太时髦了吧!(展示手腕)你看这个流光表盘,这个金属质感表带,不管你是穿西装还是穿小裙子,它都能给你搭出高级感!时尚弄潮儿,锁死它!\n\n它可不是空有颜值哦!智能到让你尖叫!(手指快速点击)心率、睡眠、血氧全天监测,你的健康小管家!信息提醒、移动支付、NFC门禁,出门带个它就够了!续航超能打,充电一次,畅玩一周!这难道不是为我们精致懒人量身定做的吗?\n\n重点来了!所有女生,听好了!今天,不用等大促,不用凑满减!专属直播间福利,直接给你们打到**八折!八折!**(强调)这个价格,这个配置,还有谁?!市面上你根本找不到第二家!\n\n数量有限,只有5000单!抢到就是赚到,就是省到!赶紧去下单!**点下方小黄车,1号链接,给我冲!** 犹豫一下,漂亮和健康可就让别人带走啦!买它!",
"content_length": 400
}
}
保险专属脚本生成
生成保险行业的专业营销、科普或话术脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“第一次买保险,应该注意什么?”。 |
|
content_type
string
|
内容类型,例如“知识分享”、“案例分析”。 |
|
style
string
|
文案风格,例如“专业严谨”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 8 (保险行业)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "大家好,我是你们的保险顾问...",
"content_length": 300,
}
}
法律服务脚本生成
生成法律行业的专业咨询、普法或案例解析脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“劳动仲裁流程”。 |
|
content_type
string
|
内容类型,例如“知识干货”、“案例分析”。 |
|
style
string
|
文案风格,例如“专业严谨”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 13 (法律服务)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "大家好,今天来讲讲劳动仲裁...",
"content_length": 300,
}
}
爆款标题生成
根据内容生成具有吸引力、高点击率的爆款标题。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
text
string
Required
|
原始内容,例如“创业”。 |
|
scene
string
|
应用场景,例如“通用”、“短视频”、“公众号”。 |
|
count
integer
|
生成数量,默认 5。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 14 (爆款标题)。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": [
"**“我辞职创业,3个月后存款多了个0,方法简单到你想不到”**",
"(利用金钱欲望与捷径心理,制造反差感)",
"**“创业真相:那些年入百万的人,其实都在偷偷做这件事”**",
"(激发好奇与阶层焦虑,暗示“隐藏信息”)",
"**“千万别创业!除非你能承受这3个残酷真相”**",
"(反向刺激+危机感,吸引想避坑的用户)",
"**“凌晨3点,我删光了所有客户:创业者的崩溃只在一瞬间”**",
"(用强烈冲突和情感共鸣引发好奇与共情)",
"**“创业后,我戒掉了‘体面’:从亏50万到月入10万的狠人法则”**",
"(颠覆认知+逆袭故事,满足人们对“狠招”的窥探欲)"
],
"content_length": 255
}
}
微信营销文案生成
生成适用于微信朋友圈或社群的短小精悍的营销文案。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
goods_info
string
Required
|
商品信息,例如“AA牌智能手表”。 |
|
selling_point
string
Required
|
核心卖点,例如“智能,实惠”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 6 (微信营销)。 |
|
text_count
integer
|
期望生成的字数,默认 200。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "🔥【限时福利】AA牌智能手表来了!\n✅智能监测健康\n✅超高性价比\n👇点击链接抢购!",
"content_length": 50,
}
}
房产知识脚本生成
生成房产行业的专业知识科普、购房指南或市场分析脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“首次购房者需注意的三个误区”。 |
|
style
string
|
文案风格,例如“亲和力强”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 12 (房产行业)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "大家好,今天来聊聊买房的那些事儿...",
"content_length": 300,
}
}
视频分镜脚本生成
根据主题生成专业的视频拍摄分镜脚本,包含画面、台词和运镜建议。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
视频主题,例如“新生开学指南”。 |
|
video_type
string
|
视频类型,例如“口播视频”、“剧情短片”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 5 (视频分镜)。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "镜头1:远景,校园大门...\n镜头2:特写,录取通知书...",
"content_length": 400,
}
}
健康养生脚本生成
生成健康养生领域的专业知识分享、生活建议或辟谣脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“长时间久坐都有哪些危害?”。 |
|
style
string
|
文案风格,例如“亲和力强”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 10 (健康养生)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "各位朋友们好,今天来聊聊久坐的危害...",
"content_length": 300,
}
}
美业专属脚本生成
生成美容美发行业的专业护肤知识、项目推广或案例分享脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“做了5年的皮肤管理师,我总结了10个变美技巧。”。 |
|
content_type
string
|
内容类型,例如“美容护理”、“项目介绍”。 |
|
style
string
|
文案风格,例如“温柔亲切”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 11 (美业行业)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "姐妹们,今天分享几个变美小技巧...",
"content_length": 300,
}
}
教培专属脚本生成
生成教育培训行业的课程介绍、育儿知识或招生文案脚本。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
脚本主题,例如“每天花一个小时陪孩子阅读,会发生什么变化?”。 |
|
content_type
string
|
内容类型,例如“育儿知识”、“课程推广”。 |
|
style
string
|
文案风格,例如“耐心细致”。 |
|
xc_type
integer
Required
|
场景类型代码,固定为 9 (教培行业)。 |
|
text_count
integer
|
期望生成的字数,默认 300。 |
响应格式
{
"code": 1,
"msg": "成功",
"show": 1,
"data": {
"content": "各位家长好,今天我们来聊聊亲子阅读...",
"content_length": 300,
}
}
形象克隆
创建属于自己的数字人形象,只需上传一段视频即可开始训练。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
name
string
Required
|
名称,例如“我的数字分身”。 |
|
videoUrl
string
Required
|
视频链接,用于训练数字人的原始视频素材 URL。 |
响应格式
{
"code": 1,
"msg": "提交成功",
"data": {
"task_id": "dh_123456789",
"status": "processing",
"eta": "10 minutes"
}
}
形象克隆任务详情
查询形象克隆任务的当前状态及结果。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
figure_id
string/int
Required
|
模型ID,创建任务时返回的 figure_id。 |
响应格式
prepare: 排队中 - 任务已提交,正在等待资源调度。training: 训练中 - 任务正在进行模型训练,请耐心等待。success: 成功 - 任务已完成,可通过 video_url 获取结果。fail: 失败 - 任务执行失败,请查看 err_msg 获取详细原因。
{
"code": 1,
"msg": "获取成功",
"data": {
"code": 0,
"message": "SUCCESS",
"data": {
"figure_id": 8,
"title": "数字人",
"uid": "5",
"video_url": "https://cyt-digital.oss-cn-beijing.aliyuncs.com/master/1/20241210/figures_video/mp4/6d056c45b56bd37b1fb459749f694243.mp4",
"status": "success",
"channel": "v1",
"err_msg": "",
"created_at": "2024-12-11 10:00:55",
"updated_at": "2024-12-11 10:00:56"
}
}
}
形象推理 (视频合成)
使用训练好的数字人形象,输入音频驱动生成视频。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
figure_id
integer
Required
|
模型ID,训练完成的数字人ID。 |
|
title
string
Required
|
任务名称,最长50字符。 |
|
audio_url
string
Required
|
音频链接,支持wav格式。 |
|
uid
string
Optional
|
业务端用户标识,最长50字符。 |
响应格式
{
"code": 1,
"msg": "提交成功",
"data": {
"project_id": 2
}
}
获取模型列表 (List Models)
获取当前用户的音频模型列表。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Query 参数
| 参数名 | 说明 |
|---|---|
|
page_size
integer
|
每页数量,默认 10。 |
|
page_number
integer
|
页码,默认 1。 |
|
title
string
|
按标题搜索。 |
响应格式
{
"code": 1,
"msg": "获取成功",
"data": {
"total": 5,
"items": [
{
"_id": "67b931...",
"title": "我的声音模型",
"description": "测试用",
"type": "tts",
"created_at": "2024-02-22T10:00:00.000Z"
}
]
}
}
创建模型 (Create Model)
上传音频样本,创建一个专属的声音模型。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
|
Content-Type
Required
|
multipart/form-data (推荐) 或 application/json |
Body 参数
| 参数名 | 说明 |
|---|---|
|
title
string
Required
|
模型名称。 |
|
voices
file/array
Required
|
音频文件。支持上传多个文件 (voices[]),或传递文件路径/URL 数组。 |
|
description
string
|
描述信息。 |
|
visibility
string
|
可见性: public (公开), private (私有, 默认)。 |
|
train_mode
string
|
训练模式: fast (默认), full。 |
|
enhance_audio_quality
boolean
|
是否增强音质 (默认 true)。 |
|
tags
array
|
标签列表。 |
|
texts
array
|
对应的文本内容(可选,增强效果)。 |
|
cover_image
file/string
|
封面图片文件或路径。 |
响应格式
{
"code": 1,
"msg": "创建成功",
"data": {
"_id": "67b931...",
"title": "我的声音模型",
"state": "created"
}
}
获取模型详情 (Get Model)
根据模型 ID 获取详细信息。
Query 参数
| 参数名 | 说明 |
|---|---|
|
id
string
Required
|
模型 ID。 |
响应格式
{
"code": 1,
"msg": "获取成功",
"data": {
"_id": "67b931...",
"title": "我的声音模型",
"voices": [...]
}
}
语音合成 (Text to Speech)
将文本转换为语音。
Body 参数
| 参数名 | 说明 |
|---|---|
|
text
string
Required
|
要合成的文本。 |
|
reference_id
string
|
参考模型 ID (如果不填则使用默认声音)。 |
|
format
string
|
输出格式 (mp3, wav, pcm)。默认 mp3。 |
响应格式
{
"code": 1,
"msg": "执行成功",
"data": {
"url": "https://api.duanai.com/uploads/audio/20240222/tts_result.mp3",
"format": "mp3"
}
}
语音转文字 (Speech to Text)
将音频文件转换为文本。
Body 参数
| 参数名 | 说明 |
|---|---|
|
audio
string
Required
|
音频文件 URL 或路径。 |
|
language
string
|
语言代码 (如 zh, en)。如果不填则自动识别。 |
|
ignore_timestamps
boolean
|
是否忽略时间戳 (默认 true)。 |
响应格式
{
"code": 1,
"msg": "执行成功",
"data": {
"text": "你好,这是一段测试音频。",
"duration": 2.5
}
}
情绪参考文本 (Emotion Reference)
TTS 模型支持的情绪列表,您可以在文本中使用标签来指定情绪。例如:(happy)你好,今天天气真好!
基本情绪 (Basic Emotions)
| 情绪 (Emotion) | 标签 (Tag) | 描述 (Description) | 示例上下文 (Example Context) |
|---|---|---|---|
| 快乐的 | (happy) | 欢快、积极向上的语气 | 好消息,问候 |
| 伤心 | (sad) | 忧郁的,沮丧的 | 同情,坏消息 |
| 生气的 | (angry) | 沮丧、好斗 | 投诉、警告 |
| 兴奋的 | (excited) | 精力充沛,热情洋溢 | 公告、庆祝活动 |
| 冷静的 | (calm) | 宁静,放松 | 指导,冥想 |
| 紧张的 | (nervous) | 焦虑、不确定 | 免责声明及致歉 |
| 自信的 | (confident) | 自信果断 | 演示、销售 |
| 惊讶 | (surprised) | 震惊,惊叹 | 反应、发现 |
| 满意的 | (satisfied) | 满意 | 确认、评论 |
| 高兴极了 | (delighted) | 非常高兴,很开心 | 庆祝活动,赞美 |
| 害怕的 | (scared) | 害怕,恐惧 | 警告,恐怖故事 |
| 担心 | (worried) | 担忧,不安 | 疑虑、问题 |
| 沮丧的 | (upset) | 心烦意乱,痛苦不堪 | 投诉、问题 |
| 沮丧的 | (frustrated) | 恼怒,气愤 | 技术问题、延误 |
| 郁闷 | (depressed) | 非常悲伤,令人绝望 | 严肃话题 |
| 富有同情心 | (empathetic) | 理解,关怀 | 支持、咨询 |
| 尴尬的 | (embarrassed) | 羞愧,尴尬 | 抱歉,错误 |
| 厌恶 | (disgusted) | 反感,厌恶 | 负面评价 |
| 感动的 | (moved) | 深受感动的 | 真挚时刻 |
| 骄傲的 | (proud) | 有成就感的,满意的 | 成就、表扬 |
| 放松的 | (relaxed) | 自在,随意 | 闲聊 |
| 感激的 | (grateful) | 感谢,感激 | 感谢、欣赏 |
| 好奇的 | (curious) | 好奇,感兴趣 | 提问、探索 |
| 讽刺的 | (sarcastic) | 讽刺,嘲笑 | 幽默、批评 |
高级情绪 (Advanced Emotions)
| 情绪 (Emotion) | 标签 (Tag) | 描述 (Description) | 示例上下文 (Example Context) |
|---|---|---|---|
| 轻蔑的 | (disdainful) | 蔑视,轻视 | 批评,拒绝 |
| 不开心的 | (unhappy) | 不满,不悦 | 投诉,反馈 |
| 焦急的 | (anxious) | 非常担心,不安 | 紧急事项 |
| 歇斯底里的 | (hysterical) | 情绪失控 | 极端反应 |
| 漠不关心的 | (indifferent) | 不在乎,中立 | 中立回应 |
| 不确定的 | (uncertain) | 怀疑,不确定 | 推测,提问 |
| 怀疑的 | (doubtful) | 怀疑,质疑 | 不相信,质问 |
| 困惑的 | (confused) | 迷惑,不解 | 请求澄清 |
| 失望的 | (disappointed) | 失望,不满 | 未达预期的期望 |
| 后悔的 | (regretful) | 抱歉,懊悔 | 道歉,错误 |
| 内疚的 | (guilty) | 有罪的,负责任的 | 忏悔,道歉 |
| 惭愧的 | (ashamed) | 深感尴尬 | 严重错误 |
| 嫉妒的 | (jealous) | 嫉妒,愤恨 | 比较 |
| 羡慕的 | (envious) | 想要别人拥有的 | 带有渴望的赞赏 |
| 充满希望的 | (hopeful) | 对未来乐观 | 未来计划 |
| 乐观的 | (optimistic) | 积极的展望 | 鼓励 |
| 悲观的 | (pessimistic) | 消极的展望 | 警告,疑虑 |
| 怀旧的 | (nostalgic) | 怀念过去 | 回忆,故事 |
| 孤独的 | (lonely) | 孤立,孤独 | 情感内容 |
| 无聊的 | (bored) | 不感兴趣,厌倦 | 不感兴趣 |
| 蔑视的 | (contemptuous) | 表现出蔑视 | 强烈批评 |
| 同情的 | (sympathetic) | 表现出同情 | 慰问 |
| 慈悲的 | (compassionate) | 表现出深切的关怀 | 支持,帮助 |
| 坚定的 | (determined) | 坚决,果断 | 目标,承诺 |
| 顺从的 | (resigned) | 接受失败 | 放弃,接受 |
音调标记 (Tone Markers)
| 音调 (Tone) | 标签 (Tag) | 描述 (Description) | 适用场景 (When to Use) |
|---|---|---|---|
| 匆忙的 | (in a hurry tone) | 匆忙,紧急 | 时间敏感的信息 |
| 大喊 | (shouting) | 大声,呼喊 | 引起注意 |
| 尖叫 | (screaming) | 非常大声,恐慌 | 紧急情况,恐惧 |
| 耳语 | (whispering) | 非常轻,秘密地 | 秘密,安静场景 |
| 轻柔的 | (soft tone) | 温柔,安静 | 安慰,摇篮曲 |
音效 (Audio Effects)
| 效果 (Effect) | 标签 (Tag) | 描述 (Description) | 建议文本 (Suggested Text) |
|---|---|---|---|
| 大笑 | (laughing) | 开怀大笑 | 哈哈,哈哈哈 |
| 轻笑 | (chuckling) | 轻声笑 | 呵呵 |
| 啜泣 | (sobbing) | 痛哭 | (可选) |
| 大哭 | (crying loudly) | 剧烈哭泣 | (可选) |
| 叹气 | (sighing) | 如释重负/沮丧的呼气 | 叹气,唉 |
| 抱怨/呻吟 | (groaning) | 沮丧的声音 | 呃,啊 |
| 喘气 | (panting) | 上气不接下气 | 呼,哈 |
| 倒吸气 | (gasping) | 急促吸气 | 吸气声 |
| 打哈欠 | (yawning) | 疲惫的声音 | 哈欠 |
| 打呼噜 | (snoring) | 睡觉的声音 | 呼噜声 |
特效 (Special Effects)
| 效果 (Effect) | 标签 (Tag) | 描述 (Description) |
|---|---|---|
| 观众笑声 | (audience laughing) | 人群笑声 |
| 背景笑声 | (background laughter) | 环境笑声 |
| 人群哄笑 | (crowd laughing) | 一大群人的笑声 |
| 短暂停顿 | (break) | 说话时的短暂亦停顿 |
| 长停顿 | (long-break) | 说话时的长时间停顿 |
智能视频剪辑
根据提供的视频素材和配置参数,调用视频基础处理服务进行视频处理(如去重、混剪等)。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
work_name
string
Optional
|
任务名称,默认 "Video Task"。 |
|
urls
array
Required
|
视频素材链接列表(URL数组),一次最多不超过20个。 |
|
names
array
Optional
|
为传入的urls最终生成的作品进行命名,与urls一一对应。 |
|
resolution
string
Optional
|
分辨率,支持 480p, 720p, 1080p。默认 1080p。 |
|
callback
string
Optional
|
回调地址,任务完成后将结果POST到此地址。 |
| 视频基础处理 (Video Basic Processing) | |
|
needTrim
Byte
Optional
|
基础处理开关:智能处理颜色、裁剪、画面倾斜、锐化等。
|
|
needMask
Byte
Optional
|
特效剪辑开关:滤镜、模版和贴纸。
|
|
needMirror
Byte
Optional
|
镜像翻转控制。
|
|
needRescale
Byte
Optional
|
画面缩放控制。
|
|
needShift
Byte
Optional
|
画面智能移动。
|
|
extraOptions
string/json
Optional
|
JSON字符串。需
needTrim=1 时 extra_trim_config 才生效。{
"extra_trim_config": {
// 智能调色 (true/false)
"adjust_color_on": true,
// 画面锐化 (true/false)
"adjust_sharpness_on": true,
// 掐头去尾 (true/false)
"crop_trailer_on": true,
// 随机加速 (true/false)
"speedup_on": true
}
}
|
响应格式
{
"code": 1,
"msg": "提交成功",
"data": {
"code": "200",
"msg": "success",
"data": "1234567890abcdef" // 任务ID
}
}
智能配乐 (Smart Music)
本功能会为最终的作品重新匹配一个音乐。智能配乐的音乐库来自于无版权的音乐和海外社媒平台的各个国家的热门音乐。
系统会进行AI计算,尝试匹配原视频的镜头或动作,来尽量达到音乐节奏和画面的节奏一致。
注意: 本功能会跟保留原视频背景音保留冲突。
Header 参数
| 参数名 | 说明 |
|---|---|
|
Authorization
Required
|
Bearer {YOUR_API_KEY} |
Body 参数
| 参数名 | 说明 |
|---|---|
|
work_name
string
Optional
|
任务名称,默认 "Smart Music Task"。 |
|
urls
array
Required
|
视频素材链接列表(URL数组)。 |
|
names
array
Optional
|
为传入的urls最终生成的作品进行命名,与urls一一对应。 |
|
resolution
string
Optional
|
分辨率,支持 480p, 720p, 1080p。默认 1080p。 |
|
callback
string
Optional
|
回调地址。 |
| 配乐配置 | |
|
needRhythm
Byte
Required
|
音乐来源的配置参数
|
|
musicRegion
String
Optional
|
当
needRhythm=1,可传入音乐区域
配乐支持的地区见查询枚举
参见:查询枚举接口中musicRegion的code |
|
rhythmParam
String
Optional
|
当
needRhythm=2,即指定使用某音乐时,通过此接口传入音乐文件。
音乐从头开始播放,如果音乐时长小于视频时长,此音乐会被循环播放。
{"url": "https://your_music_file_url"}
|
|
extraOptions
string/json
Optional
|
JSON字符串。需
needTrim=1 时 extra_trim_config 才生效。{
"extra_trim_config": {
// 智能调色 (true/false)
"adjust_color_on": true,
// 画面锐化 (true/false)
"adjust_sharpness_on": true,
// 掐头去尾 (true/false)
"crop_trailer_on": true,
// 随机加速 (true/false)
"speedup_on": true
}
}
|
响应格式
{
"code": 1,
"msg": "提交成功",
"data": {
"code": "200",
"msg": "success",
"data": "task_id_123456"
}
}
任务回调说明
视频提交成功后,您可以通过【查询处理结果接口】主动查询,也可以通过在发起请求时传入 callback 参数来接收回调通知。
回调机制
- 触发时机: 视频处理完成(成功或失败)后立即触发。
- 请求方式: HTTP POST
- 请求体格式: JSON
- 成功响应要求: 您的服务器需返回 HTTP 200 状态码,且返回内容 非空(任意字符串)。
- 重试策略: 若回调失败(非200或空响应),DuanAI 会在 24 小时内每 30 分钟重试一次。
回调签名 (Security)
为了保证安全性,DuanAI 回调时会在 HTTP 请求头中附加一个 Callback-Sign 字段。
该签名为对 HTTP 请求体内容进行加签生成的 sign 值,签名算法与 2.3 鉴权机制 一致。请接入方根据需要进行验签。
回调数据示例
注意:回调的请求体仅包含业务数据对象,不包含外层的 code/msg 等通用字段。
{
"coverUrl": "https:\/\/gc100.cdn.izhaoli.cn\/ve_work\/958ad07945e9407a\/509995684\/509995684__work__export_0.mp4?x-oss-process=video\/snapshot,t_1,w_180,f_jpg",
"createTime": "1772709211996",
"deleted": "0",
"duration": "4.04",
"errorDetail": "",
"fileSize": "3286",
"id": "509995684",
"idCategory": "0",
"idProject": "240250599",
"idSeries": "0",
"idVeOcrTranslateTask": "0",
"lang": "",
"lastUpdateTime": "1772709224060",
"name": "My Video Task",
"originalDuration": "5.04",
"ossDeleted": "0",
"paidPoint": "1",
"processProgress": "100",
"processStatus": "1",
"processStatusEnum": {
"code": "1",
"description": "成功",
"descriptionEn": "Successful",
"descriptionPt": "sucesso"
},
"sourceLang": "",
"srcSrtUrl": "",
"tgtSrtUrl": "",
"title": "",
"url": "",
"videoUrl": "https:\/\/gc100.cdn.izhaoli.cn\/ve_work\/958ad07945e9407a\/509995684\/509995684__work__export_0.mp4",
"wyVoiceParam": ""
}