モデル

Qwen3-1.7B

Markdown · JSON

Qwen3-1.7B

Qwen3-1.7Bは、直接回答と思考の両モードを備えるコンパクトなデンス型テキストモデルです。多言語対話、文章作成、コード、ツール利用を想定した指示に対応し、この正確なリリースでは32,768トークンのコンテキストが文書化されています。

モデルについて

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

Qwen3-1.7Bは、小型のデンス型言語モデルで直接回答と推論を提供します。開発元は、指示追従、創作、役割に基づく会話、数学、論理の問題、コードを説明し、100を超える言語と方言に対応するとしています。テキストを受け取り、テキストを生成します。最初の有用なタスクは、短い顧客メッセージを丁寧な返信に変える、特定の読者向けに用語を説明する、会議メモを行動リストに変換するなど、条件を明確にした変換です。

この正確なリリースは、パラメータ数17億、そのうち埋め込み以外が14億で、28層です。Grouped-query attentionは、16のクエリヘッドと8つのキー/バリューヘッドを使います。このモデル自身のカードには、コンテキスト長32,768トークンと記載されています。これはこのエディションの文書上のウィンドウであり、別のサイズのQwen3にある大きなコンテキスト値は、それぞれのカードに結び付けておくべきです。元のテキスト、指示、会話履歴、求める回答を、該当する列の予算に収めてください。返信アシスタントには、無関係な通信記録を丸ごと与えるのではなく、受信メッセージ、確認済みの背景事実、読者、希望する長さを提示します。

開発元のクイックスタートは、モデルのチャットテンプレートで会話を整形します。元資料と照合できる、小さく完結したタスクを準備してください。行動リストの例では、名前、日付、決定事項を含むメモを与え、行動ごとに1項目を求め、担当が示されていない場合には明示的な不明値を要求します。プログラミングの例では、1つの関数と代表的な入力を与え、結果を決める分岐を説明させます。返される説明は仮想的な動作を持ち込まず、実際の変数と条件を参照すべきです。公開されている統合方法にはQwen3に対応したランタイムが必要です。カードは、4.51.0未満のTransformersでは必要なアーキテクチャが認識されないと警告しています。

提示されたテンプレートでは思考が既定で有効です。ハードな切り替えを使うと思考なしの出力となり、推論部分がなくなります。思考を有効にしたままなら、/thinkと/no_thinkはターンごとの指示として働き、最新の指示が選択を制御します。ハードに無効化されたモードを上書きすることはできません。短い書き換えには直接回答の設定を、複数の条件を突き合わせる回答には推論の設定を使ってください。途中の推論と最終回答を分け、その後の対話履歴には最終回答を保持します。思考が有効な場合、ソフトな思考なしの要求でも推論ブロックは残り、その内容が空になる場合があります。ハードな無効化では、そのブロックがなくなります。

エージェントとしての利用は、公開された能力の一部です。開発元はツールの書式と解析にQwen-Agentを推奨し、ツールはアプリケーションが提供し実行します。用途を絞ったアシスタントは、製品用語の辞書照会を要求し、確認された定義を受け取ってから、ユーザーの文を書き換えることができます。許可する引数と返すフィールドを定義し、結果の利用前に両方を確認してください。最終テキストでは、提示された事実、取得した情報、未回答の問いを区別すべきです。Qwen3のガイドには、並列および複数段階のツール呼び出しも説明されており、引数はオブジェクトとして表現し、結果を会話に戻します。

出力予算はタスク全体に収まる必要があります。モデルカードには生成例と出力長の推奨値がありますが、実証されたサービス側の最大値とは異なります。短い要求出力は検証しやすいため、フィールド、順序、言語を指定し、比較用に元のメッセージを残してください。長文生成に依存する前に、実際に扱う種類の入力で結果を評価します。Qwen3の文書は、学習時の長さの説明で、思考モードのアシスタントメッセージ長38,912トークン、思考なしモードの長さ16,384トークンに言及し、長い生成の品質を評価するよう推奨しています。これらの値は全体のコンテキストウィンドウとは別であり、エンドポイント固有の固定上限ではありません。

