TL;DR
Muse Wonder は、複雑なコーディング、推論、エージェント型ワークフロー向けの Meta のプレビューモデルです。開発者は OpenAI 互換クライアントと model="muse-wonder" を用いて、CometAPI の Muse Wonder API にアクセスできます。このガイドは、Python または JavaScript に慣れた開発者が、最初のリクエスト送信、ストリーミングの追加、推論・メディア・コストの評価を行うのに役立ちます。Muse Spark と比較した場合、Wonder を評価する実用的な理由は、難易度の高いタスクをより確実に完了できる可能性にあります。大きなコンテキストウィンドウだけを理由に移行するべきではありません。
Key Takeaways
- 統合: バックエンドの API キー、
https://api.cometapi.com/v1、および model="muse-wonder" を使用。 - 容量: Muse Wonder は 1,048,576 トークンのコンテキストウィンドウを持ちます。コスト制御のため、繰り返しのコンテキストを削減してください。
- 機能: ストリーミング、ツール呼び出し、メディアを選択したゲートウェイルートごとに個別に評価。
- 推論: ネイティブの Muse Wonder は minimal から max までをサポート。高い effort はトークン使用量とレイテンシを増加させます。
- デプロイ: 実タスクでベンチマークし、現在の課金を確認し、トラフィック拡大前にロールバック用モデルを保持。
What Is Muse Wonder API?
Meta は 2026年10月12日に Muse Wonder を発表しました。このモデルは、複雑なコーディング、推論、ツール駆動のワークフロー向けに Meta Model API からプレビュー提供されています。CometAPI ではモデル識別子は muse-wonder、Meta のネイティブ識別子は muse-wonder-1.0 です。
ネイティブモデルは、持続的な推論、コーディング、ツール駆動の作業に焦点を当てています。アプリケーション側で、ツール、永続状態、停止条件、権限チェックを提供する必要があり、単一のモデル呼び出しが自律的な実行環境を作成することはありません。
Muse Wonder API specifications
| 仕様 | Meta モデル ドキュメント |
|---|---|
| 開発元 | Meta |
| リリース | October 12, 2026 |
| ネイティブ Meta 識別子 | muse-wonder-1.0 |
| CometAPI 識別子 | muse-wonder |
| ネイティブ コンテキストウィンドウ | 1,048,576 tokens |
| ネイティブ入力 | Text, image, video, audio and PDF; ゲートウェイの形式は別途検証が必要 |
| 出力 | Text |
| ネイティブ API ステータス | Preview |
| ストリーミングとツール | ネイティブ API 機能。選択した CometAPI ルートで検証 |
| フルバリアント | Eligible Muse Code subscriptions; reasoning effort によって選択されない |
Muse Wonder vs Muse Wonder Full
Muse Wonder は Meta Model API で提供されます。Muse Wonder Full は Muse Code の Power Usage および Maximum Usage サブスクリプションでのみ提供され、reasoning_effort を max に設定しても Muse Wonder Full には切り替わりません。詳細は Meta のローンチ発表を参照してください。
Muse Spark API vs Muse Wonder API
モデル選択は、測定されたタスク成功率とコストで判断してください。ネイティブモデルガイドは、複雑な作業には Wonder、コスト重視のワークロードには Spark を推奨しており、両者に 1,048,576 トークンのコンテキストウィンドウを付与しています。全バージョンが同一能力だと仮定せず、特定の Spark バージョンを比較してください。
Muse Spark はコスト重視のワークロードに適し、Muse Wonder は複雑なコーディングと持続的な推論を対象としています。メディアサポート、推論制御、課金を、選択したモデルの正確なバージョンとゲートウェイルートで検証してください。測定したタスク成功率とコスト目標を満たすモデルを維持します。
How to Use Muse Wonder API with CometAPI Step by Step
Step 1: Create and secure your CometAPI key
アカウントを作成し、バックエンド API キーを生成し、ブラウザのコードや公開リポジトリに置かないでください。認証については CometAPI の統合ドキュメントに従ってください。以下の例は、資金または対象アカウント、Python 3.10+ もしくはサポートされる Node.js LTS、そして外向き HTTPS アクセスを必要とします。JavaScript の例は .mjs ファイルとして保存してください。
Bash セッションで API キーを設定。
export COMETAPI_KEY="your_cometapi_api_key"
PowerShell セッションで API キーを設定。
$env:COMETAPI_KEY="your_cometapi_api_key"
Step 2: Configure the Muse Wonder endpoint
| 設定 | 値 |
|---|---|
| Base URL | https://api.cometapi.com/v1 |
| Chat endpoint | /chat/completions |
| HTTP method | POST |
| Authorization | Bearer API key |
| Model | muse-wonder |
Step 3: Send your first request with cURL
最小構成の認証付きチャットリクエストを送信します。
curl -X POST "https://api.cometapi.com/v1/chat/completions" \
-H "Authorization: Bearer $COMETAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "muse-wonder",
"messages": [
{"role": "system", "content": "You are a senior engineer."},
{"role": "user", "content": "List three ways to improve Python API reliability."}
],
"stream": false
}'
ストリーミングなしの成功レスポンスでは choices[0].message.content が返るはずです。返された model と usage(提供される場合)を確認し、テキストがプロンプトに適切に回答しているかを確認してください。認証失敗は資格情報の確認が必要です。無効なモデルエラーはモデルアクセスの確認が必要です。例はリクエストパターンの説明であり、レイテンシやベンチマーク結果を示すものではありません。
Step 4: Make a Python request
Python クライアントライブラリをインストールします。
pip install --upgrade openai
Python リクエストを送信し、トークン使用量を確認します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1",
timeout=120.0,
)
response = client.chat.completions.create(
model="muse-wonder",
messages=[
{"role": "system", "content": "You are a Python engineer."},
{"role": "user", "content": "Review: def divide(a,b): return a/b"},
],
)
print(response.choices[0].message.content)
if response.usage:
print("Total tokens:", response.usage.total_tokens)
Step 5: Use JavaScript or Node.js
JavaScript クライアントライブラリをインストールします。
npm install openai
Node.js リクエストを送信します。
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: "https://api.cometapi.com/v1",
});
const response = await client.chat.completions.create({
model: "muse-wonder",
messages: [{role: "user", content: "Explain async/await."}],
});
console.log(response.choices[0].message.content);
How to Stream Muse Wonder Responses with CometAPI
ストリーミングは、サーバー送信イベントで増分的なレスポンスチャンクを返します。知覚される応答性を改善しますが、必ずしも総コストや完了時間は改善しません。content を含むチャンクのみ表示し、中断やタイムアウトケースを処理してください。
Python streaming example
増分的な Python レスポンスチャンクを読み込みます。
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1", timeout=180.0)
stream = client.chat.completions.create(
model="muse-wonder",
messages=[{"role": "user", "content": "Design a scalable FastAPI service."}],
stream=True,
)
parts = []
for chunk in stream:
if not chunk.choices:
continue
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
parts.append(content)
print("\nResponse complete.")
JavaScript streaming example
増分的な Node.js レスポンスチャンクを読み込みます。
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: "https://api.cometapi.com/v1",
});
const stream = await client.chat.completions.create({
model: "muse-wonder",
messages: [{role: "user", content: "Outline a research agent."}],
stream: true,
});
for await (const chunk of stream) {
const text = chunk.choices?.[0]?.delta?.content;
if (text) process.stdout.write(text);
}
What Reasoning Effort Levels Does Muse Wonder Support?
Supported Reasoning Effort Values
ネイティブモデルは minimal、low、medium、high、xhigh、max を受け付けます。いずれも非対応ではありません。まずは中程度の設定から始め、評価結果が正当化する場合のみ effort を上げてください。effort を上げるとレイテンシと出力トークンコストが増加します。Meta の推論リファレンスを参照してください。ゲートウェイの転送は別途検証してください。
How to Set Reasoning Effort in Chat Completions
以下の例は、能力テストとして gateway に high を送信します。拒否された場合はフィールドを削除する前にエラーを確認してください。400 は無効な messages、誤った model、その他のリクエスト問題も示し得ます。原因を切り分けるため、最小のテキストリクエストで再試行してください。
ゲートウェイで high の reasoning effort をテスト。
import os
from openai import OpenAI, BadRequestError
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1")
try:
response = client.chat.completions.create(
model="muse-wonder",
messages=[{"role": "user", "content": "Diagnose a distributed timeout."}],
extra_body={"reasoning_effort": "high"},
)
print(response.choices[0].message.content)
except BadRequestError as err:
print("This reasoning parameter may not be accepted:", err)
How to Set Reasoning Effort in the Responses API
Meta のネイティブ Responses API では、フィールドは reasoning.effort としてネストされ、muse-wonder-1.0 を使用します。以下の例は Meta の資格情報とネイティブエンドポイントを使用しています。CometAPI へ適用する前に Responses サポートを別途確認してください。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["META_API_KEY"],
base_url="https://api.meta.ai/v1",
)
response = client.responses.create(
model="muse-wonder-1.0",
input="Diagnose a distributed timeout.",
reasoning={"effort": "high"},
)
print(response.output_text)
Why max Does Not Select Muse Wonder Full
max は選択済みモデルの推論バジェットを変更します。モデル識別子を変更したり、Full へのアクセスを付与するものではありません。アクセスの違いはモデル紹介で説明されています。
How Can Muse Wonder API Analyze Images and PDFs
Meta はネイティブ Wonder に対する画像・動画・音声・PDF 入力を文書化しています。Meta のネイティブメディアサポートは、CometAPI が同じコンテンツスキーマ、URL 形式、ファイルタイプやサイズ上限を受け付けることを保証するものではありません。本番使用前に、選択したルートでそれらの詳細を検証してください。以下の image_url 例は互換性パターンです。アクセス可能な自前の画像を使用し、エンドポイントのサポートを確認し、可視の詳細に照らして回答を確認してください。
既知の画像で image URL をテスト。
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1")
response = client.chat.completions.create(
model="muse-wonder",
messages=[{"role": "user", "content": [
{"type": "text", "text": "Describe anomalies in this dashboard."},
{"type": "image_url", "image_url": {
"url": "https://example.com/dashboard.png"}},
]}],
)
print(response.choices[0].message.content)
予測可能なテキスト専用の PDF ワークフローとしては、ローカルで選択可能なテキストを抽出し、選んだ箇所をテキストとして送信する方法があります。これはネイティブの PDF 入力をテストせず、ページレイアウト、図、スキャン内容を保持しません。以下の例は小規模テストとして入力を 50,000 文字に制限します。本番取り込みでは、レポートを黙って切り捨てるのではなく、コンテンツを選別または分割し、ページ参照を保持してください。
制限付きテストのために PDF の選択可能テキストを抽出。
# pip install pymupdf openai
import os
import fitz
from openai import OpenAI
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1")
with fitz.open("report.pdf") as doc:
document_text = "\n".join(p.get_text() for p in doc)
response = client.chat.completions.create(
model="muse-wonder",
messages=[{"role": "user", "content":
"Summarize the risks in this report:\n" + document_text[:50000]}],
)
print(response.choices[0].message.content)
How Can You Build a Tool-Calling Agent With Muse Wonder API
モデルは関数呼び出しを要求できますが、実行の承認と実行はアプリケーションが行う必要があります。この例は、境界付きの読み取り専用の注文照会を示します。本番実装では入力を検証し、権限によってツールを制約してください。
境界付きの注文ステータスツール呼び出しを実行。
import json, os
from openai import OpenAI
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1")
tools = [{"type": "function", "function": {
"name": "get_order_status",
"description": "Look up an order status",
"parameters": {"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"], "additionalProperties": False}
}}]
messages = [{"role": "user", "content": "Status of order A1001?"}]
r = client.chat.completions.create(model="muse-wonder",
messages=messages, tools=tools, tool_choice="auto")
msg = r.choices[0].message
messages.append(msg)
if msg.tool_calls:
for call in msg.tool_calls:
if call.function.name != "get_order_status":
raise ValueError("Tool not permitted")
args = json.loads(call.function.arguments)
status = {"A1001": "Shipped"}.get(args["order_id"], "Not found")
messages.append({"role": "tool", "tool_call_id": call.id,
"content": json.dumps({"status": status})})
r = client.chat.completions.create(model="muse-wonder",
messages=messages, tools=tools)
print(r.choices[0].message.content)
else:
print(msg.content)
この学習用例は 1 回のツール呼び出しラウンドを処理します。後続のレスポンスが別のツール呼び出しを要求する場合は、制限されたループ内でのみ続行し、その名前と引数を再度検証してください。リトライの安全性のためにツール結果を永続化してください。本番エージェントには、時間制限、反復回数の上限、明確な完了条件が必要です。
How Much Does Muse Wonder API Cost
Meta の公式料金では、未キャッシュの入力トークンは 100 万トークンあたり $4.00、キャッシュ済み入力は 100 万トークンあたり $0.20、出力トークンは 100 万トークンあたり $20.00 とされています。
ソース記事の 2026年10月14日時点の価格スナップショットでは、CometAPI は未キャッシュ入力が 100 万トークンあたり $3.20、出力が 100 万トークンあたり $16.00 と記載されています。これらはゲートウェイ料金であり、Meta の $4.00(入力)および $20.00(出力)の価格に取って代わるものではありません。使用前に、現在のアカウントおよびルートの料金を確認してください。CometAPI のキャッシュ入力料金は前提としていません。
| 1M トークンあたり | Meta ネイティブ API | CometAPI の Muse Wonder API |
|---|---|---|
| 未キャッシュ入力 | $4.00 | $3.20 |
| キャッシュ入力 | $0.20 | ルートの料金を確認 |
| 出力 | $20.00 | $16.00 |
未キャッシュ入力 100,000 トークン、課金対象の出力 50,000 トークンの場合、記載の Meta レートでは $0.40 + $1.00 = $1.40 になります。記載の CometAPI レートでは $0.32 + $0.80 = $1.12 になります。この例は追加料金を含まず、キャッシュ割引も前提としません。
この未キャッシュの例では、表示された CometAPI レートは 20% 低い見積もりになります。実際の請求は、トークン使用量、ルートの課金、追加料金の有無に依存します。キャッシュが適用される場合は、未キャッシュ入力レートをすべてのトークンに適用するのではなく、検証済みのキャッシュ料金で計算してください。
ソースのスナップショットにある CometAPI レートでコストを見積もり、検証済みのアカウントレートに置き換えてください。
def estimate_cost(input_tokens, output_tokens,
input_rate=3.20, output_rate=16.00):
if input_tokens < 0 or output_tokens < 0:
raise ValueError('Token counts must be non-negative')
return (input_tokens * input_rate
+ output_tokens * output_rate) / 1_000_000
print(estimate_cost(100000, 50000)) # 1.12
How to Migrate and Run Muse Wonder in Production
Update and Validate the Integration
多くの OpenAI 互換クライアント統合は全体構造を維持できます。Base URL、認証情報、モデル ID を更新し、実際のプロンプトで段階的評価を実施してください。プロトコル固有の推論やマルチモーダルのフィールドは独立して検証が必要です。
COMETAPI_KEY を設定し、Base URL を https://api.cometapi.com/v1 に更新し、muse-wonder を選択してください。最小のテキストリクエストで認証とモデルアクセスを検証した後、推論フィールド、ストリーミングチャンク、ツール呼び出し、各種メディア形式を個別にテストします。エラーと回答品質を確認してください。HTTP 400 には複数の原因があり得ますし、HTTP 成功ステータスだけでは機能サポートを証明しません。返却された usage を記録し、予算とコストを比較します。ロールバックできるように、Base URL とモデルは設定可能に保ってください。
環境変数駆動の移行とロールバックを構成。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["COMETAPI_KEY"],
base_url=os.getenv("AI_BASE_URL", "https://api.cometapi.com/v1"),
)
model = os.getenv("AI_MODEL", "muse-wonder")
r = client.chat.completions.create(
model=model,
messages=[{"role":"user", "content":"Review this API design."}],
)
print(r.choices[0].message.content)
まずは本番トラフィックの小さなカナリア比率から開始してください。正確性、ツール成功率、最初のトークンまでのレイテンシ、総レイテンシ、リトライ率、成功タスクあたりの総コストを比較し、段階的に展開範囲を拡大します。
Add Timeouts, Retry Limits and Monitoring
リクエストタイムアウトと明示的な制限を設定し、非機密のリクエスト ID とトークン使用量を記録し、可能な限り個人情報を編集し、再試行は一過性の失敗に限定し、不可逆なツール操作には承認を必須にしてください。再試行が増えると、安いモデル呼び出しが必ずしも安いタスクになるとは限りません。
一過性のエラーを境界付き指数バックオフで再試行。
import os, time, random
from openai import (OpenAI, APIConnectionError, APITimeoutError,
RateLimitError, InternalServerError)
client = OpenAI(api_key=os.environ["COMETAPI_KEY"],
base_url="https://api.cometapi.com/v1", timeout=60, max_retries=0)
def complete_with_retry(prompt, attempts=4):
for i in range(attempts):
try:
r = client.chat.completions.create(
model="muse-wonder",
messages=[{"role": "user", "content": prompt}])
return r.choices[0].message.content
except (RateLimitError, APIConnectionError,
APITimeoutError, InternalServerError):
if i == attempts-1:
raise
time.sleep(min(2**i, 16) + random.uniform(0, 0.5))
推奨運用指標: 成功タスクあたりのコスト = モデルとツールの総コスト / 成功タスク数。安全性と正確性のガードレール、集計コストも併せて追跡してください。
FAQ
Why can Muse Wonder API stop before its final answer?
ネイティブ API では、推論と表示テキストは同じ完了バジェットを共有します。長い推論パスは最終回答に使える枠を減らす可能性があります。finish reason と usage を確認し、effort を下げるかタスクを狭め、予算の範囲内で経路がサポートする出力上限を増やしてください。ストリームの中断は別途輸送層の診断が必要です。
Should I retry a Muse Wonder API stream from the beginning?
新しいリクエストは新しい生成であり、中断した回答を自動継続するものではありません。部分出力とリクエスト識別子を保存し、回答を未完了とマークし、再開するか、明示的なコンテキストを使って継続を依頼するかを判断してください。ツールワークフローでは、再試行で二重実行が起きないよう完了済みアクションを永続化してください。
How do I validate Muse Wonder API media answers?
既知の事実を含む小さな画像や文書を使い、その事実が必要な質問を行ってください。数値やページ参照を含め、レスポンスを原本と比較します。HTTP ステータスが成功でも、エンドポイントがメディアを正しく受け付け・解釈したことを証明するわけではありません。拡大量取り込みの前に、エラーとリクエスト形式を検査してください。
How can I audit a Muse Wonder API cost discrepancy?
返された usage、model、ルート、リクエスト時間、その時点のアカウントレートを記録してください。未キャッシュ入力、検証済みキャッシュ読み取り、総課金対象出力(該当時は推論を含む)を分離します。それらの量を課金記録と比較し、通貨、レート変更、追加料金を確認してからトークン計上の誤りだと判断してください。
Conclusion
まずは認証済みの CometAPI リクエストを 1 件送信し、返答を確認してから、ストリーミングやアプリケーションに必要な機能を追加してください。本番展開前に、選択したルートを検証し、課金を確認し、ツール権限を強制し、ロールバック用モデルを保持してください。測定したタスク成功率、レイテンシ、コストが受け入れ基準を満たした場合にのみトラフィックを拡大してください。
