数字克隆 SZKL.CN

API文档

公开演员目录与经审核合作方的服务端接入契约。

API V1 · 合作方服务端

最近更新2026-09-22订单查询接口逐字段补充业务含义说明,授权到期时间字段显式标注

GETTING STARTED

开始接入

公开演员数据可由浏览器匿名读取;身份映射与购买只能由合作方后端使用JD1签名访问,终端浏览器不访问SZKL。

Base URL
https://www.szkl.cn/api/v1
业务环境
合作方仅接受production;须审核通过并完成配置
响应格式
JSON(媒体与字幕除外);错误使用稳定的 error.code
请求追踪
响应头 x-request-id
接入边界
  • 公开宣传媒体只用于发现与展示,不构成生产素材资格或商业授权。
  • JD1私钥只能保存在合作方服务端,不得进入浏览器、移动端包或日志。
  • 合作方调用需完成平台审核、线下合同登记和凭证配置。

接入流程

  1. 线下签署B端合作合同(合作方与巨东AI之间的框架合同)。
  2. /partners/apply提交申请:工商主体、联系人、平台显示名称与合作方服务端生成的Ed25519公钥(SPKI PEM)。
  3. 审核通过后配置平台,发放credentialId与权威audience;公钥指纹可在后台核对。
  4. 完成合同登记、凭证和权限配置后,合作方可调用身份绑定与购买接口。
  5. 预存余额充值后开始业务交易。

密钥生成(在合作方服务端执行)

openssl genpkey -algorithm ed25519 -out partner-private.pem   # 私钥,仅保存在服务端
openssl pkey -in partner-private.pem -pubout -out partner-public.pem   # 公钥,粘贴到申请表单

公钥以-----BEGIN PUBLIC KEY-----开头;不要提交私钥、SSH格式或JWK。私钥丢失平台侧无法恢复;请联系管理员停用受影响凭证并安排重新配置。

Scope

身份与绑定
authorization_sessions:create / authorization_sessions:read / projects:bind / identity:assert_verified_email
以管理员实际配置的权限为准
购买与资金
purchase:create / purchase:read / funds:read
以管理员实际配置的权限为准
样片归档
content_archive
以管理员实际配置的权限为准
PUBLIC DISCOVERY

公开演员API

演员目录、详情和媒体端点允许任意Origin无凭据 GET/OPTIONS,禁止携带Cookie或Authorization。公开核验端点只提供匿名 GET,不读取登录会话。媒体URL以响应中的绝对公开地址为准。

  • GET
    /health

    读取服务健康与部署环境

    匿名
  • GET
    /actors

    搜索和分页读取公开演员

    匿名
  • GET
    /actors/{actorCode}

    读取演员详情和公开形象

    匿名
  • GET
    /media/{publicId}

    读取已发布宣传媒体

    匿名
  • GET
    /media/{publicId}/captions

    读取已发布字幕

    匿名
  • GET
    /verification/{token}

    查询公开授权核验事实

    匿名

最小请求

curl -H "Accept: application/json" \
  "https://www.szkl.cn/api/v1/actors?limit=24&offset=0"

公开读取错误:参数无效为400 BAD_REQUEST,资源不存在为404 NOT_FOUND,依赖不可用为503 SERVICE_UNAVAILABLE,未预期异常为500 INTERNAL_ERROR。媒体还支持206部分内容、304未修改和416范围不可满足。

公开授权核验

当前核验接口仅支持历史 test/test_only 授权事实,不提供正式production授权核验。正式购买响应中的核验编号不能据此视为已经支持公开核验。

使用授权编号查询最小核验事实。非法编号、权威不存在返回 404;依赖或响应畸形返回 503;成功与错误均禁止缓存,成功响应不携带来源地址。

curl -H "Accept: application/json" \
  "https://www.szkl.cn/api/v1/verification/JDT-ABCDEF0123456789ABCDEF01"
PARTNER SERVER API

合作方API

