モデル

Qwen: Qwen3.5-35B-A3B

Markdown · JSON

Qwen: Qwen3.5-35B-A3B

Qwen3.5-35B-A3Bは、総パラメータ数350億、活性化パラメータ数30億の、Qwenの視覚言語Mixture-of-Expertsモデルです。推論、コーディング、ツールで補助する作業向けにテキスト、画像、動画を受け取り、思考と直接回答のモード、およびネイティブ262,144トークンのコンテキストを備えます。

モデルについて

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

Qwen3.5の特長:スパースな視覚言語チェックポイント

Qwen3.5-35B-A3Bは、学習後の調整を施した視覚言語モデルで、テキスト、画像、動画の理解と、文章による応答を組み合わせています。ファミリーは、テキストと視覚の早期融合、および段階的に複雑になるタスク全体での強化学習を通じて学習され、推論、コーディング、エージェント、視覚分析を支えます。また、201の言語と方言をカバーすると説明しています。この範囲はファミリーの能力であり、すべての言語やタスクで同じ品質を約束するものではありません。

この正確な公開チェックポイントは、Qwen3.5-35B-A3B-Baseや、後のQwen3.6リリースとは別のものです。開発元は追加機能を持つ管理型Flashも説明していますが、それらのインターフェース機能を公開チェックポイントへ自動的に割り当てるべきではありません。結果を比較したり、再現可能なモデル選択を記録したりする際は、指定した35B-A3Bの識別情報を保持してください。

モデルの概要

Mixture-of-Expertsモデルは、総パラメータ数350億で、30億を活性化します。40層のハイブリッド構成は、3つのGated DeltaNetエキスパート層の後に1つのゲート付きアテンションのエキスパート層を置く構成を繰り返します。256のルーティング対象エキスパートを備え、文書化された構成では8つのルーティング対象エキスパートと1つの共有エキスパートが活性化します。視覚エンコーダーと複数トークン予測もモデルの一部です。活性化数は完全なチェックポイントのサイズを示さず、アーキテクチャだけで特定アプリケーションのレイテンシーを保証することもできません。

ネイティブのコンテキストは262,144トークンで、条件付きで1,010,000へ拡張できます。Qwenは、コンテキストを減らせばメモリ負荷が下がる場合でも、複雑な思考タスクでは可能なら少なくとも128Kを維持するよう助言しています。テキスト、表現された視覚資料、履歴、推論、最終回答は、すべて設定された列の領域を必要とします。

入力と応答モードの利用

スクリーンショットを参考にするコード要求では、視覚資料、既存ソースの情報、操作要件、期待する編集可能な成果物を提示してください。グラフや文書では、ラベルと単位を保持し、裏付けの証拠を伴う値の表を求めます。多言語の説明では、対象言語と保持する用語を明示してください。

思考は既定で有効で、最終応答の前に推論ブロックを生成します。開発元のenable_thinking制御で、直接回答のために無効化できます。Qwen3.5は、旧来の/thinkと/nothinkによるソフトなプロンプト切り替えを公式にはサポートしていません。履歴の指針は、思考内容なしで最終回答を保持します。これは後のQwen3.6の保持オプションや、Qwen3.8の既定で過去の推論を保持する動作と区別してください。

エージェントとしての利用

開発元はツール呼び出しを文書化し、設定済みまたはMCP接続ツールを使うQwen-Agentを、リポジトリを対象とする作業用のQwen Codeとともに推奨しています。許可する操作、関連証拠、最終成果物を定義してください。アプリケーションがツールを実行して観測結果を提供し、モデルはそのフィードバックを使って分析を修正できます。計画されたコマンドや生成パッチは実行済みの操作ではなく、モデル名だけで最新情報やファイルへのアクセスが確定するわけではありません。

超長文コンテキスト

開発元の拡張手順は、チェックポイントのインターリーブ位置設定とともにYaRNを使います。係数4は約100万トークンのワークフローを対象とし、524,288トークンのタスクには係数2が提案されています。静的スケーリングは短文性能を下げる場合があるため、大きなコンテキストが必要なときに設定すべきです。無関係な証拠でウィンドウを埋めず、文書境界、コード識別子、明確な問いで長い資料を整理してください。

生成の推奨値

Best Practicesでは、一般的な思考にはtemperature 1.0、top_p 0.95、top_k 20、min_p 0、presence penalty 1.5、repetition penalty 1.0を使います。精密なコーディングではtemperature 0.6、presence penalty 0です。一般的な直接回答ではtemperature 0.7、top_p 0.8、presence penalty 1.5で、top_kは20、min_pは0、repetition penaltyは1.0です。直接回答モードの推論では、Best Practicesはtemperature 1.0、top_p 1.0、top_k 40、presence penalty 2.0を示しています。これらのタスク固有のプリセットを区別してください。強いpresence penaltyは、言語混在やわずかな品質低下を招く場合があります。

推奨生成許容量は、ほとんどの問いで32,768トークン、特に複雑な数学やプログラミングでは81,920です。これらは別途確定した固定出力上限ではありません。最終回答形式を明示し、計算や生成コードを提示条件に照らして確認してください。

動画と本質的な制約

