petsHero-AI/docs/petsHeroAI_client_guide.md

225 KiB
Raw Permalink Blame History

petsHeroAI V2 客户端接入指引

通用信息

项目
加密方式 AES-128-ECB, PKCS5Padding, Base64
AES Key liyP4LkMfP68XvCt
预发域名 pre-ai.petsheroai.xyz
生产域名 ai.petsheroai.xyz
代理入口 POST {baseUrl}/quester/defender/summoner
包名 com.petsheroai.app

加密流程

    构造业务参数
         |
         v
     字段名映射
  (body + params + headers)
         |
         v
      V2包装
    (body only)
         |
         v
    JSON序列化
         |
         v
    AES + Base64
         |
         v
  填入代理请求 b/p 参数
         |
         v
    POST 代理入口

代理请求结构

所有接口统一 POST 到代理入口,请求体结构如下:

{
  "hero_class": "petsHeroAI",              // appId 明文
  "pet_species": "<AES(接口路径)>",       // AES(原始path) → Base64
  "power_level": "<AES(HTTP方法)>",       // AES("POST"或"GET") → Base64
  "quest_rank": "<AES(映射后请求头字段JSON)>",     // AES(映射后的Header字段名构造JSON) → Base64
  "battle_score": "<AES(映射后URL参数字段JSON)>",    // AES(映射后的URL参数字段名构造JSON) → Base64
  "loyalty_index": "<AES(V2请求体JSON)>",    // AES(V2包装后的业务数据) → Base64
  "billing_addr": "<随机4-8位字母数字AES加密→Base64>",    // 噪音
  "utm_term": "<随机4-8位字母数字AES加密→Base64>",    // 噪音
  "cluster_id": "<随机4-8位字母数字AES加密→Base64>",    // 噪音
  "lsn_value": "<随机4-8位字母数字AES加密→Base64>",    // 噪音
  "accuracy_val": "<随机4-8位字母数字AES加密→Base64>",    // 噪音
  "dir_path": "<随机4-8位字母数字AES加密→Base64>"    // 噪音
}

注意: 即使原始接口为 GET无请求体走代理后也统一使用 POSTb 参数仍需传入 V2 包装后的空业务体。 噪音 key 的值为随机 4-8 位字母数字AES 加密后 Base64 编码,每次请求重新生成,服务端会忽略。

V2 包装结构

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

{
  "arsenal": 4,                         // 固定值
  "vault": {
    "tome": {
      "codex": {
        "grimoire": {
          "sanctum": { /* 映射后的业务字段 */ }
        }
      }
    }
  },
  "roar": "<随机4-8位字母数字AES加密→Base64>",
  "clash": "<随机4-8位字母数字AES加密→Base64>",
  "thunder": "<随机4-8位字母数字AES加密→Base64>",
  "rumble": "<随机4-8位字母数字AES加密→Base64>",
  "howl": "<随机4-8位字母数字AES加密→Base64>",
  "growl": "<随机4-8位字母数字AES加密→Base64>"
}

登录态接口

登录后,所有请求 Header 需带 knight

1. 获取推荐提示词

GET /v1/image/prompt/recomends | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 推荐提示词列表
    {
      "constrain": "",    // tag (string) 标签
      "ledger": ""    // prompt (string) 文本提示词
    }
  ]
}

V2 完整请求体:

// recomends — 获取推荐提示词
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "htc17rrCpG+d9Lj6Lh5iy3BmR/52yLIsJdjM7/IFXgo=", // AES(/v1/image/prompt/recomends)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"constrain": "", // tag
								"ledger": "" // prompt
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

2. 设备登录(快速登录)

POST /v1/user/fast_login | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "crest": "",    // ch — 渠道号
  "portal": "",    // pkg — 应用包名(必填)
  "accolade": ""    // type — 类型
}

请求体 (字段映射后):

{
  "digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
  "resolution": "",    // sign (string) 签名MD5(deviceId)大写32位
  "origin": ""    // deviceId (string) 设备ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "surge": "",    // extConfig (string) 客户端界面配置下发
    "accolade": "",    // type (string) 类型
    "evolve": {    // appFbConfig (object) 应用FB配置
      "fbClientId": "",    // fbClientId (string) Facebook应用ID
      "fbClientToken": ""    // fbClientToken (string) Facebook客户端Token
    },
    "retrospect": "",    // usign (string) 用户签名
    "navigate": "",    // countryCode (string) 国家代码
    "conquer": "",    // creditsRecordUrl (string) 积分记录URL
    "concession": "",    // tgId (string) Telegram ID
    "reveal": 0,    // credit (int) 积分余额
    "defer": "",    // tgName (string) Telegram 用户名
    "galaxy": "",    // email (string) 邮箱
    "nexus": {},    // ext (object) 扩展信息
    "upgrade": false,    // forcePayCenter (boolean) 是否强制跳转支付中心
    "regulate": {    // t2IConfig (object) T2I配置
      "greaves": {},    // credits (object) 积分配置key为任务类型value为积分数
      "templates": [    // templates (array) 提示词模板列表
        {
          "revenue": "",    // img (string) 示例图片URL
          "ledger": ""    // prompt (string) 提示词内容
        }
      ]
    },
    "pursue": {    // h5UrlConfig (object) H5 URL配置
      "digitize": "",    // url (string) H5页面URL
      "launchImgUrl": ""    // launchImgUrl (string) 启动图URL
    },
    "switch": "",    // payCenterUrl (string) 支付中心URL
    "vow": 0,    // freeBlurTimes (int) 免费去模糊次数
    "realm": "",    // avatar (string) 头像URL
    "terminal": "",    // userName (string) 用户名
    "equip": false,    // firstRegister (boolean) 是否首次注册
    "asset": "",    // userId (string) 用户ID
    "generate": false,    // isVip (boolean) 是否VIP
    "rally": [],    // tags (array) 用户标签
    "decree": 0,    // freeTimes (int) 免费次数
    "reevaluate": "",    // userToken (string) 用户登录token
    "tokenize": 0,    // subScribeValidTime (int) 订阅有效时间戳
    "line": 0    // status (int) 用户状态
  }
}

V2 完整请求体:

// fast_login — 设备登录(快速登录)
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "JBK3hR8hMGmPYYcbg7jqs9qf6SWWQG3IGHQLbwst7TA=", // AES(/v1/user/fast_login)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({crest: 渠道号, portal: 应用包名(必填), accolade: 类型}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
						"resolution": "",    // sign (string) 签名MD5(deviceId)大写32位
						"origin": ""    // deviceId (string) 设备ID
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"surge": "", // extConfig
							"accolade": "", // type
							"evolve": {
								"fbClientId": "",
								"fbClientToken": ""
							}, // appFbConfig
							"retrospect": "", // usign
							"navigate": "", // countryCode
							"conquer": "", // creditsRecordUrl
							"concession": "", // tgId
							"reveal": 0, // credit
							"defer": "", // tgName
							"galaxy": "", // email
							"nexus": {
							}, // ext
							"upgrade": false, // forcePayCenter
							"regulate": {
								"greaves": {
								}, // credits
								"templates": [
									{
										"revenue": "", // img
										"ledger": "" // prompt
									}
								]
							}, // t2IConfig
							"pursue": {
								"digitize": "", // url
								"launchImgUrl": ""
							}, // h5UrlConfig
							"switch": "", // payCenterUrl
							"vow": 0, // freeBlurTimes
							"realm": "", // avatar
							"terminal": "", // userName
							"equip": false, // firstRegister
							"asset": "", // userId
							"generate": false, // isVip
							"rally": [
							], // tags
							"decree": 0, // freeTimes
							"reevaluate": "", // userToken
							"tokenize": 0, // subScribeValidTime
							"line": 0 // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

3. Google登录

POST /v1/user/login/google | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": ""    // app — 应用标识(必填)
}

请求体 (字段映射后):

{
  "sentinel": "",    // app (string) 应用标识(必填)
  "digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
  "item": "",    // inviteBy (string) 邀请人
  "helm": "",    // code (string) OAuth授权码
  "supplier": "",    // verifyCode (string) 验证码
  "crest": "",    // ch (string) 渠道号
  "realm": "",    // avatar (string) 头像URL
  "accolade": "",    // type (string) 类型
  "terminal": "",    // userName (string) 用户名
  "asset": "",    // userId (string) 用户ID
  "origin": "",    // deviceId (string) 设备ID
  "block": "",    // phone (string) 手机号
  "totem": "",    // domain (string) 域名
  "series": "",    // keepUserId (string) 保留用户ID
  "relic": "",    // campaignInfo (string) 活动信息
  "listing": "",    // state (string) OAuth state
  "campaign": "",    // refererType (string) 归因类型
  "galaxy": ""    // email (string) 邮箱
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "surge": "",    // extConfig (string) 客户端界面配置下发
    "accolade": "",    // type (string) 类型
    "evolve": {    // appFbConfig (object) 应用FB配置
      "fbClientId": "",    // fbClientId (string) Facebook应用ID
      "fbClientToken": ""    // fbClientToken (string) Facebook客户端Token
    },
    "retrospect": "",    // usign (string) 用户签名
    "navigate": "",    // countryCode (string) 国家代码
    "conquer": "",    // creditsRecordUrl (string) 积分记录URL
    "concession": "",    // tgId (string) Telegram ID
    "reveal": 0,    // credit (int) 积分余额
    "defer": "",    // tgName (string) Telegram 用户名
    "galaxy": "",    // email (string) 邮箱
    "nexus": {},    // ext (object) 扩展信息
    "upgrade": false,    // forcePayCenter (boolean) 是否强制跳转支付中心
    "regulate": {    // t2IConfig (object) T2I配置
      "greaves": {},    // credits (object) 积分配置key为任务类型value为积分数
      "templates": [    // templates (array) 提示词模板列表
        {
          "revenue": "",    // img (string) 示例图片URL
          "ledger": ""    // prompt (string) 提示词内容
        }
      ]
    },
    "pursue": {    // h5UrlConfig (object) H5 URL配置
      "digitize": "",    // url (string) H5页面URL
      "launchImgUrl": ""    // launchImgUrl (string) 启动图URL
    },
    "switch": "",    // payCenterUrl (string) 支付中心URL
    "vow": 0,    // freeBlurTimes (int) 免费去模糊次数
    "realm": "",    // avatar (string) 头像URL
    "terminal": "",    // userName (string) 用户名
    "equip": false,    // firstRegister (boolean) 是否首次注册
    "asset": "",    // userId (string) 用户ID
    "generate": false,    // isVip (boolean) 是否VIP
    "rally": [],    // tags (array) 用户标签
    "decree": 0,    // freeTimes (int) 免费次数
    "reevaluate": "",    // userToken (string) 用户登录token
    "tokenize": 0,    // subScribeValidTime (int) 订阅有效时间戳
    "line": 0    // status (int) 用户状态
  }
}

V2 完整请求体:

