vivid 协议各实现的 /v1/uploads 响应形状不一(顶层 / data 包裹、 url|upload_url|presigned_url、key|file_key|object_key)。之前只认顶层 url+key,遇到包装或别名就报 "upload session missing url/key" 且看不 到上游实际返回。现在逐层(含嵌套 data/result/upload/session)搜寻两 个字段,仍缺失时把原始 JSON 截断进错误信息便于定位。 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>