モデル

Cohere: Command A+

Markdown · JSON

Cohere: Command A+

Command A+ は、企業向けエージェントのための Cohere のマルチモーダル推論モデルです。テキストと画像を入力し、48 言語でテキストを出力します。引用、ツール利用、構造化出力を備え、128,000 トークンのコンテキストと、文書化された 64,000 トークンの出力上限を持ちます。

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

Command A+ は、複雑な企業業務向けに Cohere が2026年5月に公開したマルチモーダル推論モデルです。テキストと画像の入力をテキスト出力と組み合わせ、欧州連合の全公用語を含む 48 言語に対応します。メーカーは、根拠を分析し、問題を段階的に解き、アプリケーションが提供するツールを使う多言語エージェント向けに位置付けています。以前のテキスト専用 Command A や、特化型の Vision、Reasoning モデルとは別のエディションです。

モデルの特性とタスクの規模

Cohere は、総パラメータ数 2,180 億、アクティブパラメータ数 250 億のスパースな混合エキスパートアーキテクチャとして説明しています。公開プロファイルは、128,000 トークンのコンテキストと、最大 64,000 トークンの出力を持ちます。掲載された知識のカットオフは2025年4月1日です。資料、対話、生成結果は、適用されるリクエストの枠内に収める必要があります。訓練知識を超える情報に依存するタスクでは、最新の根拠や適切なツールを提供してください。

推論と多言語の作業

開発元のハイブリッド推論ワークフローでは、最終的なテキスト回答の前に思考を有効にしたり、直接回答のために無効にしたりできます。思考予算は中間過程を制御しますが、結果を伝える回答にも余地が必要です。意思決定メモ、比較、翻訳した説明、構造化レコードなど、回答そのものを独立して定義します。多言語タスクでは、出力言語と、原形を保持すべき固有名詞、フィールド識別子、引用を指定してください。

指示の例は、「これらの方針の文章を比較し、指定した言語で運用上の違いを説明して、各結論を裏付ける原文の文を特定してください」です。これにより、根拠のない方針説明を求めるのではなく、多言語理解と実際の根拠に対する推論を組み合わせられます。

画像と文書の根拠

Cohere の画像ガイドは、グラフ、図、画像内の表、文書認識、画像に基づく質問を扱っています。読みやすいページを用意し、見出し、単位、軸ラベルを保持します。細部が小さい場合は、周辺の文脈を失わずに拡大し、タスクに適した、文書化された画像詳細度の選択肢を使います。メーカーは、非ラテン文字では視覚性能が変わる場合があるとしています。

文書化された画像ワークフローは、PNG、JPEG、WEBP、非アニメーション GIF を受け付けます。1リクエスト当たり最大 20 画像、または合計 20 MB のうち、先に達する上限が適用されます。これらは開発元ワークフローの範囲です。抽出では、具体的なフィールドと原画像への参照を求めます。グラフ分析では、見える値と解釈を別々に求めてください。モデルはテキストを返すため、画像の生成や編集は別の出力タスクです。

引用、ツール、構造化した結果

Command A+ は、引用、ツール利用、構造化出力、安全モードを機能として挙げています。文書に意味の分かる識別子を付け、ツール関数には説明と引数スキーマを提供します。モデルが操作を選択し、アプリケーションが実行して結果を返すと、次の回答でその根拠を使えます。検索元、モデルが提案した操作、実行済みの結果は、タスク記録の中で区別できるようにしてください。

構造化した結果では、各フィールドと欠損データの扱いを定義します。形式が有効であっても、内容を出典と照合します。有用な最終成果物には、求める回答、それを裏付ける根拠、結論に影響する未解決情報が含まれます。これにより、以前の Command A のプロファイルをこのエディションに当てはめることなく、マルチモーダル能力と推論能力を具体的な企業業務に結び付けられます。

実用タスク

実用タスク

英語の技術例

Reconcile multilingual delivery notes

Compare these delivery notes: EN-1: 'Send eight replacement handles; keep order A17 open until they arrive.' FR-1: 'Envoyer huit poignees de remplacement; ne pas fermer la commande A17 avant leur reception.' Write an English operations handoff with quantity, item, order ID and closure condition. State whether the two supplied notes disagree.

期待される結果

An English handoff with four operational fields and an evidence-based agreement check.