// google — Google登录
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "IzM+23jOVdgfyuowLiRGMZFrfjMGtMAsbnQ9v720NxU=", // AES(/v1/user/login/google)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"sentinel": "",    // app (string) 应用标识(必填)
						"digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
						"item": "",    // inviteBy (string) 邀请人
						"helm": "",    // code (string) OAuth授权码
						"supplier": "",    // verifyCode (string) 验证码
						"crest": "",    // ch (string) 渠道号
						"realm": "",    // avatar (string) 头像URL
						"accolade": "",    // type (string) 类型
						"terminal": "",    // userName (string) 用户名
						"asset": "",    // userId (string) 用户ID
						"origin": "",    // deviceId (string) 设备ID
						"block": "",    // phone (string) 手机号
						"totem": "",    // domain (string) 域名
						"series": "",    // keepUserId (string) 保留用户ID
						"relic": "",    // campaignInfo (string) 活动信息
						"listing": "",    // state (string) OAuth state
						"campaign": "",    // refererType (string) 归因类型
						"galaxy": ""    // email (string) 邮箱
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"surge": "", // extConfig
							"accolade": "", // type
							"evolve": {
								"fbClientId": "",
								"fbClientToken": ""
							}, // appFbConfig
							"retrospect": "", // usign
							"navigate": "", // countryCode
							"conquer": "", // creditsRecordUrl
							"concession": "", // tgId
							"reveal": 0, // credit
							"defer": "", // tgName
							"galaxy": "", // email
							"nexus": {
							}, // ext
							"upgrade": false, // forcePayCenter
							"regulate": {
								"greaves": {
								}, // credits
								"templates": [
									{
										"revenue": "", // img
										"ledger": "" // prompt
									}
								]
							}, // t2IConfig
							"pursue": {
								"digitize": "", // url
								"launchImgUrl": ""
							}, // h5UrlConfig
							"switch": "", // payCenterUrl
							"vow": 0, // freeBlurTimes
							"realm": "", // avatar
							"terminal": "", // userName
							"equip": false, // firstRegister
							"asset": "", // userId
							"generate": false, // isVip
							"rally": [
							], // tags
							"decree": 0, // freeTimes
							"reevaluate": "", // userToken
							"tokenize": 0, // subScribeValidTime
							"line": 0 // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

4. Apple登录

POST /v1/user/login/apple | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": ""    // app — 应用标识(必填)
}

请求体 (字段映射后):

{
  "sentinel": "",    // app (string) 应用标识(必填)
  "digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
  "item": "",    // inviteBy (string) 邀请人
  "helm": "",    // code (string) OAuth授权码
  "supplier": "",    // verifyCode (string) 验证码
  "crest": "",    // ch (string) 渠道号
  "realm": "",    // avatar (string) 头像URL
  "accolade": "",    // type (string) 类型
  "terminal": "",    // userName (string) 用户名
  "asset": "",    // userId (string) 用户ID
  "origin": "",    // deviceId (string) 设备ID
  "block": "",    // phone (string) 手机号
  "totem": "",    // domain (string) 域名
  "series": "",    // keepUserId (string) 保留用户ID
  "relic": "",    // campaignInfo (string) 活动信息
  "listing": "",    // state (string) OAuth state
  "campaign": "",    // refererType (string) 归因类型
  "galaxy": ""    // email (string) 邮箱
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "surge": "",    // extConfig (string) 客户端界面配置下发
    "accolade": "",    // type (string) 类型
    "evolve": {    // appFbConfig (object) 应用FB配置
      "fbClientId": "",    // fbClientId (string) Facebook应用ID
      "fbClientToken": ""    // fbClientToken (string) Facebook客户端Token
    },
    "retrospect": "",    // usign (string) 用户签名
    "navigate": "",    // countryCode (string) 国家代码
    "conquer": "",    // creditsRecordUrl (string) 积分记录URL
    "concession": "",    // tgId (string) Telegram ID
    "reveal": 0,    // credit (int) 积分余额
    "defer": "",    // tgName (string) Telegram 用户名
    "galaxy": "",    // email (string) 邮箱
    "nexus": {},    // ext (object) 扩展信息
    "upgrade": false,    // forcePayCenter (boolean) 是否强制跳转支付中心
    "regulate": {    // t2IConfig (object) T2I配置
      "greaves": {},    // credits (object) 积分配置key为任务类型value为积分数
      "templates": [    // templates (array) 提示词模板列表
        {
          "revenue": "",    // img (string) 示例图片URL
          "ledger": ""    // prompt (string) 提示词内容
        }
      ]
    },
    "pursue": {    // h5UrlConfig (object) H5 URL配置
      "digitize": "",    // url (string) H5页面URL
      "launchImgUrl": ""    // launchImgUrl (string) 启动图URL
    },
    "switch": "",    // payCenterUrl (string) 支付中心URL
    "vow": 0,    // freeBlurTimes (int) 免费去模糊次数
    "realm": "",    // avatar (string) 头像URL
    "terminal": "",    // userName (string) 用户名
    "equip": false,    // firstRegister (boolean) 是否首次注册
    "asset": "",    // userId (string) 用户ID
    "generate": false,    // isVip (boolean) 是否VIP
    "rally": [],    // tags (array) 用户标签
    "decree": 0,    // freeTimes (int) 免费次数
    "reevaluate": "",    // userToken (string) 用户登录token
    "tokenize": 0,    // subScribeValidTime (int) 订阅有效时间戳
    "line": 0    // status (int) 用户状态
  }
}

V2 完整请求体:

// apple — Apple登录
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "w0u04gY31QXp9b1HcPwgUFAzHZWr51nx5OqDHb/C9vY=", // AES(/v1/user/login/apple)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"sentinel": "",    // app (string) 应用标识(必填)
						"digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
						"item": "",    // inviteBy (string) 邀请人
						"helm": "",    // code (string) OAuth授权码
						"supplier": "",    // verifyCode (string) 验证码
						"crest": "",    // ch (string) 渠道号
						"realm": "",    // avatar (string) 头像URL
						"accolade": "",    // type (string) 类型
						"terminal": "",    // userName (string) 用户名
						"asset": "",    // userId (string) 用户ID
						"origin": "",    // deviceId (string) 设备ID
						"block": "",    // phone (string) 手机号
						"totem": "",    // domain (string) 域名
						"series": "",    // keepUserId (string) 保留用户ID
						"relic": "",    // campaignInfo (string) 活动信息
						"listing": "",    // state (string) OAuth state
						"campaign": "",    // refererType (string) 归因类型
						"galaxy": ""    // email (string) 邮箱
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"surge": "", // extConfig
							"accolade": "", // type
							"evolve": {
								"fbClientId": "",
								"fbClientToken": ""
							}, // appFbConfig
							"retrospect": "", // usign
							"navigate": "", // countryCode
							"conquer": "", // creditsRecordUrl
							"concession": "", // tgId
							"reveal": 0, // credit
							"defer": "", // tgName
							"galaxy": "", // email
							"nexus": {
							}, // ext
							"upgrade": false, // forcePayCenter
							"regulate": {
								"greaves": {
								}, // credits
								"templates": [
									{
										"revenue": "", // img
										"ledger": "" // prompt
									}
								]
							}, // t2IConfig
							"pursue": {
								"digitize": "", // url
								"launchImgUrl": ""
							}, // h5UrlConfig
							"switch": "", // payCenterUrl
							"vow": 0, // freeBlurTimes
							"realm": "", // avatar
							"terminal": "", // userName
							"equip": false, // firstRegister
							"asset": "", // userId
							"generate": false, // isVip
							"rally": [
							], // tags
							"decree": 0, // freeTimes
							"reevaluate": "", // userToken
							"tokenize": 0, // subScribeValidTime
							"line": 0 // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

5. 注销账户

GET /v1/user/delete | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// delete — 注销账户
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "+My5Dm1nYfQTvljGJsOV6g==", // AES(/v1/user/delete)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

6. 获取换衣模板

GET /v1/image/clothes_template | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": "",    // userId — 用户ID
  "insignia": "1"    // categoryId — 分类ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 换衣模板列表
    {
      "congregation": "",    // templateName (string) 模板名称
      "greaves": 0,    // credits (int) 积分
      "realm": "",    // avatar (string) 头像
      "accolade": 0,    // type (int) 类型
      "rebalance": "",    // user (string) 用户
      "inject": ""    // templateUrl (string) 模板URL
    }
  ]
}

V2 完整请求体:

// clothes_template — 获取换衣模板
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "+RfrZmGD8Uzkm6hmMNG5mzF0IljYMv/hrsAWRkUHixU=", // AES(/v1/image/clothes_template)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID, insignia: 1}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"congregation": "", // templateName
								"greaves": 0, // credits
								"realm": "", // avatar
								"accolade": 0, // type
								"rebalance": "", // user
								"inject": "" // templateUrl
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

7. 获取用户通用信息

GET /v1/user/common_info | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "shield": "",    // client — 客户端标识
  "asset": "",    // userId — 用户ID
  "crest": "",    // ch — 渠道号
  "item": "",    // inviteBy — 邀请人
  "origin": "",    // deviceId — 设备ID
  "gauntlet": "",    // clientId — 客户端ID
  "portal": ""    // pkg — 应用包名(必填)
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "surge": "",    // extConfig (string) 客户端界面配置下发
    "accolade": "",    // type (string) 类型
    "evolve": {    // appFbConfig (object) 应用FB配置
      "fbClientId": "",    // fbClientId (string) Facebook应用ID
      "fbClientToken": ""    // fbClientToken (string) Facebook客户端Token
    },
    "retrospect": "",    // usign (string) 用户签名
    "navigate": "",    // countryCode (string) 国家代码
    "conquer": "",    // creditsRecordUrl (string) 积分记录URL
    "concession": "",    // tgId (string) Telegram ID
    "reveal": 0,    // credit (int) 积分余额
    "defer": "",    // tgName (string) Telegram 用户名
    "galaxy": "",    // email (string) 邮箱
    "nexus": {},    // ext (object) 扩展信息
    "upgrade": false,    // forcePayCenter (boolean) 是否强制跳转支付中心
    "regulate": {    // t2IConfig (object) T2I配置
      "greaves": {},    // credits (object) 积分配置key为任务类型value为积分数
      "templates": [    // templates (array) 提示词模板列表
        {
          "revenue": "",    // img (string) 示例图片URL
          "ledger": ""    // prompt (string) 提示词内容
        }
      ]
    },
    "pursue": {    // h5UrlConfig (object) H5 URL配置
      "digitize": "",    // url (string) H5页面URL
      "launchImgUrl": ""    // launchImgUrl (string) 启动图URL
    },
    "switch": "",    // payCenterUrl (string) 支付中心URL
    "vow": 0,    // freeBlurTimes (int) 免费去模糊次数
    "realm": "",    // avatar (string) 头像URL
    "terminal": "",    // userName (string) 用户名
    "equip": false,    // firstRegister (boolean) 是否首次注册
    "asset": "",    // userId (string) 用户ID
    "generate": false,    // isVip (boolean) 是否VIP
    "rally": [],    // tags (array) 用户标签
    "decree": 0,    // freeTimes (int) 免费次数
    "reevaluate": "",    // userToken (string) 用户登录token
    "tokenize": 0,    // subScribeValidTime (int) 订阅有效时间戳
    "line": 0    // status (int) 用户状态
  }
}

V2 完整请求体:

