Skip to main content
taskType がエンジンを選びます。結果を包むエンベロープはすべてのエンジンで同じで、異なるのはその中の response オブジェクトです。
9つの回答サーフェスを提供しています: 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 のどちらか一方があれば通り、すべてのエンジンがもう一方にフォールバックするため、 「違う」キーで送ったリクエストも実行されます。下の2つのカードは各エンジンが最初に読むフィールドで、 APIリファレンスに記載され、ダッシュボードのPlaygroundがそのエンジンに送るものです。

promptを読む

CHATGPT PERPLEXITY GEMINI BING_COPILOTprompt がなければ query を読みます。

queryを読む

GOOGLE AIMODE GOOGLE_SERP NAVER_AI_BRIEF NAVER_AI_TAB NAVER_SERP BING_SEARCH REDDITquery がなければ prompt を読みます。

レスポンスオプション

すべての回答エンジンは既定で生のレスポンスを含みます。省くには payload.include.rawResponse を false に 設定してください。その他のオプションはエンジンにより異なります。
rawResponse には解析済みのストリームイベントが入ります。Google のAIによる概要、AIモード、Bing 検索は レンダリングされたページHTML全体を rawContent として返し、NAVER は元のイベントストリームを rawContent 文字列として返します。これらのフィールドは大きくなることがあるため、構造化された結果だけが必要なら include.rawResponse: false を設定してください。例外は GOOGLE_SERP で、include.rawResponse: true の ときだけページHTMLを返します。
markdown を返すすべてのエンジンでそれがフラグというわけではありません。NAVER は markdown を常に返します。 NAVER ではそれが text のコピーではなく、回答の本来の形だからです。
効かないフラグはエラーもフィールドもなく黙って無視されます。特に html は、複数のエンジンがフラグを 受け付けても、実際に生成するのは CHATGPT だけです。

レスポンスの形

prompt を読みます。常に text と sources[] を返します。
Perplexity が表示したときのみ付く追加フィールド: videos、images、hotels、places、shopping_cards。
prompt を読みます。常に text と sources[] を返します。
回答に商品が表示されると、shoppingCards(Gemini が回答内に表示する商品カード)と inlineProducts(文中でリンクされた商品名)が GOOGLE の概要と同じフィールドで含まれます。カード名は text にも残り、文中の商品リンクは Google の商品ページを指します。
query を読みます。単体のAIによる概要オブジェクトではなく、AIによる概要をnullableメンバーの1つとして 持つ検索結果エンベロープです。
aioverview: null は、そのクエリで Google がAIによる概要を表示しなかったことを示す公式のシグナルです。 エラーではなく、周囲のSERPフィールドはそのまま設定されます。
トップレベルの 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 の商品ページです。
query を読みます。固定形で、markdownはありません。
shoppingCards と inlineProducts は回答に商品が表示されたときだけ含まれ、フィールドは GOOGLE の概要と同じです。
query を読みます。google.com の結果ページ1つを GOOGLE と同じエンベロープで返しますが、AIによる概要は 含みません。aioverview、text、sources はありません。概要を待たないため GOOGLE より速く、1クレジットです。 深いページは payload.page(1-10)で指定します。
organicResults は常に存在します。position はページをまたいで数えるため、2ページ目の最初の結果は11で、 すべての行に取得元の page が付きます。organicResults が空なら、Google 自体がそのクエリに結果を返さな かったことを意味します。その他のパネルはページにない場合は省略されます。結果ページのHTMLも受け取るには include.rawResponse: true を設定してください。rawContent として返ります。
query を読み、1クレジットでRedditの投稿を検索します。1つのサブレディットだけを検索するには subreddit (r/ を除いた名前)を追加します。
query の代わりに投稿の url(https://www.reddit.com/r/{subreddit}/comments/{postId}/...)を送ると、その投稿と コメントの最初のページ(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 フラグは効果がありません。
prompt を読みます。このAPIで最も情報量の多いレスポンスで、すべての include フラグが効く唯一の エンジンです。すべてのフラグは既定でオンです。
ChatGPT はマルチターンの会話にも対応しています。下のマルチターンの節を参照してください。
prompt を読みます。copilot.com の Copilot チャットの回答を、ウェブ検索を常に有効にした状態で返します。 アカウントやログインは使いません。COPILOT も引き続き受け付け、BING_COPILOT として実行します。
sources は Copilot が引用したページです。ショッピングの質問では引用せずに商品カードだけを返すことが多く、 sources: [] も正常な回答です。shoppingCards、map、searchQueries は常に存在し、Copilot が生成しなかった 場合は空です。商品の位置はすべてのカードを通して数えます。markdown は include.markdown が true のときに 返されます。
query を読みます。bing.com の結果ページを GOOGLE と同じエンベロープで返します。自然検索結果、広告、 関連検索に加え、Bing がその上に表示するAI要約を aioverview として含みます。アカウントやログインは使いません。 BING と BING_COPILOT_SEARCH も引き続き受け付け、BING_SEARCH として実行します。
aioverview: null は、そのクエリで Bing がAI要約を表示しなかったことを意味します。エラーではなく、 周囲の結果フィールドはそのまま設定されます。
aioverview.text の [n] は sources[n-1] を指します。citationPills[] の各エントリはインライン引用1つの 背後にあるソース1つで、一緒に引用されたソースは同じ citationPillId を共有します。要約にインライン引用が なければこのフィールドは省略されます。markdown は見出し、リスト、表を保持し、include.markdown が true のときに返されます。Bing は要約を表示すると自然検索結果の大半を次のページへ移すため、要約ありでは organicResults が2、3件、 なしでは約9件と考えてください。ads と relatedSearches はページにない場合は省略されます。rawContent は 結果ページ全体で、include.rawResponse: false で省けます。トップレベルの text と sources は aioverview.text と aioverview.sources の非推奨のコピーです(要約がなければ空)。Bing はすべてのクエリに要約を書くわけではありません。「寒冷地でヒートポンプはどう動くか」のような検索型の 質問は、「2つの利点を説明して…」のような指示型よりはるかに多く要約を得られ、英語以外のカバレッジは 限られています。

マルチターン(ChatGPT)

ChatGPT は会話を続けられます。両方のフィールドを省略すると、既定の単発動作になります。
1

スレッドを開始する

newConversation: true を送ります。レスポンスに conversationId が含まれます。
2

続ける

次のターンでその conversationId を送り返します。
会話は作成したデバイスに紐づき、約2時間で期限切れになります。古い conversationId では再開できません。

エンジンガイド