結果の確認

Keep A17 unchanged and preserve the condition that arrival precedes closure.
Ailoot Ultra · OpenAI チャット POST /v1/chat/completions cohere/command-a-plus

cohere/command-a-plus

Cohere /cohere/command-a-plus

はじめに

Command A+ は、企業向けエージェントのための Cohere のマルチモーダル推論モデルです。テキストと画像を入力し、48 言語でテキストを出力します。引用、ツール利用、構造化出力を備え、128,000 トークンのコンテキストと、文書化された 64,000 トークンの出力上限を持ちます。

対応する入力
テキスト
結果
テキスト

Ailootで利用可能 · 入力とメソッド

Ailoot Ultra · OpenAI チャット POST /v1/chat/completions
入力の種類
text
出力の種類
text
出力形式
jsonまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
cohere/command-a-plus
デフォルト—
フィールドmessages種類message[]要件必須値と制限
最小項目数: 1
デフォルト—
フィールドmessages[].role種類string要件必須値と制限
例:system, user, assistant, tool, function
条件: これらのロールはソースコードの互換型で明示されています。正確なロールの集合はモデルごとに異なります。
モデルによる
デフォルト—
フィールドmessages[].content種類string|content_part[]|null要件任意値と制限デフォルト—
フィールドmessages[].tool_calls種類tool_call[]要件任意値と制限デフォルト—
フィールドmessages[].tool_call_id種類string要件任意値と制限
適用条件: role=tool。実際に返されたIDを使ってください
デフォルト—
フィールドmessages[].name種類string要件任意値と制限デフォルト—
フィールドmessages[].reasoning_content種類string要件任意値と制限
適用条件: このモデルが使用する場合は、実際に返された推論をそのまま次のリクエストへ戻してください
デフォルト—
フィールドmessages[].reasoning_details種類object|array要件任意値と制限
モデルによる
デフォルト—
フィールドmax_tokens種類integer要件任意値と制限
最小値: 1
モデルによる
デフォルト—
フィールドmax_completion_tokens種類integer要件任意値と制限
最小値: 1
モデルによる
デフォルト—
フィールドstream種類boolean要件任意値と制限デフォルトfalse
フィールドstream_options.include_usage種類boolean要件任意値と制限
モデルによる
デフォルト—
フィールドtemperature種類number要件任意値と制限
モデルによる
デフォルト—
フィールドtop_p種類number要件任意値と制限
モデルによる
デフォルト—
フィールドstop種類string|string[]要件任意値と制限
モデルによる
デフォルト—
フィールドtools種類function_tool[]要件任意値と制限
モデルによる
デフォルト—
フィールドtools[].type種類string要件任意値と制限
function
モデルによる
デフォルト—
フィールドtools[].function.name種類string要件必須値と制限
適用条件: 関数ツールの指定あり
デフォルト—
フィールドtools[].function.description種類string要件任意値と制限デフォルト—
フィールドtools[].function.parameters種類JSON_schema要件任意値と制限デフォルト—
フィールドtool_choice種類string|object要件任意値と制限
モデルによる
デフォルト—
フィールドparallel_tool_calls種類boolean要件任意値と制限
モデルによる
デフォルト—
フィールドresponse_format種類object要件任意値と制限
モデルによる
デフォルト—
フィールドreasoning_effort種類string要件任意値と制限
モデルによる
デフォルト—
フィールドreasoning種類object要件任意値と制限
モデルによる
デフォルト—
フィールドservice_tier種類string要件任意値と制限
モデルによる
デフォルト—
フィールドinstructions種類string要件任意値と制限
互換性用のフィールド
デフォルト—
フィールドfunctions種類function[]要件任意値と制限
モデルによる
デフォルト—
フィールドfunction_call種類string|object要件任意値と制限
モデルによる
デフォルト—
フィールドprompt_cache_options種類object要件任意値と制限
モデルによる
デフォルト—
フィールドmodalities種類string[]要件任意値と制限
text
デフォルト—
フィールドprovider種類object要件任意値と制限
条件: このUltraテキストルートではprovider.optionsは拒否されます
デフォルト—
フィールドcache_control.ttl種類string要件任意値と制限
条件: 実際のプロンプトキャッシュの指定箇所では1hは拒否されます
デフォルト—
入力素材の組み合わせ

