FunyMeeAI/docs/FunyMeeAI_client_guide.md
2026-04-14 12:52:56 +08:00

190 KiB
Raw Blame History

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 到代理入口,请求体结构如下:

{
  "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无请求体走代理后也统一使用 POSTb 参数仍需传入 V2 包装后的空业务体。

V2 包装结构

业务数据经字段映射后,按以下结构包装:

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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逻辑名 idapp_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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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>"
}

响应体(解密后)

{
  "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