// common_info — 获取用户通用信息
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "/gPDnflXdn59gbWvtfU+uhFqI7OJK9pUgbdP1FOPuH8=", // AES(/v1/user/common_info)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), shield: 客户端标识, asset: 用户ID, crest: 渠道号, item: 邀请人, origin: 设备ID, gauntlet: 客户端ID, portal: 应用包名(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"surge": "", // extConfig
							"accolade": "", // type
							"evolve": {
								"fbClientId": "",
								"fbClientToken": ""
							}, // appFbConfig
							"retrospect": "", // usign
							"navigate": "", // countryCode
							"conquer": "", // creditsRecordUrl
							"concession": "", // tgId
							"reveal": 0, // credit
							"defer": "", // tgName
							"galaxy": "", // email
							"nexus": {
							}, // ext
							"upgrade": false, // forcePayCenter
							"regulate": {
								"greaves": {
								}, // credits
								"templates": [
									{
										"revenue": "", // img
										"ledger": "" // prompt
									}
								]
							}, // t2IConfig
							"pursue": {
								"digitize": "", // url
								"launchImgUrl": ""
							}, // h5UrlConfig
							"switch": "", // payCenterUrl
							"vow": 0, // freeBlurTimes
							"realm": "", // avatar
							"terminal": "", // userName
							"equip": false, // firstRegister
							"asset": "", // userId
							"generate": false, // isVip
							"rally": [
							], // tags
							"decree": 0, // freeTimes
							"reevaluate": "", // userToken
							"tokenize": 0, // subScribeValidTime
							"line": 0 // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

8. 归因上报

POST /v1/user/referrer | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "accolade": "android_adjust",    // type — 类型,传 android_adjust
  "portal": ""    // pkg — 应用包名(必填)
}

请求体 (字段映射后):

{
  "digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
  "origin": ""    // deviceId (string) 设备ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// referrer — 归因上报
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "d5p1sgWrVsTbMLkRSh+g5Atr10nt1WaD1C4W2Jw4T1E=", // AES(/v1/user/referrer)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, accolade: 类型, portal: 应用包名(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"digest": "",    // referer (string) 归因信息,如 utm_source=googleplay
						"origin": ""    // deviceId (string) 设备ID
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

9. 获取用户账户信息

GET /v1/user/account | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "surge": "",    // extConfig (string) 客户端界面配置下发
    "accolade": "",    // type (string) 类型
    "evolve": {    // appFbConfig (object) 应用FB配置
      "fbClientId": "",    // fbClientId (string) Facebook应用ID
      "fbClientToken": ""    // fbClientToken (string) Facebook客户端Token
    },
    "retrospect": "",    // usign (string) 用户签名
    "navigate": "",    // countryCode (string) 国家代码
    "conquer": "",    // creditsRecordUrl (string) 积分记录URL
    "concession": "",    // tgId (string) Telegram ID
    "reveal": 0,    // credit (int) 积分余额
    "defer": "",    // tgName (string) Telegram 用户名
    "galaxy": "",    // email (string) 邮箱
    "nexus": {},    // ext (object) 扩展信息
    "upgrade": false,    // forcePayCenter (boolean) 是否强制跳转支付中心
    "regulate": {    // t2IConfig (object) T2I配置
      "greaves": {},    // credits (object) 积分配置key为任务类型value为积分数
      "templates": [    // templates (array) 提示词模板列表
        {
          "revenue": "",    // img (string) 示例图片URL
          "ledger": ""    // prompt (string) 提示词内容
        }
      ]
    },
    "pursue": {    // h5UrlConfig (object) H5 URL配置
      "digitize": "",    // url (string) H5页面URL
      "launchImgUrl": ""    // launchImgUrl (string) 启动图URL
    },
    "switch": "",    // payCenterUrl (string) 支付中心URL
    "vow": 0,    // freeBlurTimes (int) 免费去模糊次数
    "realm": "",    // avatar (string) 头像URL
    "terminal": "",    // userName (string) 用户名
    "equip": false,    // firstRegister (boolean) 是否首次注册
    "asset": "",    // userId (string) 用户ID
    "generate": false,    // isVip (boolean) 是否VIP
    "rally": [],    // tags (array) 用户标签
    "decree": 0,    // freeTimes (int) 免费次数
    "reevaluate": "",    // userToken (string) 用户登录token
    "tokenize": 0,    // subScribeValidTime (int) 订阅有效时间戳
    "line": 0    // status (int) 用户状态
  }
}

V2 完整请求体:

// account — 获取用户账户信息
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "ko82/Ko5QTQvyGwXblxoTfLS28kvYwcqsG/Z8eunjaY=", // AES(/v1/user/account)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"surge": "", // extConfig
							"accolade": "", // type
							"evolve": {
								"fbClientId": "",
								"fbClientToken": ""
							}, // appFbConfig
							"retrospect": "", // usign
							"navigate": "", // countryCode
							"conquer": "", // creditsRecordUrl
							"concession": "", // tgId
							"reveal": 0, // credit
							"defer": "", // tgName
							"galaxy": "", // email
							"nexus": {
							}, // ext
							"upgrade": false, // forcePayCenter
							"regulate": {
								"greaves": {
								}, // credits
								"templates": [
									{
										"revenue": "", // img
										"ledger": "" // prompt
									}
								]
							}, // t2IConfig
							"pursue": {
								"digitize": "", // url
								"launchImgUrl": ""
							}, // h5UrlConfig
							"switch": "", // payCenterUrl
							"vow": 0, // freeBlurTimes
							"realm": "", // avatar
							"terminal": "", // userName
							"equip": false, // firstRegister
							"asset": "", // userId
							"generate": false, // isVip
							"rally": [
							], // tags
							"decree": 0, // freeTimes
							"reevaluate": "", // userToken
							"tokenize": 0, // subScribeValidTime
							"line": 0 // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

10. 获取Google商品列表

GET /v1/payment/getGooglePayActivities | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "shield": "",    // client — 客户端
  "vambrace": "",    // country — 国家代码
  "portal": ""    // pkg — 应用包名(必填)
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "cleanse": [    // subscriptionActivitys (array) 订阅商品列表
      {
        "extrapolate": "",    // note (string) 备注
        "helm": "",    // code (string) 产品代码
        "forge": 0,    // bonus (int) 赠送积分
        "guardian": "",    // actualAmount (string) 实际金额
        "lead": "",    // discountOff (string) 折扣
        "glossary": "",    // title (string) 标题
        "curriculum": "",    // originAmount (string) 原价
        "warrior": "",    // activityId (string) 活动ID
        "distribute": "",    // subscriptionPeriod (string) 订阅周期
        "greaves": 0,    // credits (int) 积分数
        "shield": "",    // client (string) 客户端
        "species": 0,    // days (int) 天数
        "familiar": "",    // currency (string) 货币
        "subtract": 0    // productType (int) 产品类型
      }
    ],
    "summon": [    // activitys (array) 商品列表
      {
        "extrapolate": "",    // note (string) 备注
        "helm": "",    // code (string) 产品代码
        "forge": 0,    // bonus (int) 赠送积分
        "guardian": "",    // actualAmount (string) 实际金额
        "lead": "",    // discountOff (string) 折扣
        "glossary": "",    // title (string) 标题
        "curriculum": "",    // originAmount (string) 原价
        "warrior": "",    // activityId (string) 活动ID
        "distribute": "",    // subscriptionPeriod (string) 订阅周期
        "greaves": 0,    // credits (int) 积分数
        "shield": "",    // client (string) 客户端
        "species": 0,    // days (int) 天数
        "familiar": "",    // currency (string) 货币
        "subtract": 0    // productType (int) 产品类型
      }
    ]
  }
}

V2 完整请求体:

// getGooglePayActivities — 获取Google商品列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "ASwRlxDbjvdAMp6ZmjijjC9j+MNvLSw+6NdeznTDyGTNuAWVloT8VcE+HQns0oZX", // AES(/v1/payment/getGooglePayActivities)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), shield: 客户端, vambrace: 国家代码, portal: 应用包名(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"cleanse": [
								{
									"extrapolate": "", // note
									"helm": "", // code
									"forge": 0, // bonus
									"guardian": "", // actualAmount
									"lead": "", // discountOff
									"glossary": "", // title
									"curriculum": "", // originAmount
									"warrior": "", // activityId
									"distribute": "", // subscriptionPeriod
									"greaves": 0, // credits
									"shield": "", // client
									"species": 0, // days
									"familiar": "", // currency
									"subtract": 0 // productType
								}
							], // subscriptionActivitys
							"summon": [
								{
									"extrapolate": "", // note
									"helm": "", // code
									"forge": 0, // bonus
									"guardian": "", // actualAmount
									"lead": "", // discountOff
									"glossary": "", // title
									"curriculum": "", // originAmount
									"warrior": "", // activityId
									"distribute": "", // subscriptionPeriod
									"greaves": 0, // credits
									"shield": "", // client
									"species": 0, // days
									"familiar": "", // currency
									"subtract": 0 // productType
								}
							] // activitys
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

11. 获取Apple商品列表

GET /v1/payment/getApplePayActivities | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "shield": "",    // client — 客户端
  "vambrace": "",    // country — 国家代码
  "portal": ""    // pkg — 应用包名(必填)
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "cleanse": [    // subscriptionActivitys (array) 订阅商品列表
      {
        "extrapolate": "",    // note (string) 备注
        "helm": "",    // code (string) 产品代码
        "forge": 0,    // bonus (int) 赠送积分
        "guardian": "",    // actualAmount (string) 实际金额
        "lead": "",    // discountOff (string) 折扣
        "glossary": "",    // title (string) 标题
        "curriculum": "",    // originAmount (string) 原价
        "warrior": "",    // activityId (string) 活动ID
        "distribute": "",    // subscriptionPeriod (string) 订阅周期
        "greaves": 0,    // credits (int) 积分数
        "shield": "",    // client (string) 客户端
        "species": 0,    // days (int) 天数
        "familiar": "",    // currency (string) 货币
        "subtract": 0    // productType (int) 产品类型
      }
    ],
    "summon": [    // activitys (array) 商品列表
      {
        "extrapolate": "",    // note (string) 备注
        "helm": "",    // code (string) 产品代码
        "forge": 0,    // bonus (int) 赠送积分
        "guardian": "",    // actualAmount (string) 实际金额
        "lead": "",    // discountOff (string) 折扣
        "glossary": "",    // title (string) 标题
        "curriculum": "",    // originAmount (string) 原价
        "warrior": "",    // activityId (string) 活动ID
        "distribute": "",    // subscriptionPeriod (string) 订阅周期
        "greaves": 0,    // credits (int) 积分数
        "shield": "",    // client (string) 客户端
        "species": 0,    // days (int) 天数
        "familiar": "",    // currency (string) 货币
        "subtract": 0    // productType (int) 产品类型
      }
    ]
  }
}

V2 完整请求体:

// getApplePayActivities — 获取Apple商品列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "7cFXs1gnsOusTcYJayudo0iRoN/MBgv2WP3OnBp0Wf2x5+QtDEsAuVXsrF9Y+5hO", // AES(/v1/payment/getApplePayActivities)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), shield: 客户端, vambrace: 国家代码, portal: 应用包名(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"cleanse": [
								{
									"extrapolate": "", // note
									"helm": "", // code
									"forge": 0, // bonus
									"guardian": "", // actualAmount
									"lead": "", // discountOff
									"glossary": "", // title
									"curriculum": "", // originAmount
									"warrior": "", // activityId
									"distribute": "", // subscriptionPeriod
									"greaves": 0, // credits
									"shield": "", // client
									"species": 0, // days
									"familiar": "", // currency
									"subtract": 0 // productType
								}
							], // subscriptionActivitys
							"summon": [
								{
									"extrapolate": "", // note
									"helm": "", // code
									"forge": 0, // bonus
									"guardian": "", // actualAmount
									"lead": "", // discountOff
									"glossary": "", // title
									"curriculum": "", // originAmount
									"warrior": "", // activityId
									"distribute": "", // subscriptionPeriod
									"greaves": 0, // credits
									"shield": "", // client
									"species": 0, // days
									"familiar": "", // currency
									"subtract": 0 // productType
								}
							] // activitys
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