テキスト · UTF8テキスト

messages[].content

メソッドのパラメータとライフサイクル
パラメータ仕様
パラメータcontent_type仕様application/json
パラメータrequired仕様model, messages
パラメータmaterial_types仕様text
パラメータmessages仕様role/content形式のメッセージ配列
パラメータfile_material仕様実際のUTF-8文書をテキストとしてそのまま挿入します。ファイルIDは推定しません
パラメータoptional_controls仕様stream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
パラメータcontrol_scope仕様モデル固有。ユーザーの関数ツールとホスト側のツールは異なります
パラメータoutput_modalities仕様text
パラメータhosted_operations仕様false
パラメータmultimodal_input_binding仕様null

ライフサイクル: synchronous_or_streamed

正確なモデルIDをmessagesとともに送ってください。

コンテキスト長は出力上限ではありません。

テキストファイルはテキストをそのまま提供できます。画像/音声/ファイルオブジェクトの入力には正確なバインディングが必要です。

料金

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード
標準料金 高速モードが選択されている場合
Flex モード
標準料金 flex モードが選択されている場合
最大推論量
標準料金 推論量が最大で、調整に既定値(default)を使用する場合

Ailootの料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表コンテキストトークン数が次の値を超える場合コンテキストトークン数が次の値以下の場合料金
設定トークンの基本単価料金表基本料金コンテキストトークン数が次の値を超える場合—コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.0006 / 1K トークン
出力 · 出力トークン $0.003 / 1K トークン
入力 · キャッシュ読み取り $0.0003 / 1K トークン
入力 · キャッシュ書き込み — / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン
設定リクエスト長に応じた料金区分 1料金表—コンテキストトークン数が次の値を超える場合0コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.0006 / 1K トークン
出力 · 出力トークン $0.003 / 1K トークン
入力 · キャッシュ読み取り $0.0003 / 1K トークン
入力 · キャッシュ書き込み — / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

リクエスト例

Ailoot Ultra · OpenAI チャット

curlPython SDKPythonストリーミング
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "cohere/command-a-plus", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='cohere/command-a-plus',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='cohere/command-a-plus',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

結果を受け取って保存

Ailoot Ultra · OpenAI チャット

jsonまたはSSE

完了した結果をすべて保存

返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。

すべての選択肢と、その内容・ツール呼び出し・推論を保持してください。SSEでは選択肢/ツールのインデックスごとに差分を組み立て、最終的な終了理由と使用量を残します。

元のレスポンスを確認する場合

リクエスト/応答IDとヘッダーを保持してください。テキストジョブを取得する汎用URLは提供されません。

レスポンスのフィールド
フィールド種類
フィールドchoices[].index種類integer
フィールドchoices[].message.content種類string|null
フィールドchoices[].message.tool_calls種類tool_call[]
フィールドchoices[].message.reasoning_content種類string
フィールドchoices[].message.reasoning_details種類object|array
フィールドchoices[].finish_reason種類string|null
フィールドusage種類object
エラーと次の手順
レスポンス条件次の手順
レスポンス400 · invalid_request_error条件必須フィールド、素材の表現形式、またはパラメーター値が不正です次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。

エイリアス

モデルのエイリアス

Ailoot Ultra cohere/command-a-plus

メソッドパスのエイリアス

上記に表示されたメソッドパスを使用してください。

関連する呼び出し用ID

cohere/command-a-plus

Ailoot Ultra · Anthropic メッセージ POST /v1/messages cohere/command-a-plus

cohere/command-a-plus

Cohere /cohere/command-a-plus

はじめに

Command A+ は、企業向けエージェントのための Cohere のマルチモーダル推論モデルです。テキストと画像を入力し、48 言語でテキストを出力します。引用、ツール利用、構造化出力を備え、128,000 トークンのコンテキストと、文書化された 64,000 トークンの出力上限を持ちます。

対応する入力
テキスト
結果
json · sse

Ailootで利用可能 · 入力とメソッド

Ailoot Ultra · Anthropic メッセージ POST /v1/messages
入力の種類
text
出力の種類
json, sse
出力形式
JSONまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
cohere/command-a-plus
デフォルト—
フィールドmessages種類message[]要件必須値と制限デフォルト—
フィールドmessages[].role種類string要件必須値と制限
user, assistant
デフォルト—
フィールドmessages[].content種類string要件必須値と制限デフォルト—
フィールドmax_tokens種類integer要件必須値と制限デフォルト—
フィールドstream種類boolean要件任意値と制限デフォルトfalse
入力素材の組み合わせ