合作方接口只接受人工审核后配置的服务端凭证。合作方后端直接建立平台范围身份映射,响应不含授权URL、state、回跳或Cookie;合作网站完成自己的订单、合同和支付后,再调用购买接口取得项目买断授权;生成由合作方模型侧直接完成,不经巨东API。

  • POST
    /partner/authorization-sessions

    建立服务端身份映射;scope:authorization_sessions:create + projects:bind + identity:assert_verified_email

    JD1
  • GET
    /partner/authorization-sessions/{sessionId}

    查询身份映射与后续权威状态;scope:authorization_sessions:read

    JD1

购买与资金

  • GET
    /partner/purchase-options

    读取项目买断价目、年限系数和场景规则;scope:purchase:read

    JD1
  • POST
    /partner/purchase-orders

    原子完成扣款、合同与项目买断授权;scope:purchase:create

    JD1
  • GET
    /partner/purchase-orders

    按外部订单号查询购买和授权事实;scope:purchase:read

    JD1
  • GET
    /partner/fund-balance

    读取合作平台预存余额;scope:funds:read

    JD1
  • GET
    /partner/fund-events

    分页读取不可变资金流水;scope:funds:read

    JD1

样片归档与审核

  • POST
    /partner/content-archives/uploads

    申请样片归档直传授权(预签名PUT地址,1小时有效);scope:content_archive

    JD1
  • POST
    /partner/content-archives/complete

    确认样片回传并启动异步审核(画面机审+LLM语义比对);scope:content_archive

    JD1
  • GET
    /partner/content-archives

    查询归档状态机、机审/LLM/人工复核结论与时间线;scope:content_archive

    JD1

样片归档为授权合规审核意见与证据留存:巨东不是发行闸门,审核不通过合作方仍可自行决定发行;审核结论由状态查询接口读取,样片文件保留365天后清理,审核记录永久留存。

合作网站需要保存

客户映射
externalUserId ↔ sessionId,同一用户长期保持稳定
购买映射
externalOrderId ↔ purchaseId/projectId,买断授权绑定该项目
实名认证
只传已认证结果、认证时间和认证记录编号;不传身份证号、证件图片或原始材料

请求与响应示例

以下响应只摘录合作方成功响应的data字段,省略号和尖括号需替换为实际值。完整JSON包裹为{ "data": { ... }, "meta": { "request_id": "..." } };金额仅为示例,不代表当前报价。

① 建立服务端身份映射

POST /api/v1/partner/authorization-sessions
{
  "externalUserId": "customer-42",
  "externalProjectId": "drama-2026-001",
  "contactEmail": "customer@example.com",
  "emailVerified": true,
  "emailVerificationMethod": "partner_account_v1",
  "requestedScopes": ["projects:bind"],
  "selection": { "version": 2, "mode": "editable", "actorCodes": ["ACT-781C32A7CC"] }
}

201 →
{ "status": "claimed", "accountLinked": true, "sessionId": "<uuid>",
  "externalProjectId": "drama-2026-001", "selection": { ... } }

响应不含授权URL、state、回跳、Cookie或token;同一externalUserId重复提交收敛到同一映射。购买时externalCustomerId必须与externalUserId完全一致。

② 购买项目买断授权

POST /api/v1/partner/purchase-orders
{
  "externalOrderId": "order-2026-0001",
  "externalCustomerId": "customer-42",
  "subjectKind": "individual",
  "subjectName": "张三",
  "identityVerified": true,
  "identityVerifiedAt": "2026-09-05T10:00:00+08:00",
  "identityVerificationReference": "partner-verify-0001",
  "customerAcceptedAt": "2026-09-05T10:05:00+08:00",
  "customerPhone": "13800001234",
  "acceptanceReference": "partner-accept-0001",
  "signRedirectUrl": "https://partner-site.example/order/order-2026-0001/signed",
  "projectName": "品牌短剧", "workType": "短剧",
  "synopsis": "用于品牌故事展示的系列短剧项目。", "releaseChannels": ["合作网站"],
  "scenarioId": "<purchase-options返回>",
  "actorConfigurations": [
    { "actorCode": "ACT-781C32A7CC", "commercialYears": 1 }
  ],
  "projectAuthorization": {
    "version": 1,
    "productionCompany": "某某影业有限公司",
    "producerCompany": "某某影业有限公司",
    "workKind": "series",
    "episodeCount": 12,
    "episodeDurationMinutes": 10,
    "roles": [ { "actorCode": "ACT-781C32A7CC", "roleName": "女主角" } ]
  },
  "idempotencyKey": "order-2026-0001-create"
}

