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 文档 以获取完整的支持值列表。