12. 创建支付订单

POST /v1/payment/createPayment | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "sentinel": "",    // app (string) 应用标识(必填)
  "bazaar": "",    // lastName (string) 姓
  "vambrace": "",    // country (string) 国家代码
  "dominion": "",    // expireMonth (string) 过期月
  "captain": "",    // accountName (string) 账户名
  "frame": "",    // userInfoType (string) 用户信息类型
  "legend": false,    // automaticRenewal (boolean) 是否自动续费
  "lineage": "",    // channel (string) 渠道
  "companion": "",    // cvcCode (string) CVC安全码
  "armor": "",    // channelType (string) 渠道类型
  "asset": "",    // userId (string) 用户ID
  "warrior": "",    // activityId (string) 活动模板ID
  "appointment": "",    // firstName (string) 名
  "ceremony": "",    // subPaymentMethod (string) 子支付方式
  "block": "",    // phone (string) 电话
  "insurer": "",    // tgOrderId (string) Telegram订单ID
  "concession": "",    // tgId (string) Telegram ID
  "brigade": "",    // name (string) 姓名
  "resource": "",    // paymentMethod (string) 支付方式,如 GOOGLEPAY/APPLEPAY
  "sanctuary": "",    // expireYear (string) 过期年
  "artifact": "",    // card (string) 卡号
  "line": ""    // status (string) 状态
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "scout": {},    // features (object) 功能特性
    "handshake": [    // payTypeList (array) 支付类型列表
      {
        "mold": "",    // showName (string) 展示名称
        "brigade": "",    // name (string) 支付方式
        "greylist": "",    // icon (string) 展示图标
        "unzip": "",    // paylink (string) 支付链接
        "federation": 0,    // id (long) ID
        "invent": 0    // sort (int) 排序
      }
    ],
    "merge": "",    // issuerUrl (string) 发卡方URL
    "protect": "",    // cryptoInvoiceUrl (string) 加密发票URL
    "convert": "",    // payUrl (string) 支付URL
    "federation": "",    // id (string) 支付ID/订单ID
    "destroy": "",    // payStatus (string) 支付状态枚举名INIT | SUCCESS | PROCESSING | FAILED | CANCELED
    "transplant": 0    // openType (int) URL打开方式0=内部/1=外部浏览器
  }
}

V2 完整请求体:

// createPayment — 创建支付订单
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "xARz0A3sqGipBMRB6VFu6OK7MAR+bb8/pc9aV1y6BcI=", // AES(/v1/payment/createPayment)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"sentinel": "",    // app (string) 应用标识(必填)
						"bazaar": "",    // lastName (string) 姓
						"vambrace": "",    // country (string) 国家代码
						"dominion": "",    // expireMonth (string) 过期月
						"captain": "",    // accountName (string) 账户名
						"frame": "",    // userInfoType (string) 用户信息类型
						"legend": false,    // automaticRenewal (boolean) 是否自动续费
						"lineage": "",    // channel (string) 渠道
						"companion": "",    // cvcCode (string) CVC安全码
						"armor": "",    // channelType (string) 渠道类型
						"asset": "",    // userId (string) 用户ID
						"warrior": "",    // activityId (string) 活动模板ID
						"appointment": "",    // firstName (string) 名
						"ceremony": "",    // subPaymentMethod (string) 子支付方式
						"block": "",    // phone (string) 电话
						"insurer": "",    // tgOrderId (string) Telegram订单ID
						"concession": "",    // tgId (string) Telegram ID
						"brigade": "",    // name (string) 姓名
						"resource": "",    // paymentMethod (string) 支付方式,如 GOOGLEPAY/APPLEPAY
						"sanctuary": "",    // expireYear (string) 过期年
						"artifact": "",    // card (string) 卡号
						"line": ""    // status (string) 状态
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"scout": {
							}, // features
							"handshake": [
								{
									"mold": "", // showName
									"brigade": "", // name
									"greylist": "", // icon
									"unzip": "", // paylink
									"federation": 0, // id
									"invent": 0 // sort
								}
							], // payTypeList
							"merge": "", // issuerUrl
							"protect": "", // cryptoInvoiceUrl
							"convert": "", // payUrl
							"federation": "", // id
							"destroy": "", // payStatus
							"transplant": 0 // openType
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

13. Google支付结果回调

POST /v1/payment/googlepay | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "sample": "",    // signature (string) 签名
  "merchant": "",    // purchaseData (string) Google支付凭据JSON
  "federation": "",    // id (string) 支付ID/订单ID
  "asset": ""    // userId (string) 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "warrior": "",    // activityId (string) 活动模板ID
    "disambiguate": "",    // redirectUrl (string) 重定向URL
    "awaken": false,    // addCredits (boolean) 是否添加积分
    "visor": "",    // count (string) 数量
    "familiar": "",    // currency (string) 货币
    "federation": "",    // id (string) 支付ID/订单ID
    "line": ""    // status (string) 支付状态枚举名INIT | SUCCESS | PROCESSING | FAILED | CANCELED
  }
}

V2 完整请求体:

// googlepay — Google支付结果回调
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "B4Kcm78LNE7abI+Owtvw3xzHbYTXRRzl0kv+59c5lmY=", // AES(/v1/payment/googlepay)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"sample": "",    // signature (string) 签名
						"merchant": "",    // purchaseData (string) Google支付凭据JSON
						"federation": "",    // id (string) 支付ID/订单ID
						"asset": ""    // userId (string) 用户ID
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"warrior": "", // activityId
							"disambiguate": "", // redirectUrl
							"awaken": false, // addCredits
							"visor": "", // count
							"familiar": "", // currency
							"federation": "", // id
							"line": "" // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

14. Apple支付结果回调

POST /v1/payment/applepay | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "portal": ""    // pkg — 应用包名(必填)
}

请求体 (字段映射后):

{
  "attendee": "",    // receipt (string) Apple支付凭据
  "federation": "",    // id (string) 支付ID/订单ID
  "asset": "",    // userId (string) 用户ID
  "chronicle": ""    // transactionId (string) 交易ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "warrior": "",    // activityId (string) 活动模板ID
    "disambiguate": "",    // redirectUrl (string) 重定向URL
    "awaken": false,    // addCredits (boolean) 是否添加积分
    "visor": "",    // count (string) 数量
    "familiar": "",    // currency (string) 货币
    "federation": "",    // id (string) 支付ID/订单ID
    "line": ""    // status (string) 支付状态枚举名INIT | SUCCESS | PROCESSING | FAILED | CANCELED
  }
}

V2 完整请求体:

// applepay — Apple支付结果回调
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "pgYTPo74BK+lt8/kkiDC+rRSZqYXehDqi5x8YVzW8vk=", // AES(/v1/payment/applepay)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), portal: 应用包名(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"attendee": "",    // receipt (string) Apple支付凭据
						"federation": "",    // id (string) 支付ID/订单ID
						"asset": "",    // userId (string) 用户ID
						"chronicle": ""    // transactionId (string) 交易ID
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"warrior": "", // activityId
							"disambiguate": "", // redirectUrl
							"awaken": false, // addCredits
							"visor": "", // count
							"familiar": "", // currency
							"federation": "", // id
							"line": "" // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

15. 获取支付订单列表

GET /v1/payment/getPaymentDetailList | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "resource": "",    // paymentMethod — 支付方式,如 GOOGLEPAY/APPLEPAY
  "specimen": ""    // filterStatus — 筛选状态
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": []    // data (array) 订单列表每项含id/status/currency/count/activityId/addCredits/redirectUrl
}

V2 完整请求体:

// getPaymentDetailList — 获取支付订单列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "akl74gH/MMSG3R615uxuZhw6C49HU26J1wVLCZ4fXsny0tvJL2MHKrBv2fHrp42m", // AES(/v1/payment/getPaymentDetailList)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, resource: 支付方式,如 GOOGLEPAY/APPLEPAY, specimen: 筛选状态}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

16. 创建文生图任务

POST /v1/image/txt2img_create | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "declaration": 1,    // 固定传参
  "quest": "",    // aspectRatio (string) 宽高比
  "ledger": ""    // prompt (string) 文本提示词
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// txt2img_create — 创建文生图任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "9AkXTk9OIqDaK9lXXYVyARPxVIu8Y0H0vP3uCysLa5o=", // AES(/v1/image/txt2img_create)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"declaration": 1,    // 固定传参
						"quest": "",    // aspectRatio (string) 宽高比
						"ledger": ""    // prompt (string) 文本提示词
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

17. 创建换衣任务

POST /v1/image/clothes_swap_ex | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "congregation": "",    // templateName — 模板名称
  "accolade": "1"    // type — 类型
}

请求体 (字段映射后):

{
  "profit": "",    // srcImgBase64 (string) 源图片Base64数据
  "statute": ""    // srcImgUrl (string) 源图片URL
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// clothes_swap_ex — 创建换衣任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "+RfrZmGD8Uzkm6hmMNG5mxl8Gx0mk1ZKQLJ69q4mIZo=", // AES(/v1/image/clothes_swap_ex)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, congregation: 模板名称, accolade: 1}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"profit": "",    // srcImgBase64 (string) 源图片Base64数据
						"statute": ""    // srcImgUrl (string) 源图片URL
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

18. 查询图片生成进度

GET /v1/image/progress | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "tree": ""    // taskId — 任务ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "curate": [    // imageInfos (array) 图片信息列表
      {
        "reconfigure": "",    // imgUrl (string) 图片URL
        "reify": false,    // isBlur (boolean) 是否模糊
        "royalty": 0,    // imageId (long) 图片ID
        "booking": "",    // resolution (string) 分辨率
        "reconnect": 0    // imgType (int) 图片类型
      }
    ],
    "dice": 0,    // progress (int) 进度
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "accolade": 0,    // type (int) 任务类型
    "flowStep": 0,    // waitTime (int) 等待时间
    "tree": 0,    // taskId (int) 任务ID
    "revert": 0    // queueCnt (int) 队列数量
  }
}

V2 完整请求体:

// progress — 查询图片生成进度
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "fnugypQVDHXWalukCBusLojG59cRtfOzh5bYBatSg6I=", // AES(/v1/image/progress)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, tree: 任务ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"curate": [
								{
									"reconfigure": "", // imgUrl
									"reify": false, // isBlur
									"royalty": 0, // imageId
									"booking": "", // resolution
									"reconnect": 0 // imgType
								}
							], // imageInfos
							"dice": 0, // progress
							"listing": 0, // state
							"accolade": 0, // type
							"flowStep": 0, // waitTime
							"tree": 0, // taskId
							"revert": 0 // queueCnt
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

19. 获取视频换脸模板

GET /v1/image/faceswap_video_template | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": "",    // userId — 用户ID
  "insignia": ""    // categoryId — 分类ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 视频换脸模板列表
    {
      "unite": 0,    // frameIndex (int) 帧索引
      "demonstrate": 0,    // videoDuration (int) 视频时长
      "congregation": "",    // templateName (string) 模板名称
      "greaves": 0,    // credits (int) 积分
      "leap": 0,    // faceIndex (int) 人脸索引
      "simulate": "",    // templateFaceUrl (string) 模板人脸URL
      "realm": "",    // avatar (string) 头像
      "ascend": "",    // animate (string) 动画
      "rebalance": "",    // user (string) 用户
      "inject": ""    // templateUrl (string) 模板URL
    }
  ]
}

