5140 lines
190 KiB
Markdown
5140 lines
190 KiB
Markdown
# FunyMeeAI V2 客户端接入指引
|
||
|
||
**生成时间**:2026-03-25 17:39
|
||
|
||
---
|
||
|
||
## 通用信息
|
||
|
||
| 项目 | 值 |
|
||
|------|-----|
|
||
| 加密方式 | AES-128-ECB, PKCS5Padding, Base64 |
|
||
| AES Key | `gLYeTRc2uNTcNH8e` |
|
||
| 预发域名 | `pre-ai.funymee.space` |
|
||
| 生产域名 | `ai.funymee.space` |
|
||
| 代理入口 | `POST {baseUrl}/workshop/lounge/hub/playground` |
|
||
| 包名 | `com.funymeeai.app` |
|
||
|
||
## 加密流程
|
||
|
||
```
|
||
构造业务参数
|
||
|
|
||
v
|
||
字段名映射
|
||
(body + params + headers)
|
||
|
|
||
v
|
||
V2包装
|
||
(body only)
|
||
|
|
||
v
|
||
JSON序列化
|
||
|
|
||
v
|
||
AES + Base64
|
||
|
|
||
v
|
||
填入代理请求 b/p 参数
|
||
|
|
||
v
|
||
POST 代理入口
|
||
```
|
||
|
||
## 代理请求结构
|
||
|
||
所有接口统一 POST 到代理入口,请求体结构如下:
|
||
|
||
```json
|
||
{
|
||
"humor_level": "FunyMeeAI", // appId 明文
|
||
"comedy_style": "<AES(接口路径) → Base64>", // AES(原始 path) → Base64
|
||
"avatar_mode": "<AES(HTTP方法) → Base64>", // AES("POST" 或 "GET") → Base64
|
||
"filter_type": "<AES(映射后请求头字段JSON)>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
"scene_id": "<AES(映射后URL参数字段JSON)>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
"clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
"sample_rate": "<随机4-8位字母数字,AES加密→Base64>", // 噪音字段
|
||
"watermark_id": "<随机4-8位字母数字,AES加密→Base64>", // 噪音字段
|
||
"geo_radius": "<随机4-8位字母数字,AES加密→Base64>", // 噪音字段
|
||
"accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音字段
|
||
}
|
||
```
|
||
|
||
> 即使原始接口为 GET(无请求体),走代理后也统一使用 POST,b 参数仍需传入 V2 包装后的空业务体。
|
||
|
||
## V2 包装结构
|
||
|
||
业务数据经字段映射后,按以下结构包装:
|
||
|
||
```json
|
||
{
|
||
"shell": 2, // 固定值
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": { /* 映射后的业务字段 */ }
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 认证 & 账号
|
||
> 无需登录态
|
||
### 设备登录(快速登录)
|
||
`POST /v1/user/fast_login` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------------|
|
||
| `satire` | `ch` | 渠道 |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `revenue` | `type` | referrer类型(必填, af(AF归因)/fb(FB归因,默认)/gg(google归因)/ios_adjust/android_adjust)|
|
||
| `sticker` | `app` | 应用类型(必填,iOS: HIOS / Android: HAndroid) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `link` | `referer` | string | 归因信息,如 |
|
||
| `mandate` | `sign` | string | 签名,MD5(deviceId)大写32位(必填) |
|
||
| `stage` | `deviceId` | string | 设备ID(必填) |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// fast_login — 设备登录(快速登录)
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "vx4tAJaFHyC0sCb6jpr+iKBq/uqi2FaadQnIqopsLYI=", // AES(/v1/user/fast_login)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({satire: 渠道, stakeholder: 应用包名(必填), revenue: referrer类型, sticker: 应用类型}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"link": "", // referer (string) 归因信息,如
|
||
"mandate": "", // sign (string) 签名,MD5(deviceId)大写32位(必填)
|
||
"stage": "" // deviceId (string) 设备ID(必填)
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"download": "", // extConfig (string) 客户端界面配置下发
|
||
"revenue": "", // type (string) 类型
|
||
"stylize": { // appFbConfig (object) 应用FB配置
|
||
"glow": "", // fbClientId (string) Facebook应用ID
|
||
"blur": "" // fbClientToken (string) Facebook客户端Token
|
||
},
|
||
"reauthenticate": "", // usign (string) 用户签名
|
||
"publish": "", // countryCode (string) 国家代码
|
||
"swap": "", // creditsRecordUrl (string) 积分记录URL
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"export": 0, // credit (int) 积分余额
|
||
"spend": "", // tgName (string) Telegram 用户名
|
||
"draft": "", // email (string) 邮箱
|
||
"profile": {}, // ext (object) 扩展信息
|
||
"convert": false, // forcePayCenter (boolean) 是否强制跳转支付中心
|
||
"reboot": { // t2IConfig (object) T2I配置
|
||
"padding": {}, // credits (object) 积分配置(key为任务类型,value为积分数)
|
||
"microscopic": [ // templates (array) 提示词模板列表
|
||
{
|
||
"circular": "", // img (string) 示例图片URL
|
||
"appointment": "" // prompt (string) 提示词内容
|
||
}
|
||
]
|
||
},
|
||
"rank": { // h5UrlConfig (object) H5 URL配置
|
||
"altitude": "", // url (string) H5页面URL
|
||
"coverage": "" // launchImgUrl (string) 启动图URL
|
||
},
|
||
"schedule": "", // payCenterUrl (string) 支付中心URL
|
||
"tag": 0, // freeBlurTimes (int) 免费去模糊次数
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"supplement": "", // userName (string) 用户名
|
||
"enhance": false, // firstRegister (boolean) 是否首次注册
|
||
"symposium": "", // userId (string) 用户ID
|
||
"restore": false, // isVip (boolean) 是否VIP
|
||
"enqueue": [], // tags (array) 用户标签
|
||
"label": 0, // freeTimes (int) 免费次数
|
||
"disambiguate": "", // userToken (string) 用户登录token
|
||
"recognize": 0, // subScribeValidTime (int) 订阅有效时间戳
|
||
"wallet": 0 // status (int) 用户状态
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Google登录
|
||
`POST /v1/user/login/google` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `sticker` | `app` | string | 应用标识(必填) |
|
||
| `link` | `referer` | string | 归因信息,如 utm_source=googleplay |
|
||
| `socket` | `inviteBy` | string | 邀请人 |
|
||
| `scene` | `code` | string | OAuth授权码 |
|
||
| `taskforce` | `verifyCode` | string | 验证码 |
|
||
| `satire` | `ch` | string | 渠道号 |
|
||
| `frequency` | `avatar` | string | 头像URL |
|
||
| `revenue` | `type` | string | 类型 |
|
||
| `supplement` | `userName` | string | 用户名 |
|
||
| `symposium` | `userId` | string | 用户ID |
|
||
| `stage` | `deviceId` | string | 设备ID |
|
||
| `sponsor` | `phone` | string | 手机号 |
|
||
| `theme` | `domain` | string | 域名 |
|
||
| `campus` | `keepUserId` | string | 保留用户ID |
|
||
| `parody` | `campaignInfo` | string | 活动信息 |
|
||
| `bitrate` | `state` | string | OAuth state |
|
||
| `complex` | `refererType` | string | 归因类型 |
|
||
| `draft` | `email` | string | 邮箱 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// google — Google登录
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "s1CzqpH5wzPJf21sqStamHzcIP0EBYSPFMW5Gcf1C3w=", // AES(/v1/user/login/google)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"sticker": "", // app (string) 应用标识(必填)
|
||
"link": "", // referer (string) 归因信息,如 utm_source=googleplay
|
||
"socket": "", // inviteBy (string) 邀请人
|
||
"scene": "", // code (string) OAuth授权码
|
||
"taskforce": "", // verifyCode (string) 验证码
|
||
"satire": "", // ch (string) 渠道号
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"revenue": "", // type (string) 类型
|
||
"supplement": "", // userName (string) 用户名
|
||
"symposium": "", // userId (string) 用户ID
|
||
"stage": "", // deviceId (string) 设备ID
|
||
"sponsor": "", // phone (string) 手机号
|
||
"theme": "", // domain (string) 域名
|
||
"campus": "", // keepUserId (string) 保留用户ID
|
||
"parody": "", // campaignInfo (string) 活动信息
|
||
"bitrate": "", // state (string) OAuth state
|
||
"complex": "", // refererType (string) 归因类型
|
||
"draft": "" // email (string) 邮箱
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"download": "", // extConfig (string) 客户端界面配置下发
|
||
"revenue": "", // type (string) 类型
|
||
"stylize": { // appFbConfig (object) 应用FB配置
|
||
"glow": "", // fbClientId (string) Facebook应用ID
|
||
"blur": "" // fbClientToken (string) Facebook客户端Token
|
||
},
|
||
"reauthenticate": "", // usign (string) 用户签名
|
||
"publish": "", // countryCode (string) 国家代码
|
||
"swap": "", // creditsRecordUrl (string) 积分记录URL
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"export": 0, // credit (int) 积分余额
|
||
"spend": "", // tgName (string) Telegram 用户名
|
||
"draft": "", // email (string) 邮箱
|
||
"profile": {}, // ext (object) 扩展信息
|
||
"convert": false, // forcePayCenter (boolean) 是否强制跳转支付中心
|
||
"reboot": { // t2IConfig (object) T2I配置
|
||
"padding": {}, // credits (object) 积分配置(key为任务类型,value为积分数)
|
||
"microscopic": [ // templates (array) 提示词模板列表
|
||
{
|
||
"circular": "", // img (string) 示例图片URL
|
||
"appointment": "" // prompt (string) 提示词内容
|
||
}
|
||
]
|
||
},
|
||
"rank": { // h5UrlConfig (object) H5 URL配置
|
||
"altitude": "", // url (string) H5页面URL
|
||
"coverage": "" // launchImgUrl (string) 启动图URL
|
||
},
|
||
"schedule": "", // payCenterUrl (string) 支付中心URL
|
||
"tag": 0, // freeBlurTimes (int) 免费去模糊次数
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"supplement": "", // userName (string) 用户名
|
||
"enhance": false, // firstRegister (boolean) 是否首次注册
|
||
"symposium": "", // userId (string) 用户ID
|
||
"restore": false, // isVip (boolean) 是否VIP
|
||
"enqueue": [], // tags (array) 用户标签
|
||
"label": 0, // freeTimes (int) 免费次数
|
||
"disambiguate": "", // userToken (string) 用户登录token
|
||
"recognize": 0, // subScribeValidTime (int) 订阅有效时间戳
|
||
"wallet": 0 // status (int) 用户状态
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Apple登录
|
||
`POST /v1/user/login/apple` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `sticker` | `app` | string | 应用标识(必填) |
|
||
| `link` | `referer` | string | 归因信息,如 utm_source=googleplay |
|
||
| `socket` | `inviteBy` | string | 邀请人 |
|
||
| `scene` | `code` | string | OAuth授权码 |
|
||
| `taskforce` | `verifyCode` | string | 验证码 |
|
||
| `satire` | `ch` | string | 渠道号 |
|
||
| `frequency` | `avatar` | string | 头像URL |
|
||
| `revenue` | `type` | string | 类型 |
|
||
| `supplement` | `userName` | string | 用户名 |
|
||
| `symposium` | `userId` | string | 用户ID |
|
||
| `stage` | `deviceId` | string | 设备ID |
|
||
| `sponsor` | `phone` | string | 手机号 |
|
||
| `theme` | `domain` | string | 域名 |
|
||
| `campus` | `keepUserId` | string | 保留用户ID |
|
||
| `parody` | `campaignInfo` | string | 活动信息 |
|
||
| `bitrate` | `state` | string | OAuth state |
|
||
| `complex` | `refererType` | string | 归因类型 |
|
||
| `draft` | `email` | string | 邮箱 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// apple — Apple登录
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "jGhmNKJBhLIFhBiEzhPjHiink7QU+MJfG5dQyUrWCKg=", // AES(/v1/user/login/apple)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"sticker": "", // app (string) 应用标识(必填)
|
||
"link": "", // referer (string) 归因信息,如 utm_source=googleplay
|
||
"socket": "", // inviteBy (string) 邀请人
|
||
"scene": "", // code (string) OAuth授权码
|
||
"taskforce": "", // verifyCode (string) 验证码
|
||
"satire": "", // ch (string) 渠道号
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"revenue": "", // type (string) 类型
|
||
"supplement": "", // userName (string) 用户名
|
||
"symposium": "", // userId (string) 用户ID
|
||
"stage": "", // deviceId (string) 设备ID
|
||
"sponsor": "", // phone (string) 手机号
|
||
"theme": "", // domain (string) 域名
|
||
"campus": "", // keepUserId (string) 保留用户ID
|
||
"parody": "", // campaignInfo (string) 活动信息
|
||
"bitrate": "", // state (string) OAuth state
|
||
"complex": "", // refererType (string) 归因类型
|
||
"draft": "" // email (string) 邮箱
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"download": "", // extConfig (string) 客户端界面配置下发
|
||
"revenue": "", // type (string) 类型
|
||
"stylize": { // appFbConfig (object) 应用FB配置
|
||
"glow": "", // fbClientId (string) Facebook应用ID
|
||
"blur": "" // fbClientToken (string) Facebook客户端Token
|
||
},
|
||
"reauthenticate": "", // usign (string) 用户签名
|
||
"publish": "", // countryCode (string) 国家代码
|
||
"swap": "", // creditsRecordUrl (string) 积分记录URL
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"export": 0, // credit (int) 积分余额
|
||
"spend": "", // tgName (string) Telegram 用户名
|
||
"draft": "", // email (string) 邮箱
|
||
"profile": {}, // ext (object) 扩展信息
|
||
"convert": false, // forcePayCenter (boolean) 是否强制跳转支付中心
|
||
"reboot": { // t2IConfig (object) T2I配置
|
||
"padding": {}, // credits (object) 积分配置(key为任务类型,value为积分数)
|
||
"microscopic": [ // templates (array) 提示词模板列表
|
||
{
|
||
"circular": "", // img (string) 示例图片URL
|
||
"appointment": "" // prompt (string) 提示词内容
|
||
}
|
||
]
|
||
},
|
||
"rank": { // h5UrlConfig (object) H5 URL配置
|
||
"altitude": "", // url (string) H5页面URL
|
||
"coverage": "" // launchImgUrl (string) 启动图URL
|
||
},
|
||
"schedule": "", // payCenterUrl (string) 支付中心URL
|
||
"tag": 0, // freeBlurTimes (int) 免费去模糊次数
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"supplement": "", // userName (string) 用户名
|
||
"enhance": false, // firstRegister (boolean) 是否首次注册
|
||
"symposium": "", // userId (string) 用户ID
|
||
"restore": false, // isVip (boolean) 是否VIP
|
||
"enqueue": [], // tags (array) 用户标签
|
||
"label": 0, // freeTimes (int) 免费次数
|
||
"disambiguate": "", // userToken (string) 用户登录token
|
||
"recognize": 0, // subScribeValidTime (int) 订阅有效时间戳
|
||
"wallet": 0 // status (int) 用户状态
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 归因上报
|
||
`POST /v1/user/referrer` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `revenue` | `type` | 类型(必填, af(AF归因)/fb(FB归因,默认)/gg(google归因)/ios_adjust/android_adjust) |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `link` | `referer` | string | 归因信息,如 utm_source=googleplay |
|
||
| `stage` | `deviceId` | string | 设备ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// referrer — 归因上报
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "Ex8V5pMk8AAx0dZ2bCk95x3hgLH8TW7xc3MeiufRNxQ=", // AES(/v1/user/referrer)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, revenue: 类型(必填, af(AF归因)/fb(FB归因,默认)/gg(google归因)/ios_adjust/android_adjust), stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"link": "", // referer (string) 归因信息,如 utm_source=googleplay
|
||
"stage": "" // deviceId (string) 设备ID
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取App语言配置
|
||
`GET /v1/config/app-language` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `venture` | `lang` | 语言代码 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// app_language — 获取App语言配置
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "llvWqZObXf9L4Ni7w+J6Hi88SoHxIgt0aNCtC6OSIGk=", // AES(/v1/config/app-language)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({stakeholder: 应用包名(必填), venture: 语言代码}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"edit": "" // config (string) 语言配置JSON
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 用户信息
|
||
> 需要登录态
|
||
### 获取用户账户信息
|
||
`GET /v1/user/account` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// account — 获取用户账户信息
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "sMpVMOBtMbKmw+ovfLYAYHpN28WVH83mwh40owgUCrU=", // AES(/v1/user/account)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"download": "", // extConfig (string) 客户端界面配置下发
|
||
"revenue": "", // type (string) 类型
|
||
"stylize": { // appFbConfig (object) 应用FB配置
|
||
"glow": "", // fbClientId (string) Facebook应用ID
|
||
"blur": "" // fbClientToken (string) Facebook客户端Token
|
||
},
|
||
"reauthenticate": "", // usign (string) 用户签名
|
||
"publish": "", // countryCode (string) 国家代码
|
||
"swap": "", // creditsRecordUrl (string) 积分记录URL
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"export": 0, // credit (int) 积分余额
|
||
"spend": "", // tgName (string) Telegram 用户名
|
||
"draft": "", // email (string) 邮箱
|
||
"profile": {}, // ext (object) 扩展信息
|
||
"convert": false, // forcePayCenter (boolean) 是否强制跳转支付中心
|
||
"reboot": { // t2IConfig (object) T2I配置
|
||
"padding": {}, // credits (object) 积分配置(key为任务类型,value为积分数)
|
||
"microscopic": [ // templates (array) 提示词模板列表
|
||
{
|
||
"circular": "", // img (string) 示例图片URL
|
||
"appointment": "" // prompt (string) 提示词内容
|
||
}
|
||
]
|
||
},
|
||
"rank": { // h5UrlConfig (object) H5 URL配置
|
||
"altitude": "", // url (string) H5页面URL
|
||
"coverage": "" // launchImgUrl (string) 启动图URL
|
||
},
|
||
"schedule": "", // payCenterUrl (string) 支付中心URL
|
||
"tag": 0, // freeBlurTimes (int) 免费去模糊次数
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"supplement": "", // userName (string) 用户名
|
||
"enhance": false, // firstRegister (boolean) 是否首次注册
|
||
"symposium": "", // userId (string) 用户ID
|
||
"restore": false, // isVip (boolean) 是否VIP
|
||
"enqueue": [], // tags (array) 用户标签
|
||
"label": 0, // freeTimes (int) 免费次数
|
||
"disambiguate": "", // userToken (string) 用户登录token
|
||
"recognize": 0, // subScribeValidTime (int) 订阅有效时间戳
|
||
"wallet": 0 // status (int) 用户状态
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取用户通用信息
|
||
`GET /v1/user/common_info` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `filter` | `client` | 客户端标识 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `socket` | `inviteBy` | 邀请人 |
|
||
| `stage` | `deviceId` | 设备ID |
|
||
| `template` | `clientId` | 客户端ID |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// common_info — 获取用户通用信息
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "9PTlQdZS4YcQpCMav68kBkwwLZRZHABr3W3WHw7bb54=", // AES(/v1/user/common_info)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), filter: 客户端标识, symposium: 用户ID, satire: 渠道号, socket: 邀请人, stage: 设备ID, template: 客户端ID, stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"download": "", // extConfig (string) 客户端界面配置下发
|
||
"revenue": "", // type (string) 类型
|
||
"stylize": { // appFbConfig (object) 应用FB配置
|
||
"glow": "", // fbClientId (string) Facebook应用ID
|
||
"blur": "" // fbClientToken (string) Facebook客户端Token
|
||
},
|
||
"reauthenticate": "", // usign (string) 用户签名
|
||
"publish": "", // countryCode (string) 国家代码
|
||
"swap": "", // creditsRecordUrl (string) 积分记录URL
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"export": 0, // credit (int) 积分余额
|
||
"spend": "", // tgName (string) Telegram 用户名
|
||
"draft": "", // email (string) 邮箱
|
||
"profile": {}, // ext (object) 扩展信息
|
||
"convert": false, // forcePayCenter (boolean) 是否强制跳转支付中心
|
||
"reboot": { // t2IConfig (object) T2I配置
|
||
"padding": {}, // credits (object) 积分配置(key为任务类型,value为积分数)
|
||
"microscopic": [ // templates (array) 提示词模板列表
|
||
{
|
||
"circular": "", // img (string) 示例图片URL
|
||
"appointment": "" // prompt (string) 提示词内容
|
||
}
|
||
]
|
||
},
|
||
"rank": { // h5UrlConfig (object) H5 URL配置
|
||
"altitude": "", // url (string) H5页面URL
|
||
"coverage": "" // launchImgUrl (string) 启动图URL
|
||
},
|
||
"schedule": "", // payCenterUrl (string) 支付中心URL
|
||
"tag": 0, // freeBlurTimes (int) 免费去模糊次数
|
||
"frequency": "", // avatar (string) 头像URL
|
||
"supplement": "", // userName (string) 用户名
|
||
"enhance": false, // firstRegister (boolean) 是否首次注册
|
||
"symposium": "", // userId (string) 用户ID
|
||
"restore": false, // isVip (boolean) 是否VIP
|
||
"enqueue": [], // tags (array) 用户标签
|
||
"label": 0, // freeTimes (int) 免费次数
|
||
"disambiguate": "", // userToken (string) 用户登录token
|
||
"recognize": 0, // subScribeValidTime (int) 订阅有效时间戳
|
||
"wallet": 0 // status (int) 用户状态
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取积分页面信息
|
||
`GET /v1/user/credits-page` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `session` | `page` | 页码 *(默认值: "1")* |
|
||
| `seminar` | `size` | 每页条数 *(默认值: "10")* |
|
||
| `revenue` | `type` | 积分类型 *(默认值: "1")* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// credits_page — 获取积分页面信息
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "549Xw0yFnJjZHKSBVllqWCG6fcbWmpoxxu/64gX4aO0=", // AES(/v1/user/credits-page)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({session: 1, seminar: 10, revenue: 1}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"insert": 0, // total (int) 总条数
|
||
"blend": 0, // current (int) 当前页
|
||
"loop": 0, // pages (int) 总页数
|
||
"seminar": 0, // size (int) 每页大小
|
||
"create": [ // records (array) 积分记录列表
|
||
{
|
||
"keepalive": "", // subBusinessType (string) 子业务类型
|
||
"padding": 0, // credits (int) 积分数
|
||
"typography": 0, // createTime (long) 创建时间
|
||
"angle": "", // businessId (string) 业务ID
|
||
"revenue": 0, // type (int) 类型,1=增加,2=扣除
|
||
"offset": "" // businessType (string) 业务类型
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取用户支付记录
|
||
`GET /v1/user/payments` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// payments — 获取用户支付记录
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "MOxwcmOt+UPU+kiKngEkzzWKd2Q1pq8VD215J8A3r0I=", // AES(/v1/user/payments)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 支付记录列表
|
||
{
|
||
"cartoon": 0, // amount (int) 支付金额
|
||
"channel": 0, // payTime (int) 支付时间戳
|
||
"layer": "", // payMethod (string) 支付方式
|
||
"mascot": "", // currency (string) 货币类型
|
||
"depth": "" // payId (string) 支付ID
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取未读消息数
|
||
`GET /v1/user/unread-message-count` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `standard` | `types` | 消息类型列表 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// unread_message_count — 获取未读消息数
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "Yyna+fms1qjL2Q38uMiT4E73X9T2Dkg+r7Nm4wt1RtU=", // AES(/v1/user/unread-message-count)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({standard: 消息类型列表}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"weigh": [ // unreadCountList (array) 各类型未读数列表
|
||
{
|
||
"bubble": 0, // count (int) 未读数
|
||
"revenue": "" // type (string) 消息类型
|
||
}
|
||
],
|
||
"promote": 0, // totalUnreadCount (int) 总未读消息数
|
||
"follow": 0 // lastUpdateTime (int) 最后更新时间戳
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 注销账户
|
||
`GET /v1/user/delete` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// delete — 注销账户
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "B6taFaTaR9c0isGbC2L3/g==", // AES(/v1/user/delete)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 图片 & 视频任务
|
||
> 核心 AI 功能,需要登录态
|
||
### 创建生图任务
|
||
`POST /v1/image/create-task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `profile` | `ext` | string | 扩展参数 |
|
||
| `vibe` | `enable_music` | bool | 是否使用系统指定的背景声音,false是无声音。默认是true有声音 |
|
||
| `liaison` | `taskType` | string | 任务类型 |
|
||
| `seminar` | `size` | string | 输出尺寸,如 480p |
|
||
| `itinerary` | `templateName` | string | 模板名称,BananaTask任务不传templateName |
|
||
| `lease` | `srcImg2` | string | 源图片2的文件路径 |
|
||
| `consulate` | `srcImg1Url` | string | 源图片1的URL |
|
||
| `team` | `needopt` | boolean | 是否优化,通过配置控制 *(固定值: false)* |
|
||
| `crew` | `srcImg1` | string | base64图片1上传,兼容旧app,新app使用srcImg1Url |
|
||
| `glossary` | `srcImg2Url` | string | 源图片2的URL |
|
||
| `appointment` | `prompt` | string | 文本提示词 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// create_task — 创建生图任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "SDyVz00ZABKCNQYjrh887/V1kPmVJ5gvIddXMpU2j6Y=", // AES(/v1/image/create-task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"profile": "", // ext (string) 扩展参数
|
||
"vibe": "", // enable_music (bool) 是否使用系统指定的背景声音,false是无声音。默认是true有声音
|
||
"liaison": "", // taskType (string) 任务类型
|
||
"seminar": "", // size (string) 输出尺寸,如 480p
|
||
"itinerary": "", // templateName (string) 模板名称,BananaTask任务不传templateName
|
||
"lease": "", // srcImg2 (string) 源图片2的文件路径
|
||
"consulate": "", // srcImg1Url (string) 源图片1的URL
|
||
"team": false, // 固定传参
|
||
"crew": "", // srcImg1 (string) base64图片1上传,兼容旧app,新app使用srcImg1Url
|
||
"glossary": "", // srcImg2Url (string) 源图片2的URL
|
||
"appointment": "" // prompt (string) 文本提示词
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 查询图片生成进度
|
||
`GET /v1/image/progress` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `exponential` | `taskId` | 任务ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// progress — 查询图片生成进度
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "ZRQZUzSKdcG3PhD400/WE/Wv9d6SINzvPKuntB5cIdQ=", // AES(/v1/image/progress)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, exponential: 任务ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"elastic": [ // imageInfos (array) 图片信息列表
|
||
{
|
||
"boost": "", // imgUrl (string) 图片URL
|
||
"archive": false, // isBlur (boolean) 是否模糊
|
||
"registration": 0, // imageId (long) 图片ID
|
||
"consortium": "", // resolution (string) 分辨率
|
||
"compressive": 0 // imgType (int) 图片类型,1=图片,2=视频
|
||
}
|
||
],
|
||
"origin": 0, // progress (int) 进度
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"revenue": 0, // type (int) 任务类型
|
||
"acuity": 0, // waitTime (int) 等待时间
|
||
"exponential": 0, // taskId (int) 任务ID
|
||
"endpoint": 0 // queueCnt (int) 队列数量
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取我的任务列表
|
||
`GET /v1/image/my-tasks` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `session` | `page` | 页码 |
|
||
| `seminar` | `size` | 每页数量 |
|
||
| `synopsis` | `taskTypes` | 任务类型列表 *(默认值: "1,3,4")* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// my_tasks — 获取我的任务列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "ZILAhMARxTi+4sbdBFCU+ISDUXbVyViWT+QZZk58iIQ=", // AES(/v1/image/my-tasks)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), session: 页码, seminar: 每页数量, synopsis: 1,3,4}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"insert": 0, // total (int) 总数
|
||
"blend": 0, // current (int) 当前页
|
||
"seminar": 0, // size (int) 每页大小
|
||
"create": [ // records (array) 记录列表
|
||
{
|
||
"liaison": 0, // taskType (int) 任务类型
|
||
"typography": 0, // createTime (long) 创建时间
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0, // taskId (long) 任务ID
|
||
"easing": [ // imgList (array) 图片列表
|
||
{
|
||
"boost": "", // imgUrl (string) 图片URL
|
||
"consortium": "", // resolution (string) 分辨率
|
||
"compressive": 0 // imgType (int) 图片类型,1=图片,2=视频
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"rate": false // hasNext (boolean) 是否有下一页
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 删除任务
|
||
`POST /v1/image/delete-task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `exponential` | `taskId` | int | 任务ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// delete_task — 删除任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "D+BRCorCBCTJCXvZvxxfaPV1kPmVJ5gvIddXMpU2j6Y=", // AES(/v1/image/delete-task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取我的作品
|
||
`GET /v1/image/mycreation` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `session` | `page` | 页码 |
|
||
| `seminar` | `size` | 每页数量 |
|
||
| `liaison` | `taskType` | 任务类型 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// mycreation — 获取我的作品
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "E40btz3+WcbtRdUj9vNDWF4BsfnAmInCBnR9Rsj1L0A=", // AES(/v1/image/mycreation)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, session: 页码, seminar: 每页数量, liaison: 任务类型}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"insert": 0, // total (int) 总数
|
||
"blend": 0, // current (int) 当前页
|
||
"seminar": 0, // size (int) 每页大小
|
||
"reface": false, // optimizeCountSql (boolean) 是否优化count SQL
|
||
"create": [ // records (array) 记录列表
|
||
{
|
||
"boost": "", // imgUrl (string) 图片URL
|
||
"archive": false, // isBlur (boolean) 是否模糊
|
||
"liaison": 0, // taskType (int) 任务类型
|
||
"registration": 0, // imageId (long) 图片ID
|
||
"render": "", // appraise (string) 评价
|
||
"consortium": "", // resolution (string) 分辨率
|
||
"appointment": "", // prompt (string) 提示词
|
||
"compressive": 0 // imgType (int) 图片类型
|
||
}
|
||
],
|
||
"like": 0, // maxLimit (int) 最大限制
|
||
"transmit": false, // searchCount (boolean) 是否搜索count
|
||
"voice": false, // optimizeJoinOfCountSql (boolean) 是否优化join count SQL
|
||
"sync": [], // orders (array) 排序
|
||
"share": "" // countId (string) count ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取预签名上传URL
|
||
`POST /v1/image/upload-presigned-url` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `trending` | `fileName1` | string | 文件名1 |
|
||
| `spotlight` | `fileName2` | string | 文件名2 |
|
||
| `comic` | `contentType` | string | 文件MIME类型 |
|
||
| `pose` | `expectedSize` | int | 预期文件大小 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// upload_presigned_url — 获取预签名上传URL
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "nCZSliCSoOFfs20fuGXBXKqWFuCyb4Tu0M4E3+Eisno=", // AES(/v1/image/upload-presigned-url)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"trending": "", // fileName1 (string) 文件名1
|
||
"spotlight": "", // fileName2 (string) 文件名2
|
||
"comic": "", // contentType (string) 文件MIME类型
|
||
"pose": 0 // expectedSize (int) 预期文件大小
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"harden": "", // uploadUrl1 (string) 上传URL 1
|
||
"upload": 0, // expiresIn (int) 过期时间(秒)
|
||
"tokenize": {}, // requiredHeaders (object) 上传所需请求头
|
||
"complete": "", // uploadUrl2 (string) 上传URL 2
|
||
"transform": "", // filePath2 (string) 文件路径 2
|
||
"generate": "" // filePath1 (string) 文件路径 1
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建文生图任务
|
||
`POST /v1/image/txt2img_create` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `indicator` | `imgCount` | int | 生成图片数量 *(固定值: 1)* |
|
||
| `caption` | `aspectRatio` | string | 宽高比 |
|
||
| `appointment` | `prompt` | string | 文本提示词 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// txt2img_create — 创建文生图任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "s9Av0hxfkwckWglmtkBH6kzL/GfTpCyOh8IIK1sP+kM=", // AES(/v1/image/txt2img_create)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"indicator": 1, // 固定传参
|
||
"caption": "", // aspectRatio (string) 宽高比
|
||
"appointment": "" // prompt (string) 文本提示词
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取文生图标签
|
||
`GET /v1/image/txt2img_tags` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// txt2img_tags — 获取文生图标签
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "s9Av0hxfkwckWglmtkBH6sRuXg7Jsrsui60Mr5e17Ug=", // AES(/v1/image/txt2img_tags)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), stakeholder: 应用包名(必填), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 标签列表
|
||
{
|
||
"capacity": "", // theme (string) 主题
|
||
"enqueue": [ // tags (array) 标签
|
||
{
|
||
"remainder": "", // tag (string) 标签名
|
||
"kurtosis": "" // desc (string) 描述
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取文生图提示词模板
|
||
`POST /v1/image/txt2img_prompts` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `costume` | `data` | array | 标签数据列表 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// txt2img_prompts — 获取文生图提示词模板
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "s9Av0hxfkwckWglmtkBH6ncw1DLwVYIfyFaY3CmgwKE=", // AES(/v1/image/txt2img_prompts)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"costume": [{"custom":"","capacity":"","enqueue":[]}]
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"appointment": "", // prompt (string) 文本提示词
|
||
"enqueue": "" // tags (string) 标签
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建换衣任务
|
||
`POST /v1/image/clothes_swap_ex` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `itinerary` | `templateName` | 模板名称 |
|
||
| `revenue` | `type` | 类型 *(默认值: "1")* |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `dynasty` | `srcImgBase64` | string | 源图片Base64数据 |
|
||
| `logbook` | `srcImgUrl` | string | 源图片URL |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// clothes_swap_ex — 创建换衣任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "lYVJpsqrLK/C9kfDM8JOUf9dnddtGByEgfOOEiL1qds=", // AES(/v1/image/clothes_swap_ex)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, itinerary: 模板名称, revenue: 1}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"dynasty": "", // srcImgBase64 (string) 源图片Base64数据
|
||
"logbook": "" // srcImgUrl (string) 源图片URL
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建自定义换衣任务
|
||
`POST /v1/image/custom_clothes_swap` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `reaction` | `appType` | 应用类型 *(默认值: "3")* |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `lease` | `srcImg2` | string | 源图片2的文件路径 |
|
||
| `crew` | `srcImg1` | string | 源图片1的文件路径 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// custom_clothes_swap — 创建自定义换衣任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "azfqGJW/Ai/FSsDaiuUXCLRNVjSKV/CQ8GaukiC2Rj8=", // AES(/v1/image/custom_clothes_swap)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({symposium: 用户ID, reaction: 3}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"lease": "", // srcImg2 (string) 源图片2的文件路径
|
||
"crew": "" // srcImg1 (string) 源图片1的文件路径
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建换脸任务
|
||
`POST /v1/image/faceswap_task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `circular` | `img` | string | 图片 |
|
||
| `repository` | `headPos` | string | 头像位置 |
|
||
| `delegate` | `headType` | int | 头像类型 *(固定值: 0)* |
|
||
| `terminal` | `headImg` | string | 头像图片 |
|
||
| `consortium` | `resolution` | string | 分辨率 |
|
||
| `entry` | `headFaceIndex` | int | 头像人脸索引 *(固定值: 2)* |
|
||
| `circuit` | `srcFaceIndex` | int | 源图人脸索引 *(固定值: 1)* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// faceswap_task — 创建换脸任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "BviCoJhpWNssLcLWCeCEAMhE8H95H4+jK0rI8UNbvjo=", // AES(/v1/image/faceswap_task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"circular": "", // img (string) 图片
|
||
"repository": "", // headPos (string) 头像位置
|
||
"delegate": 0, // 固定传参
|
||
"terminal": "", // headImg (string) 头像图片
|
||
"consortium": "", // resolution (string) 分辨率
|
||
"entry": 2, // 固定传参
|
||
"circuit": 1 // 固定传参
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建增强换脸任务
|
||
`POST /v1/image/faceswap_ex_task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `lease` | `srcImg2` | string | 源图片2的文件路径 |
|
||
| `crew` | `srcImg1` | string | 源图片1的文件路径 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// faceswap_ex_task — 创建增强换脸任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "BviCoJhpWNssLcLWCeCEAMaW+L60OrCOzGmif07JUM4=", // AES(/v1/image/faceswap_ex_task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"lease": "", // srcImg2 (string) 源图片2的文件路径
|
||
"crew": "" // srcImg1 (string) 源图片1的文件路径
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 检测图片人脸
|
||
`POST /v1/image/get_image_faces` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `dynasty` | `srcImgBase64` | string | 源图片Base64数据 |
|
||
| `logbook` | `srcImgUrl` | string | 源图片URL |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// get_image_faces — 检测图片人脸
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "PHjL2S4W3A5fFtZANKbxUWqrI+hZ+Q/3+rv14h5Rw04=", // AES(/v1/image/get_image_faces)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"dynasty": "", // srcImgBase64 (string) 源图片Base64数据
|
||
"logbook": "" // srcImgUrl (string) 源图片URL
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"preview": 0, // duration (int) 时长
|
||
"postprocess": "", // videoUrl (string) 视频URL
|
||
"discover": [ // faceInfos (array) 人脸信息列表
|
||
{
|
||
"border": "", // face (string) 人脸图片
|
||
"shadow": 0, // face_index (int) 人脸索引
|
||
"speed": "", // gender (string) 性别
|
||
"binormal": 0, // y1 (int) 左上角Y坐标
|
||
"angular": 0, // x1 (int) 左上角X坐标
|
||
"manifold": 0, // y2 (int) 右下角Y坐标
|
||
"weight": 0, // index (int) 索引
|
||
"enthalpy": 0, // x2 (int) 右下角X坐标
|
||
"intensity": 0, // age (int) 年龄
|
||
"motion": 0 // frame_index (int) 帧索引
|
||
}
|
||
],
|
||
"colorize": 0 // needCredits (int) 所需积分
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 检测视频人脸
|
||
`POST /v1/image/get_video_faces` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `preview` | `duration` | 时长 |
|
||
| `commendation` | `srcVideo` | 源视频 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// get_video_faces — 检测视频人脸
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "GMq795fqAjR8vj/Z3EiSJJy1LdYw6669KnyXp4Gtz2I=", // AES(/v1/image/get_video_faces)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID, preview: 时长, commendation: 源视频}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"preview": 0, // duration (int) 时长
|
||
"postprocess": "", // videoUrl (string) 视频URL
|
||
"discover": [ // faceInfos (array) 人脸信息列表
|
||
{
|
||
"border": "", // face (string) 人脸图片
|
||
"shadow": 0, // face_index (int) 人脸索引
|
||
"speed": "", // gender (string) 性别
|
||
"binormal": 0, // y1 (int) 左上角Y坐标
|
||
"angular": 0, // x1 (int) 左上角X坐标
|
||
"manifold": 0, // y2 (int) 右下角Y坐标
|
||
"weight": 0, // index (int) 索引
|
||
"enthalpy": 0, // x2 (int) 右下角X坐标
|
||
"intensity": 0, // age (int) 年龄
|
||
"motion": 0 // frame_index (int) 帧索引
|
||
}
|
||
],
|
||
"colorize": 0 // needCredits (int) 所需积分
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建黏土风格任务
|
||
`POST /v1/image/clay_stylization` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `team` | `needopt` | 是否优化,通过配置控制 *(默认值: "false")* |
|
||
| `satire` | `ch` | 渠道号 |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `dynasty` | `srcImgBase64` | string | 源图片Base64数据 |
|
||
| `logbook` | `srcImgUrl` | string | 源图片URL |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// clay_stylization — 创建黏土风格任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "S+6xKs5lzzuc89oqJjfg0b41udJ6b7wIb6LES8S1Y4k=", // AES(/v1/image/clay_stylization)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, team: false, satire: 渠道号}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"dynasty": "", // srcImgBase64 (string) 源图片Base64数据
|
||
"logbook": "" // srcImgUrl (string) 源图片URL
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建视频换脸任务
|
||
`POST /v1/image/video_facewap_task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `periodical` | `videoFrameIndex` | int | 视频帧索引 *(固定值: 10)* |
|
||
| `repository` | `headPos` | string | 头像位置 |
|
||
| `postprocess` | `videoUrl` | string | 视频URL |
|
||
| `delegate` | `headType` | int | 头像类型 *(固定值: 2)* |
|
||
| `terminal` | `headImg` | string | 头像图片 |
|
||
| `itinerary` | `templateName` | string | 模板名称 |
|
||
| `escrow` | `videoFaceIndex` | int | 视频人脸索引 *(固定值: 1)* |
|
||
| `revenue` | `type` | int | 类型 *(固定值: 0)* |
|
||
| `entry` | `headFaceIndex` | int | 头像人脸索引 *(固定值: 3)* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// video_facewap_task — 创建视频换脸任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "sJoF2paOhB6BnHJXvc5/fgWx3/JZ4Xk9hHADB/UXTlI=", // AES(/v1/image/video_facewap_task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"periodical": 10, // 固定传参
|
||
"repository": "", // headPos (string) 头像位置
|
||
"postprocess": "", // videoUrl (string) 视频URL
|
||
"delegate": 2, // 固定传参
|
||
"terminal": "", // headImg (string) 头像图片
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"escrow": 1, // 固定传参
|
||
"revenue": 0, // 固定传参
|
||
"entry": 3 // 固定传参
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 图片动作风格化gif
|
||
`POST /v1/image/offtop_video` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `team` | `needopt` | 是否优化,通过配置控制 *(默认值: "false")* |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `genealogy` | `videoSize` | string | 视频尺寸 *(固定值: 480p)* |
|
||
| `permission` | `srcImg` | string | 源图片 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// offtop_video — 图片动作风格化gif
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "BVsQc9sTlzSoCPtj0i2k03fjIjHQYxyldloNU6YOfBw=", // AES(/v1/image/offtop_video)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, team: false}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"genealogy": "480p", // 固定传参
|
||
"permission": "" // srcImg (string) 源图片
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 创建图转视频姿态任务
|
||
`POST /v1/image/img2video_pose_task` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `itinerary` | `templateName` | 模板名称 |
|
||
| `lineage` | `fps` | 帧率 *(默认值: "25")* |
|
||
| `team` | `needopt` | 是否优化,通过配置控制 *(默认值: "false")* |
|
||
| `preview` | `duration` | 时长 *(默认值: "12")* |
|
||
| `dynasty` | `srcImgBase64` | 源图片Base64数据 |
|
||
| `commendation` | `srcVideo` | 源视频 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// img2video_pose_task — 创建图转视频姿态任务
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "hlyoby7+Q/bDo1oWHbaiQbddj5Bdjy4BY/RYogP5hUU=", // AES(/v1/image/img2video_pose_task)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, itinerary: 模板名称, lineage: 25, team: false, preview: 12, dynasty: 源图片Base64数据, commendation: 源视频}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"bitrate": 0, // state (int) 任务状态:1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
|
||
"exponential": 0 // taskId (int) 任务ID
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取图转视频任务列表
|
||
`GET /v1/image/img2video/tasks` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `scale` | `categoryId` | 分类ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// tasks — 获取图转视频任务列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "hlyoby7+Q/bDo1oWHbaiQTDv+HSLSaD0RB91euOsZBc=", // AES(/v1/image/img2video/tasks)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({scale: 分类ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 任务列表
|
||
{
|
||
"anchor": { // previewVideo (object) 预览视频
|
||
"durability": "", // lowUrl (string) 低分辨率视频URL
|
||
"altitude": "", // url (string) 视频URL
|
||
"precision": "" // hlsUrl (string) HLS流URL
|
||
},
|
||
"factor": { // resolution720p (object) 720p分辨率配置
|
||
"preview": 0, // duration (int) 时长(秒)
|
||
"padding": 0, // credits (int) 所需积分
|
||
"delay": "" // icon (string) 图标URL
|
||
},
|
||
"bounce": 0, // imageCount (int) 图片数量
|
||
"profile": "", // ext (string) 扩展参数
|
||
"liaison": "", // taskType (string) 任务类型
|
||
"span": { // resolution480p (object) 480p分辨率配置
|
||
"preview": 0, // duration (int) 时长(秒)
|
||
"padding": 0, // credits (int) 所需积分
|
||
"delay": "" // icon (string) 图标URL
|
||
},
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"team": false, // needopt (boolean) 是否优化,通过配置控制
|
||
"density": { // label (object) 标签
|
||
"delay": "" // icon (string) 标签图标URL
|
||
},
|
||
"interval": "", // title (string) 标题
|
||
"slice": { // previewImage (object) 预览图
|
||
"altitude": "" // url (string) 图片URL
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 模板 & 分类
|
||
> 素材与配置查询,部分无需登录态
|
||
### 获取推荐提示词
|
||
`GET /v1/image/prompt/recomends` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// recomends — 获取推荐提示词
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "fb/ODSRlLpg+pTA3+sgGriaMVnzyC6Tc1VzRUrqU9oE=", // AES(/v1/image/prompt/recomends)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 推荐提示词列表
|
||
{
|
||
"remainder": "", // tag (string) 标签
|
||
"appointment": "" // prompt (string) 文本提示词
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取分类列表
|
||
`GET /v1/image/category-list` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `dialogue` | `templateTypes` | 模板类型列表 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// category_list — 获取分类列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "W2xHjqbkV0pcl7+9dWSBagfbvQ/VBnwaqyDkVol1Z9M=", // AES(/v1/image/category-list)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({stakeholder: 应用包名(必填), dialogue: 模板类型列表}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 分类列表
|
||
{
|
||
"ringing": "", // templateType (string) 模板类型
|
||
"rotation": "", // categoryName (string) 分类名称
|
||
"scale": 0 // categoryId (int) 分类ID
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取换衣模板
|
||
`GET /v1/image/clothes_template` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `scale` | `categoryId` | 分类ID *(默认值: "1")* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// clothes_template — 获取换衣模板
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "lYVJpsqrLK/C9kfDM8JOUZbh89U6hhdQa7ikBPG3MaU=", // AES(/v1/image/clothes_template)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID, scale: 1}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 换衣模板列表
|
||
{
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"padding": 0, // credits (int) 积分
|
||
"frequency": "", // avatar (string) 头像
|
||
"revenue": 0, // type (int) 类型
|
||
"resistance": "", // user (string) 用户
|
||
"refractive": "" // templateUrl (string) 模板URL
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取图片模板
|
||
`GET /v1/image/image_template` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `scale` | `categoryId` | 分类ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// image_template — 获取图片模板
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "Dx60zWIjtpgVTVqx0xaTScQQxW/GKc+Be40iSza0gZU=", // AES(/v1/image/image_template)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID, scale: 分类ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 图片模板列表
|
||
{
|
||
"repository": "", // headPos (string) 头像位置
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"radius": 0, // faceIndex (int) 人脸索引
|
||
"padding": 0, // credits (int) 积分
|
||
"frequency": "", // avatar (string) 头像
|
||
"resistance": "", // user (string) 用户
|
||
"correctness": "", // resulotion (string) 分辨率
|
||
"refractive": "" // templateUrl (string) 模板URL
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取推荐头像
|
||
`GET /v1/image/recommendhead` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// recommendhead — 获取推荐头像
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "M0P94sscEB5AGtUBFtHnNoAUPd+5uTKtyY4azNUs8m4=", // AES(/v1/image/recommendhead)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"load": [ // sys (array) 系统推荐列表
|
||
{
|
||
"circular": "", // img (string) 图片
|
||
"repository": "", // headPos (string) 头部位置
|
||
"radius": 0, // faceIndex (int) 人脸索引
|
||
"altitude": "" // url (string) URL
|
||
}
|
||
],
|
||
"fabricate": [ // recent (array) 最近使用列表
|
||
{
|
||
"circular": "", // img (string) 图片
|
||
"repository": "", // headPos (string) 头部位置
|
||
"radius": 0, // faceIndex (int) 人脸索引
|
||
"altitude": "" // url (string) URL
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取视频换脸模板
|
||
`GET /v1/image/faceswap_video_template` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `scale` | `categoryId` | 分类ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// faceswap_video_template — 获取视频换脸模板
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "BviCoJhpWNssLcLWCeCEAO3a3lQCf60++HfsC/vedD9V0kfX2EYyCqybFZnWFqwP", // AES(/v1/image/faceswap_video_template)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID, scale: 分类ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 视频换脸模板列表
|
||
{
|
||
"pattern": 0, // frameIndex (int) 帧索引
|
||
"hue": 0, // videoDuration (int) 视频时长
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"padding": 0, // credits (int) 积分
|
||
"radius": 0, // faceIndex (int) 人脸索引
|
||
"quantized": "", // templateFaceUrl (string) 模板人脸URL
|
||
"frequency": "", // avatar (string) 头像
|
||
"duration": "", // animate (string) 动画
|
||
"resistance": "", // user (string) 用户
|
||
"refractive": "" // templateUrl (string) 模板URL
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取图转视频姿态模板
|
||
`GET /v1/image/img2Video_pose_template` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `satire` | `ch` | 渠道号 |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `scale` | `categoryId` | 分类ID *(默认值: "1")* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// img2Video_pose_template — 获取图转视频姿态模板
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "8/gQGltIUvJ5gX2DJkOYRK5F5tzK0SzHi0QfCxLBYvJV0kfX2EYyCqybFZnWFqwP", // AES(/v1/image/img2Video_pose_template)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), satire: 渠道号, symposium: 用户ID, scale: 1}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 图转视频姿态模板列表
|
||
{
|
||
"preview": 0, // duration (int) 时长
|
||
"convergence": "", // templateTfUrl (string) 模板TF URL
|
||
"capitalization": 0, // templateTfCredits (int) 模板TF积分
|
||
"tension": "", // templateFifUrl (string) 模板FIF URL
|
||
"itinerary": "", // templateName (string) 模板名称
|
||
"padding": {}, // credits (object) 积分配置
|
||
"demodulation": 0, // templateTfDuration (int) 模板TF时长
|
||
"usability": 0, // templateFifDuration (int) 模板FIF时长
|
||
"duration": "", // animate (string) 动画
|
||
"compressed": 0, // templateFifCredits (int) 模板FIF积分
|
||
"refractive": "" // templateUrl (string) 模板URL
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取图转视频分类
|
||
`GET /v1/image/img2video/categories` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// categories — 获取图转视频分类
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "hlyoby7+Q/bDo1oWHbaiQbslnntFuCttp9esQfOj2ak=", // AES(/v1/image/img2video/categories)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [ // data (array) 分类列表
|
||
{
|
||
"alignment": "", // name (string) 分类名称
|
||
"delay": "", // icon (string) 图标
|
||
"timing": 0 // id (int) 分类ID
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 支付
|
||
> 需要登录态
|
||
### 创建支付订单
|
||
`POST /v1/payment/createPayment` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `sticker` | `app` | string | 应用标识(必填) |
|
||
| `council` | `lastName` | string | 姓 |
|
||
| `overlay` | `country` | string | 国家代码 |
|
||
| `outfit` | `expireMonth` | string | 过期月 |
|
||
| `avatar` | `accountName` | string | 账户名 |
|
||
| `carnival` | `userInfoType` | string | 用户信息类型 |
|
||
| `punchline` | `automaticRenewal` | boolean | 是否自动续费 |
|
||
| `skit` | `channel` | string | 渠道 |
|
||
| `persona` | `cvcCode` | string | CVC安全码 |
|
||
| `reel` | `channelType` | string | 渠道类型 |
|
||
| `symposium` | `userId` | string | 用户ID |
|
||
| `character` | `activityId` | string | 活动模板ID |
|
||
| `appendix` | `firstName` | string | 名 |
|
||
| `bundle` | `subPaymentMethod` | string | 子支付方式 |
|
||
| `sponsor` | `phone` | string | 电话 |
|
||
| `microservice` | `tgOrderId` | string | Telegram订单ID |
|
||
| `chart` | `tgId` | string | Telegram ID |
|
||
| `alignment` | `name` | string | 姓名 |
|
||
| `ledger` | `paymentMethod` | string | 支付方式,如 GOOGLEPAY/APPLEPAY |
|
||
| `trait` | `expireYear` | string | 过期年 |
|
||
| `spoof` | `card` | string | 卡号 |
|
||
| `wallet` | `status` | string | 状态 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// createPayment — 创建支付订单
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "XcNR8qG7sfb38dR3IEhYLYmALeBOULRvjJQiuVgqSxE=", // AES(/v1/payment/createPayment)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"sticker": "", // app (string) 应用标识(必填)
|
||
"council": "", // lastName (string) 姓
|
||
"overlay": "", // country (string) 国家代码
|
||
"outfit": "", // expireMonth (string) 过期月
|
||
"avatar": "", // accountName (string) 账户名
|
||
"carnival": "", // userInfoType (string) 用户信息类型
|
||
"punchline": false, // automaticRenewal (boolean) 是否自动续费
|
||
"skit": "", // channel (string) 渠道
|
||
"persona": "", // cvcCode (string) CVC安全码
|
||
"reel": "", // channelType (string) 渠道类型
|
||
"symposium": "", // userId (string) 用户ID
|
||
"character": "", // activityId (string) 活动模板ID
|
||
"appendix": "", // firstName (string) 名
|
||
"bundle": "", // subPaymentMethod (string) 子支付方式
|
||
"sponsor": "", // phone (string) 电话
|
||
"microservice": "", // tgOrderId (string) Telegram订单ID
|
||
"chart": "", // tgId (string) Telegram ID
|
||
"alignment": "", // name (string) 姓名
|
||
"ledger": "", // paymentMethod (string) 支付方式,如 GOOGLEPAY/APPLEPAY
|
||
"trait": "", // expireYear (string) 过期年
|
||
"spoof": "", // card (string) 卡号
|
||
"wallet": "" // status (string) 状态
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"explore": {}, // features (object) 功能特性
|
||
"introspect": [ // payTypeList (array) 支付类型列表
|
||
{
|
||
"constant": "", // showName (string) 展示名称
|
||
"alignment": "", // name (string) 支付方式
|
||
"delay": "", // icon (string) 展示图标
|
||
"segment": "", // paylink (string) 支付链接
|
||
"timing": 0, // id (long) ID
|
||
"overtone": 0 // sort (int) 排序
|
||
}
|
||
],
|
||
"duplicate": "", // issuerUrl (string) 发卡方URL
|
||
"merge": "", // cryptoInvoiceUrl (string) 加密发票URL
|
||
"objectify": "", // payUrl (string) 支付URL
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"submit": "", // payStatus (string) 支付状态枚举名:INIT | SUCCESS | PROCESSING | FAILED | CANCELED
|
||
"morph": 0 // openType (int) URL打开方式,0=内部/1=外部浏览器
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取Google商品列表
|
||
`GET /v1/payment/getGooglePayActivities` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `filter` | `client` | 客户端 |
|
||
| `overlay` | `country` | 国家代码 |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// getGooglePayActivities — 获取Google商品列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "RuncHT0xkF47+AU0wnXKWH+aw8808UOS9iEomNrpe2LF41+d749qAu2t016y1xBJ", // AES(/v1/payment/getGooglePayActivities)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), filter: 客户端, overlay: 国家代码, stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"cap": [ // subscriptionActivitys (array) 订阅商品列表
|
||
{
|
||
"spacing": "", // note (string) 备注
|
||
"scene": "", // code (string) 产品代码
|
||
"contrast": 0, // bonus (int) 赠送积分
|
||
"sketch": "", // actualAmount (string) 实际金额
|
||
"margin": "", // discountOff (string) 折扣
|
||
"interval": "", // title (string) 标题
|
||
"brochure": "", // originAmount (string) 原价
|
||
"character": "", // activityId (string) 活动ID
|
||
"unicast": "", // subscriptionPeriod (string) 订阅周期
|
||
"padding": 0, // credits (int) 积分数
|
||
"filter": "", // client (string) 客户端
|
||
"backdrop": 0, // days (int) 天数
|
||
"mascot": "", // currency (string) 货币
|
||
"pivot": 0 // productType (int) 产品类型
|
||
}
|
||
],
|
||
"animate": [ // activitys (array) 商品列表
|
||
{
|
||
"spacing": "", // note (string) 备注
|
||
"scene": "", // code (string) 产品代码
|
||
"contrast": 0, // bonus (int) 赠送积分
|
||
"sketch": "", // actualAmount (string) 实际金额
|
||
"margin": "", // discountOff (string) 折扣
|
||
"interval": "", // title (string) 标题
|
||
"brochure": "", // originAmount (string) 原价
|
||
"character": "", // activityId (string) 活动ID
|
||
"unicast": "", // subscriptionPeriod (string) 订阅周期
|
||
"padding": 0, // credits (int) 积分数
|
||
"filter": "", // client (string) 客户端
|
||
"backdrop": 0, // days (int) 天数
|
||
"mascot": "", // currency (string) 货币
|
||
"pivot": 0 // productType (int) 产品类型
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取Apple商品列表
|
||
`GET /v1/payment/getApplePayActivities` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `filter` | `client` | 客户端 |
|
||
| `overlay` | `country` | 国家代码 |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// getApplePayActivities — 获取Apple商品列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "U77eVRQKlTGeMSK9VhvSxf6S5/FjnRkN65JWx/dbkP41indkNaavFQ9teSfAN69C", // AES(/v1/payment/getApplePayActivities)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), filter: 客户端, overlay: 国家代码, stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"cap": [ // subscriptionActivitys (array) 订阅商品列表
|
||
{
|
||
"spacing": "", // note (string) 备注
|
||
"scene": "", // code (string) 产品代码
|
||
"contrast": 0, // bonus (int) 赠送积分
|
||
"sketch": "", // actualAmount (string) 实际金额
|
||
"margin": "", // discountOff (string) 折扣
|
||
"interval": "", // title (string) 标题
|
||
"brochure": "", // originAmount (string) 原价
|
||
"character": "", // activityId (string) 活动ID
|
||
"unicast": "", // subscriptionPeriod (string) 订阅周期
|
||
"padding": 0, // credits (int) 积分数
|
||
"filter": "", // client (string) 客户端
|
||
"backdrop": 0, // days (int) 天数
|
||
"mascot": "", // currency (string) 货币
|
||
"pivot": 0 // productType (int) 产品类型
|
||
}
|
||
],
|
||
"animate": [ // activitys (array) 商品列表
|
||
{
|
||
"spacing": "", // note (string) 备注
|
||
"scene": "", // code (string) 产品代码
|
||
"contrast": 0, // bonus (int) 赠送积分
|
||
"sketch": "", // actualAmount (string) 实际金额
|
||
"margin": "", // discountOff (string) 折扣
|
||
"interval": "", // title (string) 标题
|
||
"brochure": "", // originAmount (string) 原价
|
||
"character": "", // activityId (string) 活动ID
|
||
"unicast": "", // subscriptionPeriod (string) 订阅周期
|
||
"padding": 0, // credits (int) 积分数
|
||
"filter": "", // client (string) 客户端
|
||
"backdrop": 0, // days (int) 天数
|
||
"mascot": "", // currency (string) 货币
|
||
"pivot": 0 // productType (int) 产品类型
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Google支付结果回调
|
||
`POST /v1/payment/googlepay` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `selection` | `signature` | string | 签名 |
|
||
| `gauge` | `purchaseData` | string | Google支付凭据JSON |
|
||
| `timing` | `id` | string | 支付ID/订单ID(逻辑名 `id`;app_client 直连接口常写作 `federation`) |
|
||
| `symposium` | `userId` | string | 用户ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// googlepay — Google支付结果回调
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "5kbSUwSgEttk3PI1TF7hHO3sz7F7T7MtRIC3ycT/lGs=", // AES(/v1/payment/googlepay)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"selection": "", // signature (string) 签名
|
||
"gauge": "", // purchaseData (string) Google支付凭据JSON
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"symposium": "" // userId (string) 用户ID
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"character": "", // activityId (string) 活动模板ID
|
||
"reformat": "", // redirectUrl (string) 重定向URL
|
||
"remix": false, // addCredits (boolean) 是否添加积分
|
||
"bubble": "", // count (string) 数量
|
||
"mascot": "", // currency (string) 货币
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"wallet": "" // status (string) 支付状态枚举名:INIT | SUCCESS | PROCESSING | FAILED | CANCELED
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Apple支付结果回调
|
||
`POST /v1/payment/applepay` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `funnel` | `receipt` | string | Apple支付凭据 |
|
||
| `timing` | `id` | string | 支付ID/订单ID |
|
||
| `symposium` | `userId` | string | 用户ID |
|
||
| `installation` | `transactionId` | string | 交易ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// applepay — Apple支付结果回调
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "bFdphJDLl0MeY5lKNDqAg2HZ6ktg9Ki9gw1JEAa3rYE=", // AES(/v1/payment/applepay)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), stakeholder: 应用包名(必填)}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"funnel": "", // receipt (string) Apple支付凭据
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"symposium": "", // userId (string) 用户ID
|
||
"installation": "" // transactionId (string) 交易ID
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"character": "", // activityId (string) 活动模板ID
|
||
"reformat": "", // redirectUrl (string) 重定向URL
|
||
"remix": false, // addCredits (boolean) 是否添加积分
|
||
"bubble": "", // count (string) 数量
|
||
"mascot": "", // currency (string) 货币
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"wallet": "" // status (string) 支付状态枚举名:INIT | SUCCESS | PROCESSING | FAILED | CANCELED
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取支付订单列表
|
||
`GET /v1/payment/getPaymentDetailList` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `ledger` | `paymentMethod` | 支付方式,如 GOOGLEPAY/APPLEPAY |
|
||
| `quest` | `filterStatus` | 筛选状态 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// getPaymentDetailList — 获取支付订单列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "6LEB6Zt4O2YlVv23bm7AysudNQ56fkFcCRdVesK8LW96TdvFlR/N5sIeNKMIFAq1", // AES(/v1/payment/getPaymentDetailList)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), symposium: 用户ID, ledger: 支付方式,如 GOOGLEPAY/APPLEPAY, quest: 筛选状态}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": [] // data (array) 订单列表,每项含id/status/currency/count/activityId/addCredits/redirectUrl
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取支付方式列表
|
||
`POST /v1/payment/get-payment-methods` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `character` | `activityId` | int | 活动模板ID |
|
||
| `overlay` | `country` | string | 国家代码 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// get_payment_methods — 获取支付方式列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "WLtHvajEN6qo5St5SLE7CCAO+YnNjHqWcWZcw9ypwDA=", // AES(/v1/payment/get-payment-methods)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"character": 0, // activityId (int) 活动模板ID
|
||
"overlay": "" // country (string) 国家代码
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"invoke": [ // paymentMethods (array) 支付方式列表
|
||
{
|
||
"bundle": "", // subPaymentMethod (string) 子支付方式
|
||
"saturation": 0, // bonusCredits (int) 赠送积分
|
||
"alignment": "", // name (string) 名称
|
||
"delay": "", // icon (string) 图标
|
||
"breakpoint": false, // recentlyUsed (boolean) 是否最近使用
|
||
"ledger": "", // paymentMethod (string) 支付方式
|
||
"threshold": false, // recommend (boolean) 是否推荐
|
||
"sharpness": 0.0, // bonusRatio (double) 赠送比例
|
||
"adaptive": false // selected (boolean) 是否默认选中
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取订单详情
|
||
`GET /v1/payment/getOrderDetail` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `timing` | `id` | 支付ID/订单ID |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// getOrderDetail — 获取订单详情
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "xPOjtP0Xwypi/obXvw7mUPa0L/aqdNbZewMS2kn486c=", // AES(/v1/payment/getOrderDetail)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({symposium: 用户ID, timing: 支付ID/订单ID}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"character": "", // activityId (string) 活动模板ID
|
||
"reformat": "", // redirectUrl (string) 重定向URL
|
||
"remix": false, // addCredits (boolean) 是否添加积分
|
||
"bubble": "", // count (string) 数量
|
||
"mascot": "", // currency (string) 货币
|
||
"timing": "", // id (string) 支付ID/订单ID
|
||
"wallet": "" // status (string) 支付状态枚举名:INIT | SUCCESS | PROCESSING | FAILED | CANCELED
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 反馈
|
||
> 需要登录态
|
||
### 获取反馈上传URL
|
||
`POST /v1/feedback/upload-presigned-url` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `feed` | `fileName` | string | 文件名 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// upload_presigned_url — 获取反馈上传URL
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "KtXIzIaOY6tKydUTTMoj9jww+otaA8rrRLFeOjwhyCAfF4F99kkeMOQm1Fv4IMCn", // AES(/v1/feedback/upload-presigned-url)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"feed": "" // fileName (string) 文件名
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"update": "", // uploadUrl (string) 上传URL
|
||
"search": "" // filePath (string) 文件路径
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 提交反馈
|
||
`POST /v1/feedback/submit` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `texture` | `fileUrls` | array | 文件URL列表 |
|
||
| `comic` | `contentType` | string | 内容类型 |
|
||
| `gradient` | `content` | string | 内容 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// submit — 提交反馈
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "5PsAKnZCdt3ZPhtFOyCMLE7h+3SY4w/D38GTwhYs3s4=", // AES(/v1/feedback/submit)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"texture": [],
|
||
"comic": "", // contentType (string) 内容类型
|
||
"gradient": "" // content (string) 内容
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 获取反馈列表
|
||
`GET /v1/feedback/list` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `session` | `page` | 页码 *(默认值: "1")* |
|
||
| `seminar` | `size` | 每页条数 *(默认值: "10")* |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `空 b 参数` 字段)
|
||
|
||
```
|
||
// list — 获取反馈列表
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "WlI3MgBAyQnMNF3RPhldni1iZGw7c0NGgNIK6+WGKJA=", // AES(/v1/feedback/list)
|
||
// "avatar_mode": "7J8V5jVfCHKnEigVbbS08w==", // AES(GET)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({session: 1, seminar: 10}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// 注意: 原始接口为 GET,走代理后统一 POST,仍需传 V2 请求体(业务字段为空)
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"insert": 0, // total (int) 总条数
|
||
"blend": 0, // current (int) 当前页
|
||
"seminar": 0, // size (int) 每页大小
|
||
"create": [ // records (array) 反馈记录列表
|
||
{
|
||
"midpoint": false, // read (boolean) 是否已读
|
||
"grain": 0, // feedbackId (long) 反馈ID
|
||
"texture": [], // fileUrls (array) 附件URL列表
|
||
"calendar": 0, // replyStatus (int) 回复状态
|
||
"amplitude": { // reply (object) 回复内容body
|
||
"gradient": "" // content (string) 回复内容
|
||
},
|
||
"layout": "", // createTimeText (string) 创建时间
|
||
"gradient": "" // content (string) 反馈内容
|
||
}
|
||
],
|
||
"rate": false // hasNext (boolean) 是否有下一页
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 标记反馈已读
|
||
`POST /v1/feedback/read` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**请求体字段**
|
||
|
||
| 字段(V2名) | 原始字段 | 类型 | 说明 |
|
||
|------------|---------|------|------|
|
||
| `showcase` | `feedbackIds` | array | 反馈ID列表 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// read — 标记反馈已读
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "+hlYqg+TZabG2vOulWO6wFoogH66IgEKKds90tKS+G8=", // AES(/v1/feedback/read)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES(无) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
"showcase": []
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
---
|
||
|
||
## 日志
|
||
> 埋点上报
|
||
### App事件打点上报
|
||
`POST /v1/log/appevent` | 鉴权:需要
|
||
|
||
**请求头**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `stakeholder` | `pkg` | 应用包名(必填) |
|
||
| `comedy` | `User_token` | 用户登录token |
|
||
|
||
**查询参数**
|
||
|
||
| 字段(V2名) | 原始字段 | 说明 |
|
||
|------------|---------|------|
|
||
| `sticker` | `app` | 应用标识(必填,iOS: HIOS / Android: HAndroid) |
|
||
| `gesture` | `event` | 事件名称(必填) |
|
||
| `symposium` | `userId` | 用户ID |
|
||
| `satire` | `ch` | 渠道 |
|
||
|
||
**V2 完整请求体**(填入业务值后 AES 加密,填入代理请求 `b 参数` 字段)
|
||
|
||
```
|
||
// appevent — App事件打点上报
|
||
// POST {baseUrl}/workshop/lounge/hub/playground
|
||
//
|
||
// 代理请求:
|
||
// {
|
||
// "humor_level": "FunyMeeAI", // appId 明文
|
||
// "comedy_style": "UiSfI3LsYc0fmUf/x7V4oHpN28WVH83mwh40owgUCrU=", // AES(/v1/log/appevent)
|
||
// "avatar_mode": "Mhb3yNV4SnrfCK8EJAq9VQ==", // AES(POST)
|
||
// "filter_type": "<AES({stakeholder: 应用包名(必填), comedy: 用户登录token}) → Base64>", // AES(映射后的Header字段名构造JSON) → Base64
|
||
// "scene_id": "<AES({sticker: 应用标识(必填,iOS: HIOS / Android: HAndroid), gesture: 事件名称(必填), symposium: 用户ID, satire: 渠道}) → Base64>", // AES(映射后的URL参数字段名构造JSON) → Base64
|
||
// "clip_duration": "<AES(V2请求体JSON)>", // AES(V2包装后的业务数据) → Base64
|
||
// "sample_rate": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "watermark_id": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "geo_radius": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// "accuracy_m": "<随机4-8位字母数字,AES加密→Base64>" // 噪音
|
||
// }
|
||
//
|
||
// V2 请求体 — 填入业务值后 AES 加密,填入 clip_duration
|
||
{
|
||
"shell": 2,
|
||
"capsule": {
|
||
"envelope": {
|
||
"container": {
|
||
}
|
||
}
|
||
},
|
||
"shimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"glimmer": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"flicker": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"sparkle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"rustle": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"murmur": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"whisper": "<随机4-8位字母数字,AES加密→Base64>",
|
||
"echo": "<随机4-8位字母数字,AES加密→Base64>"
|
||
}
|
||
|
||
```
|
||
|
||
**响应体**(解密后)
|
||
|
||
```json
|
||
{
|
||
"sprint": "", // msg (string) 消息
|
||
"scene": 0, // code (int) 状态码,0=成功
|
||
"costume": { // data
|
||
"vote": "", // hint (string)
|
||
"revenue": "" // type (string)
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
|
||
|
||
---
|
||
|
||
## 字段映射全表
|
||
|
||
| 原始字段 | V2字段 |
|
||
|----------|--------|
|
||
| User_token | comedy |
|
||
| accountId | meme |
|
||
| accountName | avatar |
|
||
| activityId | character |
|
||
| activitys | animate |
|
||
| actualAmount | sketch |
|
||
| addCredits | remix |
|
||
| adsTokenId | humor |
|
||
| age | intensity |
|
||
| amount | cartoon |
|
||
| animate | duration |
|
||
| app | sticker |
|
||
| appFbConfig | stylize |
|
||
| appType | reaction |
|
||
| appraise | render |
|
||
| approveState | clip |
|
||
| aspectRatio | caption |
|
||
| automaticRenewal | punchline |
|
||
| avatar | frequency |
|
||
| baseCredits | opacity |
|
||
| baseUrl | joke |
|
||
| begTime | gag |
|
||
| bonus | contrast |
|
||
| bonusCredits | saturation |
|
||
| bonusRatio | sharpness |
|
||
| businessId | angle |
|
||
| businessType | offset |
|
||
| campaignInfo | parody |
|
||
| card | spoof |
|
||
| categoryId | scale |
|
||
| categoryName | rotation |
|
||
| ch | satire |
|
||
| channel | skit |
|
||
| channelType | reel |
|
||
| client | filter |
|
||
| clientId | template |
|
||
| code | scene |
|
||
| coder | panel |
|
||
| config | edit |
|
||
| content | gradient |
|
||
| contentType | comic |
|
||
| count | bubble |
|
||
| countId | share |
|
||
| country | overlay |
|
||
| countryCode | publish |
|
||
| creatTime | palette |
|
||
| createTime | typography |
|
||
| createTimeText | layout |
|
||
| credit | export |
|
||
| creditPromotion | apply |
|
||
| credits | padding |
|
||
| creditsRecordUrl | swap |
|
||
| cryptoInvoiceUrl | merge |
|
||
| currency | mascot |
|
||
| current | blend |
|
||
| cvcCode | persona |
|
||
| data | costume |
|
||
| days | backdrop |
|
||
| department | resize |
|
||
| desc | kurtosis |
|
||
| description | crop |
|
||
| devId | frame |
|
||
| deviceId | stage |
|
||
| discountOff | margin |
|
||
| domain | theme |
|
||
| domains | adjust |
|
||
| dt | mood |
|
||
| duration | preview |
|
||
| email | draft |
|
||
| enable_music | vibe |
|
||
| enabled | customize |
|
||
| endTime | expression |
|
||
| event | gesture |
|
||
| expectedSize | pose |
|
||
| expireMonth | outfit |
|
||
| expireYear | trait |
|
||
| expiresIn | upload |
|
||
| ext | profile |
|
||
| extConfig | download |
|
||
| extJson | gallery |
|
||
| face | border |
|
||
| faceIndex | radius |
|
||
| faceInfos | discover |
|
||
| face_index | shadow |
|
||
| fbClientId | glow |
|
||
| fbClientToken | blur |
|
||
| feature | browse |
|
||
| features | explore |
|
||
| feedbackId | grain |
|
||
| feedbackIds | showcase |
|
||
| fileName | feed |
|
||
| fileName1 | trending |
|
||
| fileName2 | spotlight |
|
||
| filePath | search |
|
||
| filePath1 | generate |
|
||
| filePath2 | transform |
|
||
| fileUrls | texture |
|
||
| filterCountry | collection |
|
||
| filterDomain | badge |
|
||
| filterOwnerId | reward |
|
||
| filterStatus | quest |
|
||
| filterTaskType | caucus |
|
||
| filterVip | allowance |
|
||
| firstName | appendix |
|
||
| firstRegister | enhance |
|
||
| forcePayCenter | convert |
|
||
| fps | lineage |
|
||
| frameIndex | pattern |
|
||
| frame_index | motion |
|
||
| freeBlurTimes | tag |
|
||
| freeTimes | label |
|
||
| gender | speed |
|
||
| googleClientId | roster |
|
||
| h5UrlConfig | rank |
|
||
| hasNext | rate |
|
||
| hash | medallion |
|
||
| hashIsZero | member |
|
||
| headFaceIndex | entry |
|
||
| headImg | terminal |
|
||
| headPos | repository |
|
||
| headType | delegate |
|
||
| hint | vote |
|
||
| hlsUrl | precision |
|
||
| host | nominee |
|
||
| icon | delay |
|
||
| id | timing |
|
||
| imageCount | bounce |
|
||
| imageFaceIndex | digest |
|
||
| imageId | registration |
|
||
| imageInfos | elastic |
|
||
| img | circular |
|
||
| imgCount | indicator |
|
||
| imgId | histogram |
|
||
| imgList | easing |
|
||
| imgType | compressive |
|
||
| imgUrl | boost |
|
||
| index | weight |
|
||
| inviteBy | socket |
|
||
| invitedCnt | pin |
|
||
| isBlur | archive |
|
||
| isVip | restore |
|
||
| issuerUrl | duplicate |
|
||
| keepUserId | campus |
|
||
| label | density |
|
||
| lang | venture |
|
||
| lastName | council |
|
||
| lastUpdateTime | follow |
|
||
| launchImgUrl | coverage |
|
||
| link | capital |
|
||
| list | ordinance |
|
||
| lowUrl | durability |
|
||
| maxLimit | like |
|
||
| method | listing |
|
||
| methodActivitys | comment |
|
||
| methodChannels | collect |
|
||
| model | exhibit |
|
||
| msg | sprint |
|
||
| name | alignment |
|
||
| needCredits | colorize |
|
||
| needImage | edge |
|
||
| needUndress | authorization |
|
||
| needopt | team |
|
||
| negativePrompt | delegation |
|
||
| note | spacing |
|
||
| openType | morph |
|
||
| optimizeCountSql | reface |
|
||
| optimizeJoinOfCountSql | voice |
|
||
| orderId | franchise |
|
||
| orders | sync |
|
||
| originAmount | brochure |
|
||
| owner | heritage |
|
||
| p12KeyPath | tally |
|
||
| packageName | accolade |
|
||
| page | session |
|
||
| pages | loop |
|
||
| password | scope |
|
||
| payCenterUrl | schedule |
|
||
| payId | depth |
|
||
| payMethod | layer |
|
||
| payMethods | cluster |
|
||
| payStatus | submit |
|
||
| payTime | channel |
|
||
| payTypeList | introspect |
|
||
| payUrl | objectify |
|
||
| paylink | segment |
|
||
| paymentMethod | ledger |
|
||
| paymentMethods | invoke |
|
||
| permissions | terminate |
|
||
| phone | sponsor |
|
||
| pkg | stakeholder |
|
||
| platform | abstract |
|
||
| previewImage | slice |
|
||
| previewVideo | anchor |
|
||
| productType | pivot |
|
||
| progress | origin |
|
||
| prompt | appointment |
|
||
| publicKey | thread |
|
||
| purchaseData | gauge |
|
||
| queueCnt | endpoint |
|
||
| read | midpoint |
|
||
| receipt | funnel |
|
||
| recent | fabricate |
|
||
| recentlyUsed | breakpoint |
|
||
| recommend | threshold |
|
||
| records | create |
|
||
| redirectUrl | reformat |
|
||
| referer | link |
|
||
| refererType | complex |
|
||
| reply | amplitude |
|
||
| replyStatus | calendar |
|
||
| requiredHeaders | tokenize |
|
||
| resolution | consortium |
|
||
| resolution480p | span |
|
||
| resolution720p | factor |
|
||
| resulotion | correctness |
|
||
| rewardCredits | sigma |
|
||
| rewardRatio | gutter |
|
||
| role | transport |
|
||
| searchCount | transmit |
|
||
| selected | adaptive |
|
||
| serviceAccountEmail | balance |
|
||
| sharedSecret | stake |
|
||
| showName | constant |
|
||
| sign | mandate |
|
||
| signature | selection |
|
||
| size | seminar |
|
||
| sort | overtone |
|
||
| srcFaceImgBase64 | tournament |
|
||
| srcFaceIndex | circuit |
|
||
| srcImg | permission |
|
||
| srcImg1 | crew |
|
||
| srcImg1Url | consulate |
|
||
| srcImg2 | lease |
|
||
| srcImg2Url | glossary |
|
||
| srcImgBase64 | dynasty |
|
||
| srcImgUrl | logbook |
|
||
| srcVideo | commendation |
|
||
| state | bitrate |
|
||
| status | wallet |
|
||
| style | module |
|
||
| subBusinessType | keepalive |
|
||
| subPaymentMethod | bundle |
|
||
| subScribeValidTime | recognize |
|
||
| subscriptionActivitys | cap |
|
||
| subscriptionPeriod | unicast |
|
||
| sumCredits | assert |
|
||
| sys | load |
|
||
| t2IConfig | reboot |
|
||
| tag | remainder |
|
||
| tags | enqueue |
|
||
| targetId | manifest |
|
||
| targetInvitedCnt | unpack |
|
||
| taskId | exponential |
|
||
| taskIds | vendor |
|
||
| taskType | liaison |
|
||
| taskTypes | synopsis |
|
||
| templateFaceUrl | quantized |
|
||
| templateFifCredits | compressed |
|
||
| templateFifDuration | usability |
|
||
| templateFifUrl | tension |
|
||
| templateName | itinerary |
|
||
| templateTfCredits | capitalization |
|
||
| templateTfDuration | demodulation |
|
||
| templateTfUrl | convergence |
|
||
| templateType | ringing |
|
||
| templateTypes | dialogue |
|
||
| templateUrl | refractive |
|
||
| templates | microscopic |
|
||
| tgId | chart |
|
||
| tgName | spend |
|
||
| tgOrderId | microservice |
|
||
| theme | capacity |
|
||
| title | interval |
|
||
| token | attachment |
|
||
| total | insert |
|
||
| totalUnreadCount | promote |
|
||
| transactionId | installation |
|
||
| truePrompt | coalition |
|
||
| ts | debit |
|
||
| type | revenue |
|
||
| types | standard |
|
||
| unreadCountList | weigh |
|
||
| updateTime | overflow |
|
||
| uploadUrl | update |
|
||
| uploadUrl1 | harden |
|
||
| uploadUrl2 | complete |
|
||
| url | altitude |
|
||
| user | resistance |
|
||
| userApplePayList | variety |
|
||
| userId | symposium |
|
||
| userInfoType | carnival |
|
||
| userName | supplement |
|
||
| userToken | disambiguate |
|
||
| userType | resample |
|
||
| username | ring |
|
||
| usign | reauthenticate |
|
||
| val | compliance |
|
||
| value | platoon |
|
||
| verifyCode | taskforce |
|
||
| videoDuration | hue |
|
||
| videoFaceIndex | escrow |
|
||
| videoFrameIndex | periodical |
|
||
| videoSize | genealogy |
|
||
| videoUrl | postprocess |
|
||
| waitTime | acuity |
|
||
| x1 | angular |
|
||
| x2 | enthalpy |
|
||
| y1 | binormal |
|
||
| y2 | manifold |
|
||
|
||
---
|
||
|
||
## 错误码
|
||
|
||
| code | 说明 |
|
||
|------|------|
|
||
| 0 | 成功 |
|
||
| -1 | 失败 |
|
||
| -2 | 系统错误 |
|
||
| -3 | 鉴权失败 |
|
||
| -5 | 参数错误 |
|
||
| 1001 | 积分不足 |
|
||
| 1002 | 免费次数已用完 |
|
||
| 1003 | 免费次数和积分均已用完 |
|
||
|
||
---
|
||
|
||
*本文档由 ProtocolEncTool 自动生成,API 变更后请重新执行 `v2 guide --app FunyMeeAI`。*
|