QwQ AI / API v1
API ドキュメント
QwQ AI のウェブ回答、深度研究、金融研究をアプリに接続します。ウェブと同じ料金で残高から支払います。
クイックスタート
ログイン後、プロフィールで API キーを作成し、残高をチャージします。Authorization: Bearer QWQ_API_KEY を送信し、キーをサーバーの環境変数に保存してください。
export QWQ_API_KEY='qwq_your_key_here'
curl https://qwq32.com/api/v1/answer \
-H "Authorization: Bearer $QWQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "What causes the aurora borealis?"
}'ベース URL: https://qwq32.com/api/v1
利用可能な API
| エンドポイント | 用途 |
|---|---|
| POST /api/v1/answer | 引用と検索結果付きの高速なウェブ回答。 |
| POST /api/v1/research | 5 段階の研究深度。ソース制御と構造化 JSON に対応。 |
| POST /api/v1/finance_research | Deep と Exhaustive に対応する金融研究。 |
| GET /api/v1/research/{task_id} | 自分のバックグラウンドタスクの結果を取得します。ポーリングは無料です。 |
パラメーターと例
Answer
query は必須で、空白のみは不可、最大 400 文字です。任意項目は freshness(day/week/month/year または YYYY-MM-DDtoYYYY-MM-DD)、country、language、safesearch、include_domains / exclude_domains / boost_domains。各ドメインリストは最大 500 件。include_domains は他の 2 リストと併用できません。country と language は You.com が対応するコードを使用します。
curl https://qwq32.com/api/v1/answer \
-H "Authorization: Bearer $QWQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "Recent advances in renewable energy",
"freshness": "month",
"language": "EN",
"safesearch": "moderate",
"include_domains": [
"energy.gov"
]
}'Research
input は必須で、空白のみは不可、最大 40,000 文字です。research_effort は lite、standard(既定)、deep、exhaustive、frontier。source_control はドメインリスト、freshness、country に対応し、ドメインの組み合わせ制限は Answer と同じです。background は任意です。回答言語は input に指定してください。
curl https://qwq32.com/api/v1/research \
-H "Authorization: Bearer $QWQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Compare three battery technologies. Respond in Chinese.",
"research_effort": "deep",
"background": true,
"source_control": {
"freshness": "year",
"exclude_domains": [
"example.com"
]
}
}'任意の output_schema は You.com 対応の JSON Schema サブセットで、output.content にオブジェクトを返します。lite は非対応です。ルートは object、すべてのオブジェクトに additionalProperties:false、全プロパティを required に指定します。上流で構造、深度、プロパティ数を検証し、失敗時は返金します。
Finance Research
input は必須で、空白のみは不可、最大 40,000 文字です。research_effort は deep(既定)と exhaustive のみ。Finance は同期実行で、約 6 分までかかる場合があります。
curl https://qwq32.com/api/v1/finance_research \
-H "Authorization: Bearer $QWQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Analyze the latest NVIDIA earnings and cite sources.",
"research_effort": "deep"
}'未知の項目は拒否します。リクエスト本文は最大 180,000 バイトです。ユーザー、料金、上流 API キーは指定できません。
同期レスポンス
HTTP 200 は Answer の answer、citations、results を保持し、料金、リクエスト ID、引き落とし後の残高を billing に追加します。金額は USD、残高 1 単位は $0.0000001 です。
{
"answer": "A cited answer [[1]]",
"citations": [
{
"source": "https://example.com",
"excerpts": [
"Supporting evidence"
]
}
],
"results": {
"web": []
},
"billing": {
"request_id": "uuid",
"cost_usd": 0.02,
"cost_units": 200000,
"balance_usd": 9.98
}
}Research と Finance は output.content、output.content_type、output.sources と billing を返します。引用 [[1]] は最初のソースを参照します。構造化 Research の output.content は JSON オブジェクトです。
バックグラウンド研究
Research の deep、exhaustive、frontier は自動でバックグラウンド実行し、HTTP 202 を返します。lite / standard は background:true で有効にします。QwQ の task_id を保存し、24 時間以内に取得してください。課金は送信時の 1 回だけで、ポーリングは無料です。
{
"task_id": "qwq-task-uuid",
"status": "queued",
"expires_at": "2026-10-04T00:00:00.000Z",
"billing": {
"request_id": "qwq-task-uuid",
"cost_usd": 0.3,
"cost_units": 3000000,
"balance_usd": 9.7
}
}curl https://qwq32.com/api/v1/research/QWQ_TASK_ID \
-H "Authorization: Bearer $QWQ_API_KEY"5〜15 秒ごとにポーリングしてください。状態は submitting、queued、running、completed、failed。completed は result.output を取得し、failed は QUERY_FAILED_REFUNDED を含みます。所有者アカウントの有効なキーなら取得できます。一時的なポーリング失敗は再試行でき、実行中のタスクは返金しません。
{
"task_id": "qwq-task-uuid",
"status": "completed",
"expires_at": "2026-10-04T00:00:00.000Z",
"result": {
"output": {
"content": "A researched report [[1]]",
"content_type": "text",
"sources": [
{
"url": "https://example.com",
"title": "Source"
}
]
}
}
}サーバー連携の例
JavaScript / Node.js
const response = await fetch("https://qwq32.com/api/v1/answer", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.QWQ_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ query: "What causes the aurora borealis?" }),
});
const data = await response.json();
if (!response.ok) throw new Error(data.code);
console.log(data.answer, data.billing.cost_usd);Python / requests
import os
import requests
response = requests.post(
"https://qwq32.com/api/v1/finance_research",
headers={"Authorization": f"Bearer {os.environ['QWQ_API_KEY']}"},
json={"input": "Analyze NVIDIA earnings", "research_effort": "deep"},
timeout=370,
)
response.raise_for_status()
print(response.json()["output"]["content"])呼び出しごとの料金
ウェブと同じ料金設定を使用し、残高を共有します。実行前に課金し、失敗時は一度だけ返金します。未完了で期限切れの研究タスクも自動で返金します。最低チャージは $10、サブスクリプションはありません。
| ツール / 深度 | 1 回(USD) |
|---|---|
| answer | $0.02 |
| research / lite | $0.04 |
| research / standard | $0.15 |
| research / deep | $0.30 |
| research / exhaustive | $1.35 |
| research / frontier | $3.60 |
| finance / deep | $0.35 |
| finance / exhaustive | $1.50 |
エラー処理
エラーは JSON で返し、code フィールドが原因を示します。
- 400 / 413
- INVALID_REQUEST / QUERY_TOO_LONG:無効なパラメーターまたは本文サイズ超過。課金しません。
- 401
- INVALID_API_KEY:キーなし、無効、または取り消し済み。
- 402
- INSUFFICIENT_BALANCE:残高不足。上流へは呼び出しません。
- 404 / 410
- JOB_NOT_FOUND / JOB_EXPIRED:不明、別アカウント、または期限切れのタスク。
- 502 / 503
- QUERY_FAILED_REFUNDED:呼び出し失敗、返金済み。JOB_POLL_FAILED:一時的な取得失敗、再試行可能。SERVICE_UNAVAILABLE / BILLING_UNAVAILABLE:サービス停止中。課金の確定が必要な場合があるため、先に利用履歴を確認してください。
新しい POST は毎回新しい有料クエリです。クエリの冪等な再送は非対応です。タイムアウトや課金エラー後は先に履歴を確認し、タスク ID がある場合は GET のみ再試行してください。
プライバシーと記録
キーは SHA-256 ハッシュのみを保存し、一度だけ表示します。いつでも取り消せます。履歴は課金された最新 100 件のツール、深度、料金、状態、キー名を表示します。質問、回答、レポートは保存しません。上流はバックグラウンド結果を一時保存するため、早めに取得し、ご自身のシステムに保管してください。