How an Agent Built a 3D Paris Gallery by Chaining Two Hugging Face Spaces
How an Agent Built a 3D Paris Gallery by Chaining Two Hugging Face Spaces
智能体如何通过串联两个 Hugging Face Spaces 构建 3D 巴黎画廊
An agent built a 3D Paris gallery from two Hugging Face Spaces. I asked a coding agent to build a beautiful website showcasing the monuments of Paris as 3D Gaussian splats. I never opened an image generator. I never touched a 3D reconstruction tool. The agent produced every asset (the images and the 3D splats) by calling two Hugging Face Spaces directly, then wired them into a cinematic viewer. Here’s the result, live as a static Space: 👉 mishig/monuments-de-paris
一个智能体仅通过两个 Hugging Face Spaces 就构建出了一个 3D 巴黎画廊。我要求一个编程智能体制作一个精美的网站,以 3D 高斯泼溅(Gaussian splats)的形式展示巴黎的古迹。我从未打开过图像生成器,也从未接触过 3D 重建工具。智能体通过直接调用两个 Hugging Face Spaces 生成了所有素材(图像和 3D 泼溅模型),并将它们整合进一个电影级的查看器中。这是最终成果,作为一个静态 Space 在线运行:👉 mishig/monuments-de-paris
This post is about how that’s possible now, and why I think it’s a preview of how a lot of multimedia software gets built from here on.
这篇文章将探讨这一切是如何实现的,以及为什么我认为这预示了未来多媒体软件的构建方式。
The building-block economy comes for multimedia
“积木经济”席卷多媒体领域
Mitchell Hashimoto recently described a shift he calls the building block economy: the most effective path to software is no longer a polished monolith, but small, well-documented components that others (increasingly agents) can assemble. His key observation: AI is okay at building everything from scratch, but it is really good at gluing together proven pieces.
Mitchell Hashimoto 最近描述了一种他称之为“积木经济”的转变:软件开发最有效的路径不再是打造一个精雕细琢的庞然大物,而是利用小型、文档齐全的组件,由他人(越来越多地由智能体)进行组装。他的核心观点是:AI 虽然擅长从零开始构建一切,但它更擅长将经过验证的组件“粘合”在一起。
That thesis has mostly been told with code libraries. But the same forces are hitting multimedia AI. The hard part of using a state-of-the-art image model, a video model, a TTS model, or a 3D reconstruction model was never the model. It was the integration: SDKs, weights, GPUs, input formats, polling. If each model were instead a documented, callable block, an agent could glue them together the same way it globs together npm packages.
这一论点此前多用于代码库。但同样的趋势正在影响多媒体 AI。使用最先进的图像模型、视频模型、TTS(语音合成)模型或 3D 重建模型,难点从来不在模型本身,而在于集成:SDK、权重、GPU、输入格式、轮询等。如果每个模型都能变成一个文档齐全、可调用的“积木”,智能体就能像组合 npm 包一样将它们串联起来。
Every Space is a building block, via agents.md
通过 agents.md,每个 Space 都是一个积木
The Hub hosts thousands of state-of-the-art models (a huge share of them open-weights), and most are deployed as interactive Spaces. As of now, every Gradio Space also exposes a plain-text agents.md that tells an agent exactly how to call it.
Hugging Face Hub 托管了数以千计的最先进模型(其中很大一部分是开源权重的),且大多数都部署为交互式的 Spaces。目前,每个 Gradio Space 都提供了一个纯文本的 agents.md 文件,明确告诉智能体该如何调用它。
No client library. No hardcoded integration. An agent reads that, and it can drive the Space end to end. Set an HF_TOKEN and you’re going. The real unlock is chaining: the output of one Space becomes the input to the next. Prompt → image → 3D. That’s the whole pipeline behind this gallery.
无需客户端库,无需硬编码集成。智能体读取该文件后,即可端到端地驱动该 Space。设置好 HF_TOKEN 即可开始。真正的突破在于“串联”:一个 Space 的输出成为下一个的输入。提示词 → 图像 → 3D。这就是该画廊背后的完整流水线。
The worked example: Paris monuments → splats
实践案例:巴黎古迹 → 3D 泼溅
The agent chained two Spaces:
- Image:
ideogram-ai/ideogram4turned each monument into a clean, dark-background “specimen” shot. - Splat:
VAST-AI/TripoSplatreconstructed a 3D Gaussian splat (.ply) from each single image.
智能体串联了两个 Spaces:
- 图像:
ideogram-ai/ideogram4将每个古迹转化为一张干净、深色背景的“标本”照片。 - 泼溅:
VAST-AI/TripoSplat从每张单幅图像中重建出 3D 高斯泼溅模型(.ply)。
From there the agent did the “glue” work too. It noticed TripoSplat outputs are Y-down and flipped them upright, auto-framed each monument, compressed the .ply files to .ksplat, built a Three.js viewer, and deployed the whole thing as a static Space.
在此之后,智能体还完成了“粘合”工作。它发现 TripoSplat 的输出是 Y 轴向下的,于是将其翻转为正向,自动调整每个古迹的构图,将 .ply 文件压缩为 .ksplat,构建了一个 Three.js 查看器,并将整个项目部署为一个静态 Space。
Two prompts, a whole new gallery
两个提示词,全新的画廊
The real test of a building block is how cheaply you can reuse it. Once this pipeline existed, spinning up entirely new galleries cost about one sentence each. “Create a similar Space with splats for Japan,” then the same for Egypt, and the agent did the rest.
积木真正的考验在于复用的成本有多低。一旦这条流水线建立起来,创建全新的画廊几乎只需要一句话。“创建一个类似的日本古迹 3D 泼溅 Space”,埃及的也一样,剩下的工作全由智能体完成。
That is the building-block economy in one line: the marginal cost of a new multimedia app falls toward the cost of describing it.
这就是“积木经济”的精髓:开发一个新的多媒体应用的边际成本,正趋向于描述它的成本。
Why this matters
为什么这很重要
Models become composable. A SOTA splat model and a SOTA image model, from different orgs, chained with zero integration code. The Hub’s open-weights catalog turns into a library of callable multimedia primitives. Agents prefer what’s documented and reachable. agents.md makes a Space trivially reachable, so an agent will pick it over a model it has to set up by hand.
模型变得可组合了。来自不同机构的最先进泼溅模型和图像模型,无需任何集成代码即可串联。Hub 的开源权重目录变成了一个可调用的多媒体原语库。智能体更倾向于那些文档齐全且易于访问的内容。agents.md 让 Space 变得极其易于访问,因此智能体更愿意选择它,而不是那些需要手动配置的模型。
Try it yourself
亲自尝试
Point your own agent at a Space’s agents.md and let it cook:
将你自己的智能体指向某个 Space 的 agents.md,让它开始工作:
curl https://huggingface.co/spaces/ideogram-ai/ideogram4/agents.mdcurl https://huggingface.co/spaces/VAST-AI/TripoSplat/agents.md
Paste either link into your coding agent (Claude Code, etc.), set your HF_TOKEN, and ask it to build something. The full, reproducible pipeline for this gallery lives in the Space repo. The building blocks are sitting right there on the Hub.
将上述任一链接粘贴到你的编程智能体(如 Claude Code 等)中,设置好你的 HF_TOKEN,然后要求它构建一些东西。这个画廊完整、可复现的流水线代码就在该 Space 的仓库中。积木就在 Hub 上等着你。