V2 完整请求体:

// faceswap_video_template — 获取视频换脸模板
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "pZQuCb74NC6YLZGPO/mRyDZUo9AJCfIiIJ+o4Z9hhr8r0b5Vvcw9vnJuIEVir9Km", // AES(/v1/image/faceswap_video_template)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID, insignia: 分类ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"unite": 0, // frameIndex
								"demonstrate": 0, // videoDuration
								"congregation": "", // templateName
								"greaves": 0, // credits
								"leap": 0, // faceIndex
								"simulate": "", // templateFaceUrl
								"realm": "", // avatar
								"ascend": "", // animate
								"rebalance": "", // user
								"inject": "" // templateUrl
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

20. 创建视频换脸任务

POST /v1/image/video_facewap_task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "fragment": 10,    // 固定传参
  "bond": "",    // headPos (string) 头像位置
  "promotion": "",    // videoUrl (string) 视频URL
  "arena": 2,    // 固定传参
  "agent": "",    // headImg (string) 头像图片
  "congregation": "",    // templateName (string) 模板名称
  "applicant": 1,    // 固定传参
  "accolade": 0,    // 固定传参
  "histogram": 3    // 固定传参
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// video_facewap_task — 创建视频换脸任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "u7fAlGvwVuiU3GAJWsYfCrBAssXCMl2atJBZ8nHkhlU=", // AES(/v1/image/video_facewap_task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"fragment": 10,    // 固定传参
						"bond": "",    // headPos (string) 头像位置
						"promotion": "",    // videoUrl (string) 视频URL
						"arena": 2,    // 固定传参
						"agent": "",    // headImg (string) 头像图片
						"congregation": "",    // templateName (string) 模板名称
						"applicant": 1,    // 固定传参
						"accolade": 0,    // 固定传参
						"histogram": 3    // 固定传参
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

21. 检测图片人脸

POST /v1/image/get_image_faces | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "profit": "",    // srcImgBase64 (string) 源图片Base64数据
  "statute": ""    // srcImgUrl (string) 源图片URL
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "cosmos": 0,    // duration (int) 时长
    "promotion": "",    // videoUrl (string) 视频URL
    "strike": [    // faceInfos (array) 人脸信息列表
      {
        "dash": "",    // face (string) 人脸图片
        "parry": 0,    // face_index (int) 人脸索引
        "venture": "",    // gender (string) 性别
        "configure": 0,    // y1 (int) 左上角Y坐标
        "invoke": 0,    // x1 (int) 左上角X坐标
        "manufacture": 0,    // y2 (int) 右下角Y坐标
        "prewarm": 0,    // index (int) 索引
        "sync": 0,    // x2 (int) 右下角X坐标
        "transform": 0,    // age (int) 年龄
        "pledge": 0    // frame_index (int) 帧索引
      }
    ],
    "deserialize": 0    // needCredits (int) 所需积分
  }
}

V2 完整请求体:

// get_image_faces — 检测图片人脸
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "m8/e/XZNDVzERrYbaXbvJoLVrdC3dFm5zz2lqCLZEJE=", // AES(/v1/image/get_image_faces)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"profit": "",    // srcImgBase64 (string) 源图片Base64数据
						"statute": ""    // srcImgUrl (string) 源图片URL
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"cosmos": 0, // duration
							"promotion": "", // videoUrl
							"strike": [
								{
									"dash": "", // face
									"parry": 0, // face_index
									"venture": "", // gender
									"configure": 0, // y1
									"invoke": 0, // x1
									"manufacture": 0, // y2
									"prewarm": 0, // index
									"sync": 0, // x2
									"transform": 0, // age
									"pledge": 0 // frame_index
								}
							], // faceInfos
							"deserialize": 0 // needCredits
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

22. 检测视频人脸

POST /v1/image/get_video_faces | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": "",    // userId — 用户ID
  "cosmos": "",    // duration — 时长
  "compendium": ""    // srcVideo — 源视频
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "cosmos": 0,    // duration (int) 时长
    "promotion": "",    // videoUrl (string) 视频URL
    "strike": [    // faceInfos (array) 人脸信息列表
      {
        "dash": "",    // face (string) 人脸图片
        "parry": 0,    // face_index (int) 人脸索引
        "venture": "",    // gender (string) 性别
        "configure": 0,    // y1 (int) 左上角Y坐标
        "invoke": 0,    // x1 (int) 左上角X坐标
        "manufacture": 0,    // y2 (int) 右下角Y坐标
        "prewarm": 0,    // index (int) 索引
        "sync": 0,    // x2 (int) 右下角X坐标
        "transform": 0,    // age (int) 年龄
        "pledge": 0    // frame_index (int) 帧索引
      }
    ],
    "deserialize": 0    // needCredits (int) 所需积分
  }
}

V2 完整请求体:

// get_video_faces — 检测视频人脸
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "RktekAqpwFr4a9UrAdL2Q5mXMGtWeZpD4x98x8o9EqM=", // AES(/v1/image/get_video_faces)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID, cosmos: 时长, compendium: 源视频}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"cosmos": 0, // duration
							"promotion": "", // videoUrl
							"strike": [
								{
									"dash": "", // face
									"parry": 0, // face_index
									"venture": "", // gender
									"configure": 0, // y1
									"invoke": 0, // x1
									"manufacture": 0, // y2
									"prewarm": 0, // index
									"sync": 0, // x2
									"transform": 0, // age
									"pledge": 0 // frame_index
								}
							], // faceInfos
							"deserialize": 0 // needCredits
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

23. 创建图转视频姿态任务

POST /v1/image/img2video_pose_task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "congregation": "",    // templateName — 模板名称
  "notification": "25",    // fps — 帧率
  "allowance": "false",    // needopt — 是否优化,通过配置控制
  "cosmos": "12",    // duration — 时长
  "profit": "",    // srcImgBase64 — 源图片Base64数据
  "compendium": ""    // srcVideo — 源视频
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// img2video_pose_task — 创建图转视频姿态任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "MckCynrhgryF3CC/4R7nV/5IwFr5uhwYLUQGATkw7qs=", // AES(/v1/image/img2video_pose_task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, congregation: 模板名称, notification: 25, allowance: false, cosmos: 12, profit: 源图片Base64数据, compendium: 源视频}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

24. 获取图转视频姿态模板

GET /v1/image/img2Video_pose_template | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": "",    // userId — 用户ID
  "insignia": "1"    // categoryId — 分类ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 图转视频姿态模板列表
    {
      "cosmos": 0,    // duration (int) 时长
      "extend": "",    // templateTfUrl (string) 模板TF URL
      "pipe": 0,    // templateTfCredits (int) 模板TF积分
      "acknowledge": "",    // templateFifUrl (string) 模板FIF URL
      "congregation": "",    // templateName (string) 模板名称
      "greaves": {},    // credits (object) 积分配置
      "unwrap": 0,    // templateTfDuration (int) 模板TF时长
      "decommission": 0,    // templateFifDuration (int) 模板FIF时长
      "ascend": "",    // animate (string) 动画
      "pause": 0,    // templateFifCredits (int) 模板FIF积分
      "inject": ""    // templateUrl (string) 模板URL
    }
  ]
}

V2 完整请求体:

// img2Video_pose_template — 获取图转视频姿态模板
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "9zFQk1LSljxTmJVs2zioYaokMmO248m495JIo8HEFckr0b5Vvcw9vnJuIEVir9Km", // AES(/v1/image/img2Video_pose_template)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID, insignia: 1}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"cosmos": 0, // duration
								"extend": "", // templateTfUrl
								"pipe": 0, // templateTfCredits
								"acknowledge": "", // templateFifUrl
								"congregation": "", // templateName
								"greaves": {
								}, // credits
								"unwrap": 0, // templateTfDuration
								"decommission": 0, // templateFifDuration
								"ascend": "", // animate
								"pause": 0, // templateFifCredits
								"inject": "" // templateUrl
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

25. 获取我的作品

GET /v1/image/mycreation | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "trophy": "",    // page — 页码
  "heatmap": "",    // size — 每页数量
  "cipher": ""    // taskType — 任务类型
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "weigh": 0,    // total (int) 总数
    "empower": 0,    // current (int) 当前页
    "heatmap": 0,    // size (int) 每页大小
    "harvest": false,    // optimizeCountSql (boolean) 是否优化count SQL
    "intensify": [    // records (array) 记录列表
      {
        "reconfigure": "",    // imgUrl (string) 图片URL
        "reify": false,    // isBlur (boolean) 是否模糊
        "cipher": 0,    // taskType (int) 任务类型
        "royalty": 0,    // imageId (long) 图片ID
        "unleash": "",    // appraise (string) 评价
        "booking": "",    // resolution (string) 分辨率
        "ledger": "",    // prompt (string) 提示词
        "reconnect": 0    // imgType (int) 图片类型
      }
    ],
    "architect": 0,    // maxLimit (int) 最大限制
    "suspend": false,    // searchCount (boolean) 是否搜索count
    "seek": false,    // optimizeJoinOfCountSql (boolean) 是否优化join count SQL
    "identify": [],    // orders (array) 排序
    "command": ""    // countId (string) count ID
  }
}

V2 完整请求体:

// mycreation — 获取我的作品
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "tUJUrkzJkuy/PJtFeaFez/FUbPg1LZ8g0iXfnjaxW8o=", // AES(/v1/image/mycreation)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, trophy: 页码, heatmap: 每页数量, cipher: 任务类型}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"weigh": 0, // total
							"empower": 0, // current
							"heatmap": 0, // size
							"harvest": false, // optimizeCountSql
							"intensify": [
								{
									"reconfigure": "", // imgUrl
									"reify": false, // isBlur
									"cipher": 0, // taskType
									"royalty": 0, // imageId
									"unleash": "", // appraise
									"booking": "", // resolution
									"ledger": "", // prompt
									"reconnect": 0 // imgType
								}
							], // records
							"architect": 0, // maxLimit
							"suspend": false, // searchCount
							"seek": false, // optimizeJoinOfCountSql
							"identify": [
							], // orders
							"command": "" // countId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

26. 获取推荐头像

GET /v1/image/recommendhead | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "associate": [    // sys (array) 系统推荐列表
      {
        "revenue": "",    // img (string) 图片
        "bond": "",    // headPos (string) 头部位置
        "leap": 0,    // faceIndex (int) 人脸索引
        "digitize": ""    // url (string) URL
      }
    ],
    "entrap": [    // recent (array) 最近使用列表
      {
        "revenue": "",    // img (string) 图片
        "bond": "",    // headPos (string) 头部位置
        "leap": 0,    // faceIndex (int) 人脸索引
        "digitize": ""    // url (string) URL
      }
    ]
  }
}

V2 完整请求体:

// recommendhead — 获取推荐头像
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "2lkgHC/EO4JgJL2ht0CeROHMMntqYKgFvNO/XCK1TyY=", // AES(/v1/image/recommendhead)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"associate": [
								{
									"revenue": "", // img
									"bond": "", // headPos
									"leap": 0, // faceIndex
									"digitize": "" // url
								}
							], // sys
							"entrap": [
								{
									"revenue": "", // img
									"bond": "", // headPos
									"leap": 0, // faceIndex
									"digitize": "" // url
								}
							] // recent
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

