taskType 选择引擎。包裹结果的信封对所有引擎都相同,不同的是其中的 response 对象。
共提供九个回答界面:
CHATGPT、GEMINI、PERPLEXITY、BING_COPILOT、GOOGLE、AIMODE、
BING_SEARCH、NAVER_AI_BRIEF 和 NAVER_AI_TAB。GOOGLE_SERP 返回不含 AI 概览的 Google 搜索结果,
NAVER_SERP 返回 Naver 的网页结果,REDDIT 返回 Reddit 帖子和评论。引擎读取哪个 payload 字段
校验只要求prompt 或 query 之一,且每个引擎都会回退读取另一个,因此用“错误”键发送的请求依然会执行。
下面两张卡片列出各引擎优先读取的字段,也就是 API 参考所记录、控制台 Playground 为该引擎发送的字段。
读取 prompt
CHATGPT PERPLEXITY GEMINI BING_COPILOT缺少 prompt 时回退到 query。读取 query
GOOGLE AIMODE GOOGLE_SERP NAVER_AI_BRIEF NAVER_AI_TAB NAVER_SERP BING_SEARCH REDDIT缺少 query 时回退到 prompt。响应选项
所有回答引擎默认包含原始响应。将payload.include.rawResponse 设为 false 即可省略。其他选项因引擎而异:
rawResponse 包含解析后的流事件。Google AI 概览、AI 模式和 Bing 搜索以 rawContent 返回完整渲染后的页面 HTML;
Naver 以 rawContent 字符串返回原始事件流。这些字段可能很大。如果只需要结构化结果,请设置
include.rawResponse: false。GOOGLE_SERP 是例外:只有设置 include.rawResponse: true 时才返回页面 HTML。markdown 的引擎都把它当作标志:Naver 始终返回 markdown,因为对它来说这是回答的真实形态,
而不是 text 的副本。
响应结构
PERPLEXITY
PERPLEXITY
读取 当 Perplexity 展示时才会出现的附加字段:
prompt。始终返回 text 和 sources[]。videos、images、hotels、places、shopping_cards。GEMINI
GEMINI
读取 当回答展示商品时,
prompt。始终返回 text 和 sources[]。shoppingCards(Gemini 在回答中绘制的商品卡片)和 inlineProducts(句子中带链接的商品名称)会以与 GOOGLE 概览相同的字段返回。卡片名称也保留在 text 中,句中的商品链接指向 Google 商品页面。GOOGLE:SERP 信封中的 AI 概览
GOOGLE:SERP 信封中的 AI 概览
读取 顶层
query。这不是单独的 AI 概览对象,而是把 AI 概览作为一个可空成员的搜索结果信封。text 和 sources 是复制 aioverview.text 与 aioverview.sources 的已弃用别名,保留它们是为了让旧的
单独 AIO 结构的使用者继续工作。新代码请读取 aioverview.*。SERP 面板不存在时会被省略,而不是输出 null 或 [],请把每个面板都当作可选字段。aioverview.shoppingCards 和 aioverview.inlineProducts 仅在概览展示商品时出现。卡片是 Google 在回答旁绘制的商品卡片,内联商品是句子中带链接的商品名称。卡片标题也会保留在 aioverview.text 中。price.currency 是页面显示的符号($、₩、円),reviews 保留 Google 的缩写(2.3K),productLink 是 Google 商品页面。AIMODE:Google AI 模式
AIMODE:Google AI 模式
读取
query。固定结构,没有 markdown。shoppingCards 和 inlineProducts 仅在回答展示商品时出现,字段与 GOOGLE 概览相同。GOOGLE_SERP:不含 AI 概览的 Google 搜索结果
GOOGLE_SERP:不含 AI 概览的 Google 搜索结果
读取
query。以与 GOOGLE 相同的信封返回一个 google.com 结果页,但不含 AI 概览:没有 aioverview、text 或
sources。它不等待概览,因此比 GOOGLE 更快,费用为 1 额度。设置 payload.page(1-10)获取更深的页面。organicResults 始终存在。position 跨页累计,因此第 2 页的第一个结果是 11,每行都带有它所在的 page。
organicResults 为空表示 Google 本身没有为该查询返回结果。其他面板在页面中没有时会被省略。设置
include.rawResponse: true 还可以收到结果页 HTML,字段为 rawContent。REDDIT:Reddit 帖子、评论和信息流
REDDIT:Reddit 帖子、评论和信息流
读取 用帖子
query,以 1 额度搜索 Reddit 帖子。添加 subreddit(不含 r/ 的名称)可只搜索一个子版块。url(https://www.reddit.com/r/{subreddit}/comments/{postId}/...)代替 query,即可读取该帖子及其第一页
评论,约 20-25 条。commentSort(默认 top,也可为 new、controversial、old、qa)决定这一页的排序,
commentMaxDepth 会去掉更深的回复(0 表示只保留顶层评论)。post.commentCount 是帖子的全部评论数;comments 是实际读取的那一页。archived 根据帖子发布时长推算(Reddit
约 180 天后锁定评论)。"action": "feed" 列出 subreddit 的最新帖子(不指定则为 r/popular),
"action": "user_posts" 配合 username 列出该用户发布的内容;两者都像搜索一样返回 results,最多 limit 条(默认 25)。已完成任务中的 results 为空,表示 Reddit 没有找到任何内容。此引擎不返回原始负载,因此 include 标志无效。CHATGPT
CHATGPT
读取 ChatGPT 还支持多轮对话,参见下方的多轮对话一节。
prompt。这是本 API 中最丰富的响应,也是唯一所有 include 标志都生效的引擎。所有标志默认开启。BING_COPILOT:Bing Copilot
BING_COPILOT:Bing Copilot
读取
prompt。返回 copilot.com 上 Copilot 聊天的回答,网页搜索始终开启。不涉及账户或登录。COPILOT 仍被接受,
并按 BING_COPILOT 运行。sources 是 Copilot 引用的页面;购物类问题常常没有引用,而是返回商品卡片,因此 sources: [] 也是正常回答。
shoppingCards、map 和 searchQueries 始终存在,Copilot 未生成时为空。商品位置在所有卡片中连续编号。
include.markdown 为 true 时返回 markdown。BING_SEARCH:带 AI 摘要的 Bing 搜索结果
BING_SEARCH:带 AI 摘要的 Bing 搜索结果
读取 在
query。以与 GOOGLE 相同的信封返回 bing.com 结果页:自然结果、广告和相关搜索,以及 Bing 在其上方展示的
AI 摘要(aioverview)。不涉及账户或登录。BING 和 BING_COPILOT_SEARCH 仍被接受,并按 BING_SEARCH 运行。aioverview.text 中,[n] 指向 sources[n-1]。每个 citationPills[] 条目是某个内联引用背后的一个来源;
一起被引用的来源共享同一个 citationPillId。摘要中没有内联引用时省略该字段。markdown 保留标题、列表和表格,
在 include.markdown 为 true 时返回。Bing 展示摘要时会把大部分自然结果移到下一页,因此有摘要时预计有两到三条 organicResults,没有时约九条。
ads 和 relatedSearches 在页面没有时省略。rawContent 是完整结果页,设置 include.rawResponse: false 可省略。
顶层 text 和 sources 是 aioverview.text 与 aioverview.sources 的已弃用副本(无摘要时为空)。Bing 并非为每个查询都生成摘要。搜索型问题(“热泵在寒冷天气里如何工作”)获得摘要的频率远高于指令型问题
(“解释两个好处……”),英语以外语言的覆盖有限。多轮对话(ChatGPT)
ChatGPT 可以保持对话。两个字段都省略时为默认的单轮行为。1
开启对话
发送
newConversation: true。响应中会带有 conversationId。2
继续对话
在下一轮把该
conversationId 发回。