跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Back to all posts

Browser Run /snapshot 端点新增 formats 参数

Browser Run/snapshot 端点 现在支持 formats 参数,允许您在单次 API 调用中返回多种页面格式。此前,/snapshot 仅返回 HTML 内容和截图。您现在还可以在同一响应中包含 Markdown 和无障碍树。

这些格式对 AI Agent 工作流特别有用:

  • Markdown 提供了页面内容的高效 token 表示形式,LLM 可直接处理,无需解析 HTML 标记。
  • 无障碍树提供了页面元素的结构化表示,包括角色、标签和层级关系,帮助 LLM 理解页面结构并导航其内容。

以下示例在一次调用中返回截图、Markdown 和无障碍树:

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/snapshot' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com/",
    "formats": ["screenshot", "markdown", "accessibilityTree"]
  }'
import Cloudflare from "cloudflare";

const client = new Cloudflare({
	apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});

const snapshot = await client.browserRendering.snapshot.create({
	account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
	url: "https://example.com/",
	formats: ["screenshot", "markdown", "accessibilityTree"],
});

console.log(snapshot.markdown);
console.log(snapshot.accessibilityTree);
interface Env {
	BROWSER: BrowserRun;
}

export default {
	async fetch(request, env): Promise<Response> {
		return await env.BROWSER.quickAction("snapshot", {
			url: "https://example.com/",
			formats: ["screenshot", "markdown", "accessibilityTree"],
		});
	},
} satisfies ExportedHandler<Env>;

您必须至少请求两种格式。如果只需要一种格式,请使用相应的单格式端点,例如 /screenshot/markdown

请参阅 /snapshot 文档 以获取完整的支持值列表。