27. 创建换脸任务

POST /v1/image/faceswap_task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": ""    // app — 应用标识(必填)
}

请求体 (字段映射后):

{
  "revenue": "",    // img (string) 图片
  "bond": "",    // headPos (string) 头像位置
  "arena": 0,    // 固定传参
  "agent": "",    // headImg (string) 头像图片
  "booking": "",    // resolution (string) 分辨率
  "histogram": 2,    // 固定传参
  "stadium": 1    // 固定传参
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// faceswap_task — 创建换脸任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "pZQuCb74NC6YLZGPO/mRyDYdcbR8CUOur8pawoKJ5qw=", // AES(/v1/image/faceswap_task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填)}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"revenue": "",    // img (string) 图片
						"bond": "",    // headPos (string) 头像位置
						"arena": 0,    // 固定传参
						"agent": "",    // headImg (string) 头像图片
						"booking": "",    // resolution (string) 分辨率
						"histogram": 2,    // 固定传参
						"stadium": 1    // 固定传参
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

28. 获取图片模板

GET /v1/image/image_template | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "crest": "",    // ch — 渠道号
  "asset": "",    // userId — 用户ID
  "insignia": ""    // categoryId — 分类ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 图片模板列表
    {
      "bond": "",    // headPos (string) 头像位置
      "congregation": "",    // templateName (string) 模板名称
      "leap": 0,    // faceIndex (int) 人脸索引
      "greaves": 0,    // credits (int) 积分
      "realm": "",    // avatar (string) 头像
      "rebalance": "",    // user (string) 用户
      "theorize": "",    // resulotion (string) 分辨率
      "inject": ""    // templateUrl (string) 模板URL
    }
  ]
}

V2 完整请求体:

// image_template — 获取图片模板
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "XUCp6nWYnEP5aBtDzRw07JrewUeQlB9m0cMwMpSxoSc=", // AES(/v1/image/image_template)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), crest: 渠道号, asset: 用户ID, insignia: 分类ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"bond": "", // headPos
								"congregation": "", // templateName
								"leap": 0, // faceIndex
								"greaves": 0, // credits
								"realm": "", // avatar
								"rebalance": "", // user
								"theorize": "", // resulotion
								"inject": "" // templateUrl
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

29. App事件打点上报

POST /v1/log/appevent | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "fortress": "",    // event — 事件名称(必填)
  "asset": "",    // userId — 用户ID
  "crest": ""    // ch — 渠道
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// appevent — App事件打点上报
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "B9Wum7FH+IkJ/qSKE8yp6PLS28kvYwcqsG/Z8eunjaY=", // AES(/v1/log/appevent)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), fortress: 事件名称(必填), asset: 用户ID, crest: 渠道}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

30. 创建黏土风格任务

POST /v1/image/clay_stylization | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "allowance": "false",    // needopt — 是否优化,通过配置控制
  "crest": ""    // ch — 渠道号
}

请求体 (字段映射后):

{
  "profit": "",    // srcImgBase64 (string) 源图片Base64数据
  "statute": ""    // srcImgUrl (string) 源图片URL
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// clay_stylization — 创建黏土风格任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "efe3nmVAVTo4GwufCHGZn6/OuCdnVXoKnVUB18NlEaY=", // AES(/v1/image/clay_stylization)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, allowance: false, crest: 渠道号}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"profit": "",    // srcImgBase64 (string) 源图片Base64数据
						"statute": ""    // srcImgUrl (string) 源图片URL
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

31. 创建自定义换衣任务

POST /v1/image/custom_clothes_swap | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "asset": "",    // userId — 用户ID
  "ranger": "3"    // appType — 应用类型
}

请求体 (字段映射后):

{
  "balance": "",    // srcImg2 (string) 源图片2的文件路径
  "endeavor": ""    // srcImg1 (string) 源图片1的文件路径
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// custom_clothes_swap — 创建自定义换衣任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "ipj4rBNPdps6blpCvT8S4eMpl1GbmBEyeyl0PeGfEF4=", // AES(/v1/image/custom_clothes_swap)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({asset: 用户ID, ranger: 3}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"balance": "",    // srcImg2 (string) 源图片2的文件路径
						"endeavor": ""    // srcImg1 (string) 源图片1的文件路径
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

32. 获取文生图标签

GET /v1/image/txt2img_tags | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "portal": "",    // pkg — 应用包名(必填)
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 标签列表
    {
      "parallelize": "",    // theme (string) 主题
      "rally": [    // tags (array) 标签
        {
          "constrain": "",    // tag (string) 标签名
          "valor": ""    // desc (string) 描述
        }
      ]
    }
  ]
}

V2 完整请求体:

// txt2img_tags — 获取文生图标签
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "9AkXTk9OIqDaK9lXXYVyAb5FRZUhqPJbndWcaUq6VgQ=", // AES(/v1/image/txt2img_tags)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), portal: 应用包名(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"parallelize": "", // theme
								"rally": [
									{
										"constrain": "", // tag
										"valor": "" // desc
									}
								] // tags
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

33. 获取文生图提示词模板

POST /v1/image/txt2img_prompts | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "sidekick": []    // data (array) 标签数据列表
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "ledger": "",    // prompt (string) 文本提示词
    "rally": ""    // tags (string) 标签
  }
}

V2 完整请求体:

// txt2img_prompts — 获取文生图提示词模板
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "9AkXTk9OIqDaK9lXXYVyAaHztqFyfBVJmw86sPTZ5KY=", // AES(/v1/image/txt2img_prompts)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"sidekick": [{"custom":"","parallelize":"","rally":[]}]
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"ledger": "", // prompt
							"rally": "" // tags
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

34. 获取用户支付记录

GET /v1/user/payments | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 支付记录列表
    {
      "hero": 0,    // amount (int) 支付金额
      "restart": 0,    // payTime (int) 支付时间戳
      "intercept": "",    // payMethod (string) 支付方式
      "familiar": "",    // currency (string) 货币类型
      "assert": ""    // payId (string) 支付ID
    }
  ]
}

V2 完整请求体:

// payments — 获取用户支付记录
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "3g7ODurMzgd+K+DZoJ4hBLHn5C0MSwC5VeysX1j7mE4=", // AES(/v1/user/payments)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"hero": 0, // amount
								"restart": 0, // payTime
								"intercept": "", // payMethod
								"familiar": "", // currency
								"assert": "" // payId
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

35. 获取分类列表

GET /v1/image/category-list | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "portal": "",    // pkg — 应用包名(必填)
  "endowment": ""    // templateTypes — 模板类型列表
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 分类列表
    {
      "recharge": "",    // templateType (string) 模板类型
      "patrol": "",    // categoryName (string) 分类名称
      "insignia": 0    // categoryId (int) 分类ID
    }
  ]
}

V2 完整请求体:

// category_list — 获取分类列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "YiEwYYtY/jrNfR/6L3LjNcO1tDtYBjRkYRWFRJU8uds=", // AES(/v1/image/category-list)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({portal: 应用包名(必填), endowment: 模板类型列表}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"recharge": "", // templateType
								"patrol": "", // categoryName
								"insignia": 0 // categoryId
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

36. 获取App语言配置

GET /v1/config/app-language | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "portal": "",    // pkg — 应用包名(必填)
  "seminar": ""    // lang — 语言代码
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "charge": ""    // config (string) 语言配置JSON
  }
}

V2 完整请求体:

// app_language — 获取App语言配置
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "/0p7cVewd+WqmRAeA1yXfRrzFB0GLIIEsLkB3neLCYs=", // AES(/v1/config/app-language)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({portal: 应用包名(必填), seminar: 语言代码}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"charge": "" // config
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

37. 图片动作风格化gif

POST /v1/image/offtop_video | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": "",    // userId — 用户ID
  "allowance": "false"    // needopt — 是否优化,通过配置控制
}

请求体 (字段映射后):

{
  "summary": "480p",    // 固定传参
  "refuge": ""    // srcImg (string) 源图片
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// offtop_video — 图片动作风格化gif
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "baq0prjaYcmb6oSUqLbvxmquher0440frp0L3ZPvTFk=", // AES(/v1/image/offtop_video)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID, allowance: false}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"summary": "480p",    // 固定传参
						"refuge": ""    // srcImg (string) 源图片
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

38. 获取我的任务列表

GET /v1/image/my-tasks | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "trophy": "",    // page — 页码
  "heatmap": "",    // size — 每页数量
  "platoon": "1,3,4"    // taskTypes — 任务类型列表
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "weigh": 0,    // total (int) 总数
    "empower": 0,    // current (int) 当前页
    "heatmap": 0,    // size (int) 每页大小
    "intensify": [    // records (array) 记录列表
      {
        "cipher": 0,    // taskType (int) 任务类型
        "discover": 0,    // createTime (long) 创建时间
        "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
        "tree": 0,    // taskId (long) 任务ID
        "downsample": [    // imgList (array) 图片列表
          {
            "reconfigure": "",    // imgUrl (string) 图片URL
            "booking": "",    // resolution (string) 分辨率
            "reconnect": 0    // imgType (int) 图片类型
          }
        ]
      }
    ],
    "manifest": false    // hasNext (boolean) 是否有下一页
  }
}

V2 完整请求体:

// my_tasks — 获取我的任务列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "2NZQYBiTDfxnbiL8L3yzfsdXyXMDoWk2r4fMzMJFPXA=", // AES(/v1/image/my-tasks)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), trophy: 页码, heatmap: 每页数量, platoon: 1,3,4}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"weigh": 0, // total
							"empower": 0, // current
							"heatmap": 0, // size
							"intensify": [
								{
									"cipher": 0, // taskType
									"discover": 0, // createTime
									"listing": 0, // state
									"tree": 0, // taskId
									"downsample": [
										{
											"reconfigure": "", // imgUrl
											"booking": "", // resolution
											"reconnect": 0 // imgType
										}
									] // imgList
								}
							], // records
							"manifest": false // hasNext
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

39. 创建增强换脸任务

POST /v1/image/faceswap_ex_task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "sentinel": "",    // app — 应用标识(必填)
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "balance": "",    // srcImg2 (string) 源图片2的文件路径
  "endeavor": ""    // srcImg1 (string) 源图片1的文件路径
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// faceswap_ex_task — 创建增强换脸任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "pZQuCb74NC6YLZGPO/mRyGWK2GYVejPgKHRytHrqrXw=", // AES(/v1/image/faceswap_ex_task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({sentinel: 应用标识(必填), asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"balance": "",    // srcImg2 (string) 源图片2的文件路径
						"endeavor": ""    // srcImg1 (string) 源图片1的文件路径
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

40. 创建生图任务

POST /v1/image/create-task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "asset": ""    // userId — 用户ID
}

请求体 (字段映射后):

{
  "nexus": "",    // ext (string) 扩展参数
  "cipher": "",    // taskType (string) 任务类型
  "heatmap": "",    // size (string) 输出尺寸,如 480p
  "congregation": "",    // templateName (string) 模板名称
  "balance": "",    // srcImg2 (string) 源图片2的文件路径
  "guild": "",    // srcImg1Url (string) 源图片1的URL
  "allowance": false,    // 固定传参
  "endeavor": "",    // srcImg1 (string) 源图片1的文件路径
  "commission": "",    // srcImg2Url (string) 源图片2的URL
  "ledger": ""    // prompt (string) 文本提示词
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "listing": 0,    // state (int) 任务状态1=队列中 | 2=处理中 | 3=完成 | 4=超时 | 5=错误 | 6=中止
    "tree": 0    // taskId (int) 任务ID
  }
}

