diff --git a/video-gen-api/app/services/private_portrait/ark_client.py b/video-gen-api/app/services/private_portrait/ark_client.py index e5ce0463..c2078a1d 100644 --- a/video-gen-api/app/services/private_portrait/ark_client.py +++ b/video-gen-api/app/services/private_portrait/ark_client.py @@ -149,7 +149,11 @@ class ArkPrivateAssetClient: ) } service = Service(service_info, api_info) - raw = service.json(action.value, {}, payload) + + # volcengine SDK 在签名阶段会对 request.body 做 hashlib.sha256(body)。 + # Python 3 下 hashlib.sha256 只能接收 bytes/bytearray,不能接收 dict 或 str。 + body = json.dumps(payload, ensure_ascii=False, separators=(",", ":")).encode("utf-8") + raw = service.json(action.value, {}, body) resp = self._normalize_response(raw) metadata = resp.get("ResponseMetadata") if isinstance(resp, dict) else None