201 → { "purchaseId": "<uuid>", "projectId": "<uuid>", "contractNo": "...",
  "licenses": [ { "actorCode": "...", "licenseId": "<uuid>", "pricingModel": "buyout_v1",
                  "buyoutCents": 49500, "pricePerSecondCents": 33, "commercialExpiresAt": "..." } ],
  "totalCents": 49500, "balanceAfterCents": ... }

单事务全有或全无:余额不足(INSUFFICIENT_FUNDS)或任一环节失败整体回滚,不产生部分扣款。买断价由服务端按演员当前每秒权威价折算(每秒单价×1500×年限系数;1年精确、2/3年向下取整到10元;当前全员0.33元/秒对应495/890/1230元/年);买断含项目内不限量生成与演员未来新增形象,同一项目需重新买断,年限1–3年。

购买字段说明(每个字段为什么需要)

字段与格式以OpenAPI schema为准;以下解释业务含义,供表单设计与向客户收集信息时参考。

externalOrderId
你们的订单号:双方对账与追溯的唯一凭据,由你们系统生成。
externalCustomerId
你们的客户ID:先经授权会话完成绑定,购买才能关联到真实客户。
idempotencyKey
防重复扣款:建议用“订单号-create”。网络超时后同键同内容重试返回原结果,同键不同内容返回IDEMPOTENCY_CONFLICT
subjectKind / subjectName
谁买授权(合同被授权方):个人填身份证姓名、企业填营业执照全称;必须与实名或执照完全一致,不接受简称或品牌名。
identityVerified 三件套
实名在合作网站完成、认证材料留合作网站;此处只登记已认证事实、时间与凭据编号,作为合同效力与争议追溯依据。未实名(false)的请求会被拒绝。
customerPhone
客户本人手机号:电子签署的参与方匹配与意愿认证短信都使用它,缺失或不匹配时客户在签署环节无法完成;个人订单必须与实名主体一致。
customerAcceptedAt + acceptanceReference
客户在你们页面确认订单内容的时间与确认凭据编号,共同构成“客户同意购买”的证据;两个值都要生成保存,不能只存勾选状态。
projectName / workType / synopsis / releaseChannels
合同标的与授权用途条款的素材:作品名称、类型、内容简介(10–2000字)与计划发行渠道(1–10个),写清楚对客户是保护。
scenarioId
使用场景:不同场景对应不同授权条款与计价组合,必须取自purchase-options返回的scenarios,不要自行构造。
actorConfigurations
逐演员买断:actorCode与commercialYears(1/2/3年)。价格由服务端按权威每秒价计算并在响应中返回快照,客户端不应自行计价;买断含项目内不限量生成与演员未来新增形象,换项目需重新买断。
projectAuthorization.productionCompany
出品公司=作品的版权主体(片头“出品”署名)。它回答“作品归谁”,与subjectName回答的“谁买授权”是两件事:客户自有版权时填同一家,代理或发行时填实际版权方。合同必须同时写明两者,演员形象授权才挂在真实权利链上。
projectAuthorization.producerCompany
制片公司=实际承制拍摄方;与出品为同一家时填一样,或不传该字段。
filingNumber / releaseLicenseNumber
作品备案号与发行许可证号(选填):证明作品本身合规。
projectAuthorization.workKind
作品形态:series(剧集,按集)/film(电影,按部),决定合同标的的规格写法与时长必填项——series必填episodeCount与episodeDurationMinutes,film必填filmDurationMinutes。短剧一律series。
projectAuthorization.roles
每位所选演员在剧中饰演的角色名,必须与actorConfigurations的演员一一对应。
projectAuthorization.version
资料结构版本号,当前固定填1。
signRedirectUrl
签署完成跳回你们页面的HTTPS地址(可选);不传时客户停留在签署平台完成页。