V2 完整请求体:

// create_task — 创建生图任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "rI0Hnrfr+omz0lgMlJaQHf2B/h7caWjEKjxYbKXcSN4=", // AES(/v1/image/create-task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({asset: 用户ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"nexus": "",    // ext (string) 扩展参数
						"cipher": "",    // taskType (string) 任务类型
						"heatmap": "",    // size (string) 输出尺寸,如 480p
						"congregation": "",    // templateName (string) 模板名称
						"balance": "",    // srcImg2 (string) 源图片2的文件路径
						"guild": "",    // srcImg1Url (string) 源图片1的URL
						"allowance": false,    // 固定传参
						"endeavor": "",    // srcImg1 (string) 源图片1的文件路径
						"commission": "",    // srcImg2Url (string) 源图片2的URL
						"ledger": ""    // prompt (string) 文本提示词
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"listing": 0, // state
							"tree": 0 // taskId
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

41. 获取积分页面信息

GET /v1/user/credits-page | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "trophy": "1",    // page — 页码
  "heatmap": "10",    // size — 每页条数
  "accolade": "1"    // type — 积分类型
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "weigh": 0,    // total (int) 总条数
    "empower": 0,    // current (int) 当前页
    "coordinate": 0,    // pages (int) 总页数
    "heatmap": 0,    // size (int) 每页大小
    "intensify": [    // records (array) 积分记录列表
      {
        "tailor": "",    // subBusinessType (string) 子业务类型
        "greaves": 0,    // credits (int) 积分数
        "discover": 0,    // createTime (long) 创建时间
        "vanquish": "",    // businessId (string) 业务ID
        "accolade": 0,    // type (int) 类型1=增加2=扣除
        "defend": ""    // businessType (string) 业务类型
      }
    ]
  }
}

V2 完整请求体:

// credits_page — 获取积分页面信息
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "Fxw9d1hrN+y+1MRKUZrnvSVJ/DrPhgkptWl0inq6XQk=", // AES(/v1/user/credits-page)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({trophy: 1, heatmap: 10, accolade: 1}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"weigh": 0, // total
							"empower": 0, // current
							"coordinate": 0, // pages
							"heatmap": 0, // size
							"intensify": [
								{
									"tailor": "", // subBusinessType
									"greaves": 0, // credits
									"discover": 0, // createTime
									"vanquish": "", // businessId
									"accolade": 0, // type
									"defend": "" // businessType
								}
							] // records
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

42. 删除任务

POST /v1/image/delete-task | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "tree": 0    // taskId (int) 任务ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// delete_task — 删除任务
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "uSEyKQBaKpqWKxMyG6uSBv2B/h7caWjEKjxYbKXcSN4=", // AES(/v1/image/delete-task)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"tree": 0    // taskId (int) 任务ID
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

43. 获取支付方式列表

POST /v1/payment/get-payment-methods | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "warrior": 0,    // activityId (int) 活动模板ID
  "vambrace": ""    // country (string) 国家代码
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "renew": [    // paymentMethods (array) 支付方式列表
      {
        "ceremony": "",    // subPaymentMethod (string) 子支付方式
        "conjure": 0,    // bonusCredits (int) 赠送积分
        "brigade": "",    // name (string) 名称
        "greylist": "",    // icon (string) 图标
        "finalize": false,    // recentlyUsed (boolean) 是否最近使用
        "resource": "",    // paymentMethod (string) 支付方式
        "deny": false,    // recommend (boolean) 是否推荐
        "enchant": 0.0,    // bonusRatio (double) 赠送比例
        "deploy": false    // selected (boolean) 是否默认选中
      }
    ]
  }
}

V2 完整请求体:

// get_payment_methods — 获取支付方式列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "pKTjSWEFROYi4ZSn5eMXfYHaCMQ1ESxQF0a7jxeJrGM=", // AES(/v1/payment/get-payment-methods)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"warrior": 0,    // activityId (int) 活动模板ID
						"vambrace": ""    // country (string) 国家代码
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"renew": [
								{
									"ceremony": "", // subPaymentMethod
									"conjure": 0, // bonusCredits
									"brigade": "", // name
									"greylist": "", // icon
									"finalize": false, // recentlyUsed
									"resource": "", // paymentMethod
									"deny": false, // recommend
									"enchant": 0.0, // bonusRatio
									"deploy": false // selected
								}
							] // paymentMethods
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

44. 获取订单详情

GET /v1/payment/getOrderDetail | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "asset": "",    // userId — 用户ID
  "federation": ""    // id — 支付ID/订单ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "warrior": "",    // activityId (string) 活动模板ID
    "disambiguate": "",    // redirectUrl (string) 重定向URL
    "awaken": false,    // addCredits (boolean) 是否添加积分
    "visor": "",    // count (string) 数量
    "familiar": "",    // currency (string) 货币
    "federation": "",    // id (string) 支付ID/订单ID
    "line": ""    // status (string) 支付状态枚举名INIT | SUCCESS | PROCESSING | FAILED | CANCELED
  }
}

V2 完整请求体:

// getOrderDetail — 获取订单详情
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "tV1hweljjY+aaQDf/Z5pJHO3+O6pZOm00cuW1CBPjSM=", // AES(/v1/payment/getOrderDetail)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({asset: 用户ID, federation: 支付ID/订单ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"warrior": "", // activityId
							"disambiguate": "", // redirectUrl
							"awaken": false, // addCredits
							"visor": "", // count
							"familiar": "", // currency
							"federation": "", // id
							"line": "" // status
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

45. 获取反馈上传URL

POST /v1/feedback/upload-presigned-url | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "layer": ""    // fileName (string) 文件名
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "shed": "",    // uploadUrl (string) 上传URL
    "hunt": ""    // filePath (string) 文件路径
  }
}

V2 完整请求体:

// upload_presigned_url — 获取反馈上传URL
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "orVu5EV4wketjm3s7dpINX3rgZjX7lkR1ySDUdycypd+BppU4+QHliSwjd40ejKk", // AES(/v1/feedback/upload-presigned-url)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"layer": ""    // fileName (string) 文件名
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"shed": "", // uploadUrl
							"hunt": "" // filePath
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

46. 提交反馈

POST /v1/feedback/submit | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "inventory": [],    // fileUrls (array) 文件URL列表
  "pauldron": "",    // contentType (string) 内容类型
  "cloak": ""    // content (string) 内容
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// submit — 提交反馈
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "2TPm4cO/6EAiAP+0nFLZFAfRMxamRw7mtQp2oyg1WDU=", // AES(/v1/feedback/submit)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"inventory": [],
						"pauldron": "",    // contentType (string) 内容类型
						"cloak": ""    // content (string) 内容
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": false // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

47. 获取反馈列表

GET /v1/feedback/list | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "trophy": "1",    // page — 页码
  "heatmap": "10"    // size — 每页条数
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "weigh": 0,    // total (int) 总条数
    "empower": 0,    // current (int) 当前页
    "heatmap": 0,    // size (int) 每页大小
    "intensify": [    // records (array) 反馈记录列表
      {
        "redact": false,    // read (boolean) 是否已读
        "track": 0,    // feedbackId (long) 反馈ID
        "inventory": [],    // fileUrls (array) 附件URL列表
        "voxelize": 0,    // replyStatus (int) 回复状态
        "uncover": "",    // createTimeText (string) 创建时间
        "cloak": ""    // content (string) 反馈内容
      }
    ],
    "manifest": false    // hasNext (boolean) 是否有下一页
  }
}

V2 完整请求体:

// list — 获取反馈列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "o0za2eNxr2M/wNp4474h0TU+subYe0OSk9tX0uO2G6M=", // AES(/v1/feedback/list)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({trophy: 1, heatmap: 10}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"weigh": 0, // total
							"empower": 0, // current
							"heatmap": 0, // size
							"intensify": [
								{
									"redact": false, // read
									"track": 0, // feedbackId
									"inventory": [
									], // fileUrls
									"voxelize": 0, // replyStatus
									"uncover": "", // createTimeText
									"cloak": "" // content
								}
							], // records
							"manifest": false // hasNext
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

48. 标记反馈已读

POST /v1/feedback/read | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "registry": []    // feedbackIds (array) 反馈ID列表
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "traverse": "",    // hint (string)
    "accolade": ""    // type (string)
  }
}

V2 完整请求体:

// read — 标记反馈已读
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "wuTBDHBVRDri3+rNYPPPhuZKxHeLVr128QorwtYqyfo=", // AES(/v1/feedback/read)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"registry": []
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

49. 获取未读消息数

GET /v1/user/unread-message-count | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "municipality": ""    // types — 消息类型列表
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "footprint": [    // unreadCountList (array) 各类型未读数列表
      {
        "visor": 0,    // count (int) 未读数
        "accolade": ""    // type (string) 消息类型
      }
    ],
    "defragment": 0,    // totalUnreadCount (int) 总未读消息数
    "probe": 0    // lastUpdateTime (int) 最后更新时间戳
  }
}

V2 完整请求体:

// unread_message_count — 获取未读消息数
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "b1fyDddTbwX8J5yeb4RDXC4rte3yUDCeMpw7Y+XCm8Y=", // AES(/v1/user/unread-message-count)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({municipality: 消息类型列表}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"footprint": [
								{
									"visor": 0, // count
									"accolade": "" // type
								}
							], // unreadCountList
							"defragment": 0, // totalUnreadCount
							"probe": 0 // lastUpdateTime
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

50. 获取图转视频分类

GET /v1/image/img2video/categories | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 分类列表
    {
      "brigade": "",    // name (string) 分类名称
      "greylist": "",    // icon (string) 图标
      "federation": 0    // id (int) 分类ID
    }
  ]
}

V2 完整请求体:

// categories — 获取图转视频分类
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "MckCynrhgryF3CC/4R7nVxIjtn/UVOCeJYwjKsE1byc=", // AES(/v1/image/img2video/categories)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"brigade": "", // name
								"greylist": "", // icon
								"federation": 0 // id
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

51. 获取图转视频任务列表

GET /v1/image/img2video/tasks | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

查询参数 (字段映射后):

{
  "insignia": ""    // categoryId — 分类ID
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": [    // data (array) 任务列表
    {
      "preempt": {    // previewVideo (object) 预览视频
        "lowUrl": "",    // lowUrl (string) 低分辨率视频URL
        "digitize": "",    // url (string) 视频URL
        "hlsUrl": ""    // hlsUrl (string) HLS流URL
      },
      "preprocess": {    // resolution720p (object) 720p分辨率配置
        "cosmos": 0,    // duration (int) 时长(秒)
        "greaves": 0,    // credits (int) 所需积分
        "greylist": ""    // icon (string) 图标URL
      },
      "simplify": 0,    // imageCount (int) 图片数量
      "nexus": "",    // ext (string) 扩展参数
      "cipher": "",    // taskType (string) 任务类型
      "reverify": {    // resolution480p (object) 480p分辨率配置
        "cosmos": 0,    // duration (int) 时长(秒)
        "greaves": 0,    // credits (int) 所需积分
        "greylist": ""    // icon (string) 图标URL
      },
      "congregation": "",    // templateName (string) 模板名称
      "allowance": false,    // needopt (boolean) 是否优化,通过配置控制
      "subscribe": {    // label (object) 标签
        "greylist": ""    // icon (string) 标签图标URL
      },
      "glossary": "",    // title (string) 标题
      "extract": {    // previewImage (object) 预览图
        "digitize": ""    // url (string) 图片URL
      }
    }
  ]
}

