按步骤完成注册 → 开通 → 签名 → 调试 → 上线。
其它都交给小影API —— 统一响应 {code, msg, data}。
注册账号
用户名 / 邮箱 / 手机号任意方式注册(邮箱、手机号可配开启)。
开通接入项目
联系站长开通「接入项目」,获得专属 APPID 与 APPSECRET。
读文档 + 在线调试
在接口文档填上你的密钥,页面会替你完成签名并真实转发,先验证再写代码。
代码接入生产
在你的服务端实现 HMAC-SHA256 签名,把密钥放进环境变量,绝不进前端。
app_xxx,用于标识是哪个项目在调用,参与签名。sk_xxx,只用于服务端计算签名,严禁下发前端。需要签名(auth)的接口,每次请求都要带上公共参数:
app_id / timestamp / nonce / sign。
key=value&key=value…;timestamp 为秒级时间戳,有效窗口 ±5 分钟;nonce 每次请求唯一(服务端去重防重放)。
import hashlib
import hmac
import time
import secrets
APP_ID = 'app_yourAppId'
APP_SECRET = 'sk_yourAppSecret'
def build_sign(params: dict, secret: str) -> str:
"""按键名 ASCII 升序拼接 key=value,HMAC-SHA256 输出小写 hex"""
items = sorted(
(k, str(v)) for k, v in params.items()
if k != 'sign' and v not in (None, '')
)
raw = '&'.join(f'{k}={v}' for k, v in items)
return hmac.new(secret.encode(), raw.encode(), hashlib.sha256).hexdigest()
def signed_params(biz: dict):
params = dict(biz)
params.update({
'app_id': APP_ID,
'timestamp': str(int(time.time())),
'nonce': secrets.token_hex(8),
})
params['sign'] = build_sign(params, APP_SECRET)
return params
提示:在线调试页会自动用你填写的密钥代签,初学无需手工算签名;上生产前请务必实现与服务端一致的口径。
注意:短信、图形验证、AI 等会真实调用外部或产生费用/短信,调试前先确认。