③ 生成说明(生成接口已退役)

买断订单的生成在您的模型侧直接进行:不经巨东API、无需预留或结算、生成次数不限。历史按秒生成预留/结算接口已整体退役移除(全库无历史调用数据);如您的旧代码中存在对接残留,可整体删除。

幂等与防重放
  • 购买写请求携带16–200字符idempotencyKey:同键同载荷重放返回原结果(零新写);同键不同载荷返回IDEMPOTENCY_CONFLICT
  • 身份绑定不接收idempotencyKey;购买写请求才使用业务幂等键。每次HTTP请求重新生成JD1 timestamp、nonce和签名;成功使用过的nonce不可重放。
  • 响应不明确(超时、断连、5xx)时:用新nonce签名GET同一业务ID查询权威状态,不要盲目重放写请求。
  • 所有POST正文为严格JSON(additionalProperties=false):未知字段、控制字符、非整数都会被拒绝;原始JSON字节参与签名。
REQUEST SIGNING

JD1签名

每次请求使用新的时间戳和nonce。签名覆盖HTTP方法、原始查询顺序和最终发送的body字节;响应不明确时使用新nonce查询权威状态,不盲目重放写请求。

x-jd-credential: <credential-id>
x-jd-environment: production
x-jd-audience: <configured-audience>
x-jd-timestamp: <unix-seconds>
x-jd-nonce: <base64url-random-bytes>
x-jd-signature: <base64url-ed25519-signature>

完整规范原文以下载的OpenAPI及合作方接入契约为准。签名允许前后300秒时钟差,成功使用过的nonce不可重放。

签名原文(固定顺序)

JD1
credential:<credential-id>
environment:production
audience:<configured-logical-audience>
timestamp:<unix-seconds>
nonce:<base64url-random-bytes>
method:<UPPERCASE-METHOD>
target:<pathname-with-original-query-order>
body-sha256:<base64url-sha256-of-raw-body-bytes>

UTF-8编码,字段顺序与换行固定,所有值禁止CR/LF。target不含scheme/host,查询参数不得在签名后重排;GET使用空body摘要。

Node.js签名示例(仅服务端)

import { createHash, createPrivateKey, randomBytes, sign } from "node:crypto";
const b64u = (b) => b.toString("base64url");
const body = Buffer.from(JSON.stringify(payload));
const canonical = [
  "JD1",
  `credential:${credentialId}`,
  `environment:${environment}`,
  `audience:${audience}`,
  `timestamp:${Math.floor(Date.now() / 1000)}`,
  `nonce:${b64u(randomBytes(24))}`,
  `method:POST`,
  `target:/api/v1/partner/authorization-sessions`,
  `body-sha256:${b64u(createHash("sha256").update(body).digest())}`,
].join("\n");
const signature = b64u(sign(null, Buffer.from(canonical),
  createPrivateKey({ key: privateKeyPkcs8Pem, format: "pem" })));
INTEGRATION TIPS

集成建议

以下为参考建议而非接入门禁;服务端的原子购买与幂等已保证账本正确性。采纳这些建议可以减少接入问题与对账分歧。

支付与购买时机
  • 只在合作方服务端确认收款(支付机构服务端回调验签落库)后才调用购买接口;浏览器回跳和前端支付结果不能作为收款依据。
  • 购买响应不明确(超时、断连、5xx)时,用新nonce签名GET同一externalOrderId查询权威状态,不要盲目重放POST。
  • 收到IDEMPOTENCY_CONFLICT先GET同一订单,与首次落库的请求快照逐项核对:完全匹配且settled则直接发权益,不匹配才进入人工对账;不要换订单号或幂等键重新购买。
  • 在购买成功响应到达后再向您的客户发放权益,避免出现需要回滚的客户体验。
生成任务可靠性
  • 买断订单的生成完全由您的系统发起与管理,巨东侧无预占、结算或时长校验义务;建议自行持久化生成任务记录(任务ID、projectId、演员、幂等键)以便内部对账与审计。
