Web components fail to load due to error in /api/spaces/by-subdomain/

用户在网页中通过 Web Component 嵌入 Hugging Face Space 应用时(例如使用 src="https://.hf.space" 或 space="/" ),控制台出现 400 或 CO

快速结论:此报错通常发生在 Gradio Web Component 嵌入 Hugging Face Space 时,后台请求 /api/spaces/by-subdomain/<subdomain>/config 失败。优先排查 Hugging Face Hub 侧是否已部署修复(该问题已于 2026-07-03 关闭,修复已合并到 main 分支但尚未发布),同时确认 Gradio 版本是否包含修复。

问题场景

用户在网页中通过 <gradio-app> Web Component 嵌入 Hugging Face Space 应用时(例如使用 src="https://<space-subdomain>.hf.space"space="<owner>/<space>"),控制台出现 400 或 CORS 错误,导致组件无法加载。直接访问 Space 链接(如 https://<space-subdomain>.hf.space/)正常工作。

报错原文

GET https://huggingface.co/api/spaces/by-subdomain/<space-subdomain> 400
{
    "error": "Invalid repo name: <owner>/<space> - repo name includes an url-encoded slash"
}

CORS error when calling https://<space-subdomain>.hf.space/config

429 Too Many Requests (after repeated CORS retries)

原因分析

Issue 讨论中识别出两个独立问题:

  1. /api/spaces/by-subdomain/ 返回 400:这是一个 Hugging Face Hub 侧的 bug,无论哪个 Space 都会触发。已在 Hub 侧修复并部署,目前该端点工作正常。
  2. CORS 错误(Method 2 的 /config 请求):这是 Hugging Face Hub 在 6 月 22 日做出的有意改动,并非 bug。它仍然导致嵌入失败,需要 Gradio 侧适配修复。修复已合并到 main 分支,但尚未包含在正式版本中。

环境排查

  • Gradio Web Component 版本(例如 6.19.0
  • Hugging Face Space 名称和 owner
  • 浏览器控制台网络请求日志(检查 /api/spaces/by-subdomain//config 的响应状态)

解决步骤

  1. 如果错误是 /api/spaces/by-subdomain/ 返回 400:此问题已在 Hub 侧修复,通常无需用户操作。如果仍遇到,可尝试等待一段时间后重新加载。
  2. 如果错误是 CORS(/config 请求被拦截):确认 Gradio Web Component 是否为最新版本。当前修复已在 main 分支,但尚未发布。可优先尝试使用 src 属性(Method 1),因为此方式可能已在 Hub 侧更新后正常工作。
  3. 如果上述步骤无效,可等待 Gradio 下一个正式版本(包含此 CORS 修复)发布后升级。

验证方法

清除浏览器缓存后重新加载嵌入页面,检查控制台是否不再出现 400、CORS 或 429 错误,并且 <gradio-app> 组件成功加载 Space 内容。

参考来源

gradio-app/gradio #13554

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16198

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注