このサイズには、持続的な反復に関する個別の注記があります。カードは、推奨サンプリング設定を用い、著しい反復が起きた場合にはpresence_penalty 1.5を使うよう提案しています。強いペナルティは言語の混在や性能低下を引き起こす場合があります。思考時の推奨値はtemperature 0.6、top-p 0.95、top-k 20、min-p 0で、思考なしではtemperature 0.7、top-p 0.8、top-k 20、min-p 0です。推論モードでは貪欲デコードを避けてください。名前、日付、ラベル、繰り返された節を確認し、構造化出力はアプリケーションの別の部分に渡す前に検証します。

実用タスク

実用タスク

英語の技術例

Convert a short note into actions

Turn this note into an action list: 'Mina will order six folders by Thursday. Leo will check the cupboard today. Someone must print the welcome sheets before Friday, but we have not assigned that task.' Return one row per action with owner, task and deadline; use 'unassigned' where needed.

期待される結果

Three action rows retaining names, deadlines and the unassigned printing owner.

結果の確認

Do not assign the printing task to Mina or Leo without evidence in the note.
Ailoot Ultra · OpenAI チャット POST /v1/chat/completions qwen3-1.7b

qwen3-1.7b

Alibaba /qwen3-1.7b

はじめに

Qwen3-1.7Bは、直接回答と思考の両モードを備えるコンパクトなデンス型テキストモデルです。多言語対話、文章作成、コード、ツール利用を想定した指示に対応し、この正確なリリースでは32,768トークンのコンテキストが文書化されています。

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

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

Ailoot Ultra · OpenAI チャット POST /v1/chat/completions
入力の種類
text
出力の種類
text
出力形式
jsonまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
qwen3-1.7b
デフォルト—
フィールド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の料金

設定別の価格

設定料金表料金
設定トークンの基本単価料金表基本料金料金
入力 · 入力トークン $0.0001 / 1K トークン
出力 · 出力トークン $0.001 / 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": "qwen3-1.7b", "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='qwen3-1.7b',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='qwen3-1.7b',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 qwen3-1.7b

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

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

関連する呼び出し用ID

qwen3-1.7b

Ailoot Ultra · Anthropic メッセージ POST /v1/messages qwen3-1.7b

qwen3-1.7b

Alibaba /qwen3-1.7b

はじめに

Qwen3-1.7Bは、直接回答と思考の両モードを備えるコンパクトなデンス型テキストモデルです。多言語対話、文章作成、コード、ツール利用を想定した指示に対応し、この正確なリリースでは32,768トークンのコンテキストが文書化されています。

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

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

Ailoot Ultra · Anthropic メッセージ POST /v1/messages
入力の種類
text
出力の種類
json, sse
出力形式
JSONまたはSSE
フィールド種類要件値と制限デフォルト
フィールドmodel種類string要件必須値と制限
qwen3-1.7b
デフォルト—
フィールド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の料金

設定別の価格

設定料金表料金
設定トークンの基本単価料金表基本料金料金
入力 · 入力トークン $0.0001 / 1K トークン
出力 · 出力トークン $0.001 / 1K トークン
入力 · キャッシュ読み取り $0 / 1K トークン
入力 · キャッシュ書き込み $0 / 1K トークン
入力 · キャッシュ書き込み、1時間 — / 1K トークン

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

リクエスト例

Ailoot Ultra · Anthropic メッセージ

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

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

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

関連する呼び出し用ID

qwen3-1.7b

FAQ · Qwen3-1.7B
利用できる入力と結果は何ですか?

POST /v1/chat/completions · qwen3-1.7b: text → text

POST /v1/messages · qwen3-1.7b: text → json, sse

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

POST /v1/chat/completions · qwen3-1.7b: model, messages, stream, modalities, provider

POST /v1/messages · qwen3-1.7b: model, messages, max_tokens, stream

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

POST /v1/chat/completions · qwen3-1.7b: messages.min_items: 1

詳細を見る

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

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

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

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

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

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

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

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

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

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

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