V2 完整请求体:

// tasks — 获取图转视频任务列表
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "MckCynrhgryF3CC/4R7nV+FeAz7t9nA8SXvtDdT0Tsk=", // AES(/v1/image/img2video/tasks)
//   "power_level": "pk2LyrB1C4p7ga0Wml8zIg==", // AES(GET)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES({insignia: 分类ID}) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// 注意: 原始接口为 GET走代理后统一 POST仍需传 V2 请求体(业务字段为空)
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": [
							{
								"preempt": {
									"lowUrl": "",
									"digitize": "", // url
									"hlsUrl": ""
								}, // previewVideo
								"preprocess": {
									"cosmos": 0, // duration
									"greaves": 0, // credits
									"greylist": "" // icon
								}, // resolution720p
								"simplify": 0, // imageCount
								"nexus": "", // ext
								"cipher": "", // taskType
								"reverify": {
									"cosmos": 0, // duration
									"greaves": 0, // credits
									"greylist": "" // icon
								}, // resolution480p
								"congregation": "", // templateName
								"allowance": false, // needopt
								"subscribe": {
									"greylist": "" // icon
								}, // label
								"glossary": "", // title
								"extract": {
									"digitize": "" // url
								} // previewImage
							}
						] // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

52. 获取预签名上传URL

POST /v1/image/upload-presigned-url | 鉴权: 需要

请求头 (字段映射后):

  portal              应用包名(必填)  (原始: pkg)
  knight              用户登录token  (原始: User_token)

请求体 (字段映射后):

{
  "gateway": "",    // fileName1 (string) 文件名1
  "action": "",    // fileName2 (string) 文件名2
  "pauldron": "",    // contentType (string) 文件MIME类型
  "stronghold": 0    // expectedSize (int) 预期文件大小
}

响应 (解密后, 字段映射后):

{
  "rampart": "",    // msg (string) 消息
  "helm": 0,    // code (int) 状态码0=成功
  "sidekick": {    // data
    "bolster": "",    // uploadUrl1 (string) 上传URL 1
    "soar": 0,    // expiresIn (int) 过期时间(秒)
    "remap": {},    // requiredHeaders (object) 上传所需请求头
    "expound": "",    // uploadUrl2 (string) 上传URL 2
    "train": "",    // filePath2 (string) 文件路径 2
    "recruit": ""    // filePath1 (string) 文件路径 1
  }
}

V2 完整请求体:

// upload_presigned_url — 获取预签名上传URL
// POST {baseUrl}/quester/defender/summoner
//
// 代理请求:
// {
//   "hero_class": "petsHeroAI",                        // appId 明文
//   "pet_species": "71cQz8GwS59uZWbDSUl3g5Tw3bsKFw2qnr3fhePqBfw=", // AES(/v1/image/upload-presigned-url)
//   "power_level": "VP+tlhOYAAqQIAPPKEmKEg==", // AES(POST)
//   "quest_rank": "<AES({portal: 应用包名(必填), knight: 用户登录token}) → Base64>",  // AES(映射后的Header字段名构造JSON) → Base64
//   "battle_score": "<AES(无) → Base64>",  // AES(映射后的URL参数字段名构造JSON) → Base64
//   "loyalty_index": "<AES(V2请求体JSON)>",  // AES(V2包装后的业务数据) → Base64
//   "billing_addr": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "utm_term": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "cluster_id": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "lsn_value": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "accuracy_val": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
//   "dir_path": "<随机4-8位字母数字AES加密→Base64>"      // 噪音
// }
//
// V2 请求体 — 填入业务值后 AES 加密,填入 loyalty_index
{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"gateway": "",    // fileName1 (string) 文件名1
						"action": "",    // fileName2 (string) 文件名2
						"pauldron": "",    // contentType (string) 文件MIME类型
						"stronghold": 0    // expectedSize (int) 预期文件大小
					}
				}
			}
		}
	},
	"roar": "<随机4-8位字母数字AES加密→Base64>",
	"clash": "<随机4-8位字母数字AES加密→Base64>",
	"thunder": "<随机4-8位字母数字AES加密→Base64>",
	"rumble": "<随机4-8位字母数字AES加密→Base64>",
	"howl": "<随机4-8位字母数字AES加密→Base64>",
	"growl": "<随机4-8位字母数字AES加密→Base64>"
}

V2 完整响应体 (解密后):

{
	"arsenal": 4,
	"vault": {
		"tome": {
			"codex": {
				"grimoire": {
					"sanctum": {
						"rampart": "", // msg
						"helm": 0, // code
						"sidekick": {
							"bolster": "", // uploadUrl1
							"soar": 0, // expiresIn
							"remap": {
							}, // requiredHeaders
							"expound": "", // uploadUrl2
							"train": "", // filePath2
							"recruit": "" // filePath1
						} // data
					}
				}
			}
		}
	},
	"roar": "Gpi2C7Dg",
	"clash": "XDiAM66y",
	"thunder": "O0xTOn6x",
	"rumble": "3xGSz02a",
	"howl": "WRN1EzZY",
	"growl": "1TZlZMZd"
}

错误码

code 说明
0 成功
-1 失败
-2 系统错误
-3 鉴权失败
-5 参数错误
1001 积分不足
1002 免费次数已用完
1003 免费次数和积分均已用完

字段映射全表

原始字段 V2字段
User_token knight
accountId wizard
accountName captain
activityId warrior
activitys summon
actualAmount guardian
addCredits awaken
adsTokenId champion
age transform
amount hero
animate ascend
app sentinel
appFbConfig evolve
appType ranger
appraise unleash
approveState paladin
aspectRatio quest
automaticRenewal legend
avatar realm
baseCredits wield
baseUrl destiny
begTime emblem
bonus forge
bonusCredits conjure
bonusRatio enchant
businessId vanquish
businessType defend
campaignInfo relic
card artifact
categoryId insignia
categoryName patrol
ch crest
channel lineage
channelType armor
client shield
clientId gauntlet
code helm
coder mantle
config charge
content cloak
contentType pauldron
count visor
countId command
country vambrace
countryCode navigate
creatTime explore
createTime discover
createTimeText uncover
credit reveal
creditPromotion unlock
credits greaves
creditsRecordUrl conquer
cryptoInvoiceUrl protect
currency familiar
current empower
cvcCode companion
data sidekick
days species
department inspire
desc valor
description pedigree
devId ancestry
deviceId origin
discountOff lead
domain totem
domains avatar
dt sigil
duration cosmos
email galaxy
enabled nebula
endTime citadel
event fortress
expectedSize stronghold
expireMonth dominion
expireYear sanctuary
expiresIn soar
ext nexus
extConfig surge
extJson vanguard
face dash
faceIndex leap
faceInfos strike
face_index parry
feature dodge
features scout
feedbackId track
feedbackIds registry
fileName layer
fileName1 gateway
fileName2 action
filePath hunt
filePath1 recruit
filePath2 train
fileUrls inventory
filterCountry blueprint
filterDomain vendor
filterOwnerId participant
filterStatus specimen
filterTaskType package
filterVip quotation
firstName appointment
firstRegister equip
forcePayCenter upgrade
fps notification
frameIndex unite
frame_index pledge
freeBlurTimes vow
freeTimes decree
gender venture
googleClientId discourse
h5UrlConfig pursue
hasNext manifest
hash mediation
hashIsZero corpus
headFaceIndex histogram
headImg agent
headPos bond
headType arena
hint traverse
host initiative
icon greylist
id federation
imageCount simplify
imageFaceIndex committee
imageId royalty
imageInfos curate
img revenue
imgCount declaration
imgId criterion
imgList downsample
imgType reconnect
imgUrl reconfigure
index prewarm
inviteBy item
invitedCnt deduce
isBlur reify
isVip generate
issuerUrl merge
keepUserId series
label subscribe
lang seminar
lastName bazaar
lastUpdateTime probe
link festival
list junction
maxLimit architect
method heap
methodActivitys modify
methodChannels restore
model authorization
msg rampart
name brigade
needCredits deserialize
needImage assembly
needUndress directive
needopt allowance
negativePrompt underwriter
note extrapolate
openType transplant
optimizeCountSql harvest
optimizeJoinOfCountSql seek
orderId gazette
orders identify
originAmount curriculum
owner genealogy
p12KeyPath arraignment
packageName folio
page trophy
pages coordinate
password township
payCenterUrl switch
payId assert
payMethod intercept
payMethods wallet
payStatus destroy
payTime restart
payTypeList handshake
payUrl convert
paylink unzip
paymentMethod resource
paymentMethods renew
permissions sandbox
phone block
pkg portal
platform trigger
previewImage extract
previewVideo preempt
productType subtract
progress dice
prompt ledger
publicKey template
purchaseData merchant
queueCnt revert
read redact
receipt attendee
recent entrap
recentlyUsed finalize
recommend deny
records intensify
redirectUrl disambiguate
referer digest
refererType campaign
replyStatus voxelize
requiredHeaders remap
resolution booking
resolution480p reverify
resolution720p preprocess
resulotion theorize
rewardCredits represent
rewardRatio render
role evaluate
searchCount suspend
selected deploy
serviceAccountEmail alert
sharedSecret comment
showName mold
sign resolution
signature sample
size heatmap
sort invent
srcFaceImgBase64 attachment
srcFaceIndex stadium
srcImg refuge
srcImg1 endeavor
srcImg1Url guild
srcImg2 balance
srcImg2Url commission
srcImgBase64 profit
srcImgUrl statute
srcVideo compendium
state listing
status line
style webinar
subBusinessType tailor
subPaymentMethod ceremony
subScribeValidTime tokenize
subscriptionActivitys cleanse
subscriptionPeriod distribute
sumCredits emit
sys associate
t2IConfig regulate
tag constrain
tags rally
targetId node
targetInvitedCnt authorize
taskId tree
taskIds privilege
taskType cipher
taskTypes platoon
templateFaceUrl simulate
templateFifCredits pause
templateFifDuration decommission
templateFifUrl acknowledge
templateName congregation
templateTfCredits pipe
templateTfDuration unwrap
templateTfUrl extend
templateType recharge
templateTypes endowment
templateUrl inject
tgId concession
tgName defer
tgOrderId insurer
theme parallelize
title glossary
token thesis
total weigh
totalUnreadCount defragment
transactionId chronicle
truePrompt deposition
ts quarto
type accolade
types municipality
unreadCountList footprint
updateTime fork
uploadUrl shed
uploadUrl1 bolster
uploadUrl2 expound
url digitize
user rebalance
userApplePayList gallery
userId asset
userInfoType frame
userName terminal
userToken reevaluate
userType prefetch
username pulse
usign retrospect
val journal
value schema
verifyCode supplier
videoDuration demonstrate
videoFaceIndex applicant
videoFrameIndex fragment
videoSize summary
videoUrl promotion
waitTime flowStep
x1 invoke
x2 sync
y1 configure
y2 manufacture

本文档由 ProtocolEncTool 自动生成API 变更后请重新执行生成命令。transplant