素材库认证与签名
Bearer API Key 与火山 ARK HMAC-SHA256 签名规则
素材库 Action API 支持 Bearer API Key 和 AK/SK HMAC-SHA256。两种方式任选其一,不要在同一个请求中混用。火山兼容视频生成任务接口使用 Authorization: Bearer,不使用素材 Action 的 AK/SK 签名。
认证方式一 : Bearer API Key
兼容网关可使用 Bearer API Key:
Authorization: Bearer sk-your-api-key
Content-Type: application/jsonAPI Key 所属用户必须启用并拥有素材访问权限。Token 过期、停用或 IP 白名单不匹配时,请求会被拒绝。
认证方式二 :AK/SK HMAC-SHA256
火山 SDK 和界云素材 SDK 使用 Access Key 与 Secret Key 签名。固定参数如下:
| 参数 | 值 |
|---|---|
| Region | cn-beijing |
| Service | ark |
| Algorithm | HMAC-SHA256 |
| Version | 2024-01-01 |
必需请求头:
Content-Type: application/json
Host: jieyun.cc
X-Date: 20260721T040000Z
X-Content-Sha256: <lowercase sha256 hex of request body>
Authorization: HMAC-SHA256 Credential=<AK>/<date>/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=<hex>Host 必须与实际 Endpoint 一致。使用 RealmRouter 时,Host 改为 realmrouter.cn。
签名步骤
- 对原始 JSON 请求体计算 SHA-256,将小写十六进制结果写入
X-Content-Sha256。 - 构造 Canonical Request:HTTP 方法、Canonical URI、Canonical Query String、Canonical Headers、Signed Headers 和请求体哈希。
- 使用
HMAC-SHA256、X-Date、凭证范围和 Canonical Request 哈希构造 String to Sign。 - 按日期、区域、服务名和
request的顺序派生签名密钥,再计算最终 Signature。
请求时间与服务端时间偏差不能超过 5 分钟。不支持 X-Security-Token 临时安全凭证。
SDK 配置
完整 SDK 源码与下载入口:jieyun-go-sdk。
config := volcengine.NewConfig().
WithCredentials(credentials.NewStaticCredentials(accessKey, secretKey, "")).
WithRegion("cn-beijing").
WithEndpoint("jieyun.cc")
client := ark.New(session.Must(session.NewSession(config)))SDK 会自动添加 Action、Version、请求体哈希和签名请求头。切换到 RealmRouter 时只需替换 WithEndpoint。
最后更新于