稳定性与排查
  • 记录每个响应的x-request-id;向我们反馈问题时附上它可大幅缩短排查时间。
  • 瞬时SERVICE_UNAVAILABLE可安全退避重试(如1s/2s间隔);交易请求始终用新nonce。
  • 演员目录与价格是低频变化数据,可在合作端缓存(如60分钟TTL);购买与资金请求使用实时签名调用。
  • 建议对购买与资金流水做日终对账抽样,与我们流水(fund-events)核对一致后再结算内部账。
FAIL CLOSED

错误与重试

MISSING_AUTHENTICATION / MALFORMED_AUTHENTICATION / INVALID_SIGNATURE
认证头或签名无效
处置:先修复签名实现,不盲重试
STALE_REQUEST
时间戳超出±300秒窗口
处置:校准时钟后用新nonce重试
REPLAY_DETECTED
nonce已被使用
处置:使用新nonce,不复用原请求
ENVIRONMENT_MISMATCH
凭证与目标环境不一致
处置:修复environment配置
AUDIENCE_MISMATCH
请求audience与凭证环境配置不一致
处置:修复audience配置,原样复制后台值
CREDENTIAL_UNAVAILABLE / PLATFORM_UNAVAILABLE / ENVIRONMENT_NOT_READY
凭证不可用,或平台/环境门禁未开放(production需平台approved+已登记合同)
处置:联系管理员检查状态
PLATFORM_REGISTRATION_INCOMPLETE
提交projectAuthorization时平台登记主体资料不完整
处置:联系巨东补全平台登记后重试
SCOPE_FORBIDDEN
凭证不含所需scope
处置:由管理员审核开通,不能客户端扩权
RATE_LIMITED
当前凭证超过120次/分钟
处置:等待窗口后用新nonce重试
SESSION_FORBIDDEN / SESSION_NOT_FOUND
会话属于其他平台或不存在
处置:不重试、不枚举,核对ID
PROJECT_NOT_FOUND / ACTOR_NOT_FOUND
项目不属于当前平台或演员不存在/未上架
处置:核对购买返回的projectId与公开actorCode
BAD_REQUEST
请求字段、结构或演员编号无效
处置:修复请求正文后用新nonce重试
IDEMPOTENCY_CONFLICT
同一幂等键绑定了不同规范请求
处置:停止重试;购买先GET同一externalOrderId与首份快照核对
CONFLICT
对象状态已变化(会话失效或授权状态变化)
处置:核对状态,不原样重放
INSUFFICIENT_FUNDS
预存余额不足
处置:充值后用新nonce重新发起
EXTERNAL_CUSTOMER_UNMAPPED
外部客户尚未完成身份绑定
处置:先完成authorization-sessions绑定

机器可读字段、schema、scope和响应以 OpenAPI v1 为准;本文摘要不放宽认证、幂等、额度或失败关闭规则。

CHANGELOG

更新日志

按日期倒序列出已登记进 OpenAPI 的接口契约变更;机器契约以下载的 v1.yaml 为准。

2026-09-22 订单查询接口逐字段补充业务含义说明,授权到期时间字段显式标注

按合作方反馈补充人类可读文档:订单查询(GET /partner/purchase-orders)响应的每个字段新增业务含义说明,重点标注 licenses[].commercialExpiresAt=每个艺人的授权到期时间(剩余可用时限=该时间与当前时间的差),并补充购买响应、资金余额、资金流水、授权会话、内容归档等接口同类说明与授权清单示例报文;同步修正一处既有契约测试断言(必填字段对齐应排除可选字段)。

授权到期时间
GET /partner/purchase-orders 响应的 licenses[].commercialExpiresAt 为该艺人商业授权到期时间(必返);licenses[].commercialYears 为年限,剩余可用时限=到期时间与当前时间的差,无需合作方自行推算
逐字段说明覆盖
购买请求/响应/查询、购买选项、资金余额与流水、授权会话、内容归档审核状态等接口的枚举值含义(如 licenseStatus 的 active/expired/suspended/terminated、资金事件类型与带符号金额方向)全部在文档内标注
示例报文
PlatformPurchaseLicense schema 新增完整示例(含 commercialExpiresAt 与 licenseStatus=active)
兼容性
  • 纯文档与描述增强:请求字段、校验规则、错误码与响应结构均无变化,已按现行契约开发的合作方无需改动