テキスト · UTF-8テキスト

messages[].contentの文字列

メソッドのパラメータとライフサイクル
パラメータ仕様
パラメータcontent_type仕様application/json
パラメータrequired仕様model, messages, max_tokens
パラメータoptional_controls仕様stream
パラメータmaterial_types仕様text
パラメータtext_file_material仕様実際のUTF-8文書を読み、その本文を指定された入力またはメッセージ内容の文字列に入れてください。

ライフサイクル: synchronous_or_streamed

料金

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード
標準料金 高速モードが選択されている場合
Flex モード
標準料金 flex モードが選択されている場合
最大推論量
標準料金 推論量が最大で、調整に既定値(default)を使用する場合

Ailootの料金

設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

設定料金表コンテキストトークン数が次の値を超える場合コンテキストトークン数が次の値以下の場合料金
設定トークンの基本単価料金表基本料金コンテキストトークン数が次の値を超える場合—コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.0006 / 1K トークン
出力 · 出力トークン $0.003 / 1K トークン
入力 · キャッシュ読み取り $0.0003 / 1K トークン
入力 · キャッシュ書き込み — / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン
設定リクエスト長に応じた料金区分 1料金表—コンテキストトークン数が次の値を超える場合0コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.0006 / 1K トークン
出力 · 出力トークン $0.003 / 1K トークン
入力 · キャッシュ読み取り $0.0003 / 1K トークン
入力 · キャッシュ書き込み — / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →

リクエスト例

Ailoot Ultra · Anthropic メッセージ

必要最小限の完全な JSON ボディcurl · ご自身の UTF-8 ドキュメントを使用するPython · 結果全体を保存する
{
  "model": "cohere/command-a-plus",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'cohere/command-a-plus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'cohere/command-a-plus', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

結果を受け取って保存

Ailoot Ultra · Anthropic メッセージ

JSONまたはSSE

完了した結果をすべて保存

返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。

すべてのコンテンツブロック、思考署名、実際のツール利用IDを保持してください。SSEのすべてのブロック差分を組み立てます。最初のテキストブロックだけでは完全な出力になりません。

元のレスポンスを確認する場合

リクエスト/応答IDとヘッダーを保持してください。テキストジョブを取得する汎用URLは提供されません。

レスポンスのフィールド
フィールド種類
フィールドid種類string
フィールドmodel種類string
フィールドcontent[]種類text|thinking|tool_use|other content block
フィールドstop_reason種類string|null
フィールドusage種類object
エラーと次の手順
レスポンス条件次の手順
レスポンス400 · invalid_request_error条件必須フィールド、素材の表現形式、またはパラメーター値が不正です次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。

エイリアス

モデルのエイリアス

Ailoot Ultra cohere/command-a-plus

メソッドパスのエイリアス

上記に表示されたメソッドパスを使用してください。

関連する呼び出し用ID

cohere/command-a-plus

FAQ · Cohere: Command A+
利用できる入力と結果は何ですか?

POST /v1/chat/completions · cohere/command-a-plus: text → text

POST /v1/messages · cohere/command-a-plus: text → json, sse

リクエストはどの項目を使用しますか?

POST /v1/chat/completions · cohere/command-a-plus: model, messages, stream, modalities, provider

POST /v1/messages · cohere/command-a-plus: model, messages, max_tokens, stream

どの制限が適用されますか?

POST /v1/chat/completions · cohere/command-a-plus: messages.min_items: 1

詳細を見る

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

企業とそのプロジェクト群

企業とそのプロジェクト群:数百万の顧客、毎月数十億規模の売上。

トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション
定期的なリクエストに合う割引プランを選びましょう。
最大50%のプロモコード
購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。
支出を履歴で確認
各リクエストのモデル、トークン、金額が保存されます。

サブスクリプションを選ぶ · モデルの価格を見る

販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ
サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。
リセラーライセンス
プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。
サイトで契約文書を確認
接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

リセラーライセンスを申請 · サービス提供条件とライセンス契約