diff --git a/apps/api/app/api/routes/generation_preview.py b/apps/api/app/api/routes/generation_preview.py index eeebe3ed1..f27d26d6e 100755 --- a/apps/api/app/api/routes/generation_preview.py +++ b/apps/api/app/api/routes/generation_preview.py @@ -74,7 +74,14 @@ def _sign_video_url(raw_url: str) -> str: try: storage = get_storage_service() signed = storage.get_download_url(raw_url, expires_seconds=7200) - return signed or raw_url + # 如果返回的 URL 与原始 URL 完全不同且不是签名 URL(说明 bucket 未配置), + # 降级返回原始 URL + if signed and signed != raw_url: + return signed + if signed == raw_url: + return raw_url + # signed 为空或与 raw_url 无关,返回原始 + return raw_url except Exception: logger.warning("[预览] URL签名失败,降级返回原始URL: %s", raw_url[:100], exc_info=True) return raw_url