2026-09-22 API文档新增购买字段说明,购买示例补齐必填手机号

按合作方反馈补充人类可读文档:购买请求每个字段新增业务含义说明(重点区分subjectName=谁买授权与productionCompany=作品归谁、workKind作品形态决定时长字段),购买示例报文补上此前遗漏的必填customerPhone、可选signRedirectUrl与可选projectAuthorization完整样例;同步清理页面与机器契约中的内部流转措辞。

示例修正
POST /partner/purchase-orders 示例报文新增 customerPhone(必填:签署参与方匹配与意愿短信送达号码)、signRedirectUrl(可选:签署完成回跳地址)与 projectAuthorization 完整样例(选填);此前按示例开发会因缺手机号被400拒绝
新增文档小节
/api-docs 购买示例下新增“购买字段说明”:逐字段业务含义、表单设计建议与常见混淆点澄清(如出品公司与客户名称的区别)
措辞清理
OpenAPI 描述、示例与更新日志移除内部流转编号与代号;历史条目标题措辞同步清理,历史事实不变。字段、约束、错误码与响应结构均无任何变化
兼容性
  • 纯文档与描述修正:请求字段、校验规则、错误码与响应结构均无变化,已按现行契约开发的合作方无需改动

2026-09-21 购买签署:购买请求新增被授权方手机号,授权返回签署状态

购买环节接入法大大在线签署(项目授权书,巨东代演员签+被授权方本人签):购买请求新增必填 customerPhone;响应与查询接口返回逐演员签署状态 esignStatus 与签署短链 esignSignUrl;逐演员签署完成前授权不生效,公开核验不返回该演员。合作方引导用户在合作网站侧跳转签署,全程不经由巨东页面。

新增必填字段
POST /partner/purchase-orders 请求新增 customerPhone(中国大陆手机号):签署任务参与方匹配与意愿短信送达号码
新增可选字段
signRedirectUrl(HTTPS):签署完成后的回跳地址;不传时用户停留在法大大完成页
响应新增
licenses[].esignStatus(not_required/pending/signed/revoked);查询接口 licenses[].esignSignUrl(待签署且有活跃任务时的签署短链)
生效规则
逐演员生效:签署完成(回调验签或服务端复核)前该演员不得使用授权,公开核验不返回该演员;拒签/超时(默认72小时)可由合作方重新发起或由巨东撤销并全额退回购买金额
查询接口新增字段
GET /partner/purchase-orders 响应新增 customerPhone 与 signRedirectUrl 回显
兼容性
  • 多演员订单为逐演员独立签署任务,签署短链经购买响应或查询接口获取
  • 存量订单:查询行为不变(历史授权 esignStatus=not_required);存量订单同幂等键重放将返回幂等冲突,需换新幂等键重新发起

2026-09-20 新增合作方样片归档与自动化审核接口(3个端点)

买断模型下新增样片回传通道:合作方可将项目样片直传巨东私有存储并发起授权合规审核(画面机审+项目级LLM语义比对),巨东出具授权合规审核意见并永久留存证据。巨东不是发行闸门:审核不通过合作方仍可自行决定发行,审核记录构成违约追责证据。

新增端点
POST /partner/content-archives/uploads(申请直传授权)、POST /partner/content-archives/complete(确认并启动审核,202)、GET /partner/content-archives?externalArchiveId=(状态与审核摘要)
新增scope
content_archive;凭证需携带该scope方可调用三条端点
直传协议
uploads返回预签名PUT地址(1小时有效)由合作方直传视频;complete携带archiveId/byteSize/sha256确认;两步均幂等重放安全
状态机
awaiting_upload→submitted→reviewing→passed/flagged→confirmed_violation/cleared;辅态upload_expired(24h未确认)、review_failed;审核结论由GET接口读取(机审结论/LLM结论/人工复核/时间线)
保留期
样片文件365天后自动清理(filePurged=true),审核记录永久留存
新增错误码
ARCHIVE_NOT_FOUND/ARCHIVE_EXTERNAL_ID_CONFLICT/ARCHIVE_UPLOAD_WINDOW_EXPIRED/ARCHIVE_FACT_CONFLICT/PROJECT_NOT_AUTHORIZED/ACTOR_NOT_LICENSED/UPLOAD_LIMIT_REACHED
兼容性
  • 在途待上传归档每环境上限10个;申报演员必须为该项目已购演员,越界拒绝(ACTOR_NOT_LICENSED)
  • 不做发行拦截:审核状态仅供对账与追责,不影响既有任何接口行为

2026-09-17 按秒生成接口整体退役

项目买断模型下生成由合作方模型侧直接完成,生成预留/查询/续期/终态结算接口(6个端点)已物理移除。全库无任何历史 per_second 订单、秒数额度或生成预约数据,移除无存量影响。

移除端点
POST/GET /partner/generation-reservations 及其 {id}/extend、/success、/fail、/cancel 全部子路径
替代方式
买断订单生成不经巨东API:模型侧直接生成、次数不限、无需预留或结算
公开核验
核验凭证只显示授权年限;per_second 秒数展示分支已随数据源一并移除
后台
后台业务记录的生成调用页签与MCN生成记录页签同步移除
兼容性
  • 接口日志(telemetry)的 operation 枚举同步移除 generation_* 值。
  • 如历史上曾按旧文档开发过生成对接(实际无调用记录),相关代码可整体删除。

2026-09-17 购买切换为项目买断计价模型

新购买统一为项目买断:按演员×项目×年限一次付费,项目内不限量生成,含演员未来新增形象,同一项目需重新买断。买断价由服务端按演员当前每秒权威价折算(每秒单价×1500×年限系数;1年精确、2/3年向下取整到10元;当前全员0.33元/秒对应495/890/1230元/年)。

actorConfigurations
购买请求仅两键:actorCode + commercialYears;generationSeconds 字段移除,携带旧字段将被拒绝
pricingModel
购买结果与订单查询新增 pricingModel=buyout_v1;licenses 新增 buyoutCents,purchasedSeconds 仅历史 per_second 订单返回
GET /partner/purchase-options
返回买断价目 buyoutTerms(年限系数与取整规则)与 pricingRule(含折算说明);秒数上下限字段移除
生成接口
买断订单的生成不经巨东API,模型侧直接生成、无需预留或结算;生成预留接口仅供历史 per_second 订单的存量秒数查询使用
计价公式
buyoutCents = actorPricePerSecondCents × 1500 × priceFactor(priceFactor:1年1.0 / 2年1.8 / 3年2.5)
兼容性
  • 每秒单价与1500秒最低授权价仅作折算展示,不构成实际秒数额度;价格变动自动传导至买断价。
  • 资金链路不变:预存余额、原子扣款、幂等键、合同快照与授权核验凭证(JDT编号)均保持原机制。

2026-09-14 演员详情新增六个选填公开字段

GET /actors/{actorCode} 的 data 新增以下字段;后台尚未录入时值为 null。宽松解析(忽略未知键)的消费方无需任何改动;严格校验或代码生成的消费方请同步更新本地 v1.yaml 副本(字段在契约中为 required)。

ethnicity
民族;公开文本或 null
birthDate
生日;YYYY-MM-DD 或 null
occupation
职业;公开文本或 null
birthplace
出生地;公开文本或 null
personalTraits
个人特质(特长短语);公开文本或 null
zodiac
星座;由 birthDate 按公历固定日期区间派生,birthDate 为 null 时为 null,不落库
兼容性
  • 字段为后台维护的选填公开事实,可原样显示或省略,不要基于缺失或取值自行推断其他演员事实。
  • SZKL官网详情页当前不展示这些字段;是否在你的合作网站展示由你自行决定。