対応動画例は、既定で毎秒2フレームを使います。開発元の時間単位の動画の指針は、高いフレームレートのサンプリングに向け、処理予算を約224Kの動画トークンへ拡張します。これは設定を必要とし、タスクと回答とともにコンテキストを消費します。無条件の動画時間やイベントの完全な記憶を保証するものではありません。関連する場面転換と小さな文字を保持し、可視証拠に結び付く結果を求めてください。実用的価値は、レビュー可能な具体的成果物を伴う、チェックポイントがテキストと視覚を統合して扱う範囲と選択可能な応答モードにあります。

実用タスク

実用タスク

英語の技術例

Audit a transcribed experiment table

Use this transcribed experiment table: baseline, 100 trials, 12 failures; revision A, 80 trials, 8 failures; revision B, 40 trials, 2 failures. Calculate the observed failure rates and compare them. Explain what these counts establish and what would require additional statistical analysis; do not claim that the smallest observed rate proves the best underlying system.

期待される結果

A rate table and a qualified comparison separating observed proportions from unperformed statistical inference.

結果の確認

Each rate uses its own trial count, and the conclusion does not treat unequal sample sizes as equivalent proof.
Ailoot Ultra · OpenAI チャット POST /v1/chat/completions qwen/qwen3.5-35b-a3b

qwen/qwen3.5-35b-a3b

Alibaba /qwen/qwen3.5-35b-a3b

はじめに

Qwen3.5-35B-A3Bは、総パラメータ数350億、活性化パラメータ数30億の、Qwenの視覚言語Mixture-of-Expertsモデルです。推論、コーディング、ツールで補助する作業向けにテキスト、画像、動画を受け取り、思考と直接回答のモード、およびネイティブ262,144トークンのコンテキストを備えます。

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

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

Ailoot Ultra · OpenAI チャット POST /v1/chat/completions
入力の種類
text
出力の種類
text
出力形式
jsonまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
qwen/qwen3.5-35b-a3b
デフォルト—
フィールド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.00046 / 1K トークン
出力 · 出力トークン $0.00366 / 1K トークン
入力 · キャッシュ読み取り $0 / 1K トークン
入力 · キャッシュ書き込み $0 / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン
設定リクエスト長に応じた料金区分 1料金表—コンテキストトークン数が次の値を超える場合0コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.00046 / 1K トークン
出力 · 出力トークン $0.00366 / 1K トークン
入力 · キャッシュ読み取り $0 / 1K トークン
入力 · キャッシュ書き込み $0 / 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": "qwen/qwen3.5-35b-a3b", "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='qwen/qwen3.5-35b-a3b',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='qwen/qwen3.5-35b-a3b',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 qwen/qwen3.5-35b-a3b

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

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

関連する呼び出し用ID

qwen/qwen3.5-35b-a3b

Ailoot Ultra · Anthropic メッセージ POST /v1/messages qwen/qwen3.5-35b-a3b

qwen/qwen3.5-35b-a3b

Alibaba /qwen/qwen3.5-35b-a3b

はじめに

Qwen3.5-35B-A3Bは、総パラメータ数350億、活性化パラメータ数30億の、Qwenの視覚言語Mixture-of-Expertsモデルです。推論、コーディング、ツールで補助する作業向けにテキスト、画像、動画を受け取り、思考と直接回答のモード、およびネイティブ262,144トークンのコンテキストを備えます。

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

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

Ailoot Ultra · Anthropic メッセージ POST /v1/messages
入力の種類
text
出力の種類
json, sse
出力形式
JSONまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
qwen/qwen3.5-35b-a3b
デフォルト—
フィールド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.00046 / 1K トークン
出力 · 出力トークン $0.00366 / 1K トークン
入力 · キャッシュ読み取り $0 / 1K トークン
入力 · キャッシュ書き込み $0 / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン
設定リクエスト長に応じた料金区分 1料金表—コンテキストトークン数が次の値を超える場合0コンテキストトークン数が次の値以下の場合上限なし料金
入力 · 入力トークン $0.00046 / 1K トークン
出力 · 出力トークン $0.00366 / 1K トークン
入力 · キャッシュ読み取り $0 / 1K トークン
入力 · キャッシュ書き込み $0 / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン

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

リクエスト例

Ailoot Ultra · Anthropic メッセージ

必要最小限の完全な JSON ボディcurl · ご自身の UTF-8 ドキュメントを使用するPython · 結果全体を保存する
{
  "model": "qwen/qwen3.5-35b-a3b",
  "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': 'qwen/qwen3.5-35b-a3b', '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': 'qwen/qwen3.5-35b-a3b', '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 qwen/qwen3.5-35b-a3b

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

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

関連する呼び出し用ID

qwen/qwen3.5-35b-a3b

FAQ · Qwen: Qwen3.5-35B-A3B
利用できる入力と結果は何ですか?

POST /v1/chat/completions · qwen/qwen3.5-35b-a3b: text → text

POST /v1/messages · qwen/qwen3.5-35b-a3b: text → json, sse

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

POST /v1/chat/completions · qwen/qwen3.5-35b-a3b: model, messages, stream, modalities, provider

POST /v1/messages · qwen/qwen3.5-35b-a3b: model, messages, max_tokens, stream

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

POST /v1/chat/completions · qwen/qwen3.5-35b-a3b: messages.min_items: 1

詳細を見る

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

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

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

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

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

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

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

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

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

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

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