按步驟完成註冊 → 開通 → 簽名 → 調試 → 上線。
其它都交給小影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 等會真實調用外部或產生費用/短信,調試前先確認。