模型

Qwen: Qwen3.5 397B A17B

Markdown · JSON

Qwen: Qwen3.5 397B A17B

Qwen3.5-397B-A17B 是 Qwen 的視覺語言混合專家模型,總參數為3,970億,啟用參數為170億。接受文字、影像及影片,為推理、程式設計與代理任務傳回文字,提供可選思考及原生262,144 token 上下文。

關於模型

此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。

Qwen3.5 重點:397B-A17B檢查點

Qwen3.5-397B-A17B 是 Qwen3.5 系列中經後訓練的視覺語言混合專家模型。它接受文字、影像及影片,生成文字:說明、程式碼提案、分析及所需文件產物。系列使用早期文字與視覺融合,以及在逐步複雜任務上的強化學習,發展推理、程式設計、代理及視覺理解。文件記載涵蓋201種語言與方言,不承諾每種語言或專業領域具有相同可靠性。

原廠另將受管理 Qwen3.5-Plus 描述為對應服務,並具有額外正式環境功能。保留此開放檢查點自身身分、上下文及生成方法,不要套入所有受管理功能或後續 Qwen 控制項。此確切397B-A17B版本與系列中較小密集及專家模型仍有區別。

模型概覽

模型總參數為3,970億,啟用170億。其60層混合配置重複三個 Gated DeltaNet 專家層,後接一個閘控注意力專家層。原廠列出512個路由專家,每次選擇十個路由專家及一個共享專家。視覺編碼器與多 token 預測是模型的一部分。總參數、啟用參數與完整檢查點儲存大小是不同概念;這些數量不確立固定回應時間。

原生上下文為262,144 token,可有條件擴展至最高1,010,000。文字、影像或影片表示、對話歷史、推理及最終答案共享設定序列額度。任務應使用實際設定預算,不要假設最大文件與最大答案會自動一同容納。

準備文字與視覺證據

技術專案應提供規格、相關程式碼與圖解,並定義要產生的產物。要求依受影響元件組織實作提案,並以所提供需求為依據。文件比較應保留章節識別碼、表格標籤及單位,要求分析結果表格的每列附上證據。多語言報告應指定目標語言及保持不變的術語。

影像問題應保留小型標籤,並提供圖片中沒有的定義。影片問題應指出相關事件,保留影格順序及時間。將傳回視覺細節、引文及事件描述同原始影像、段落與時間戳記核對。結果仍是文字分析或程式碼;模型的視覺輸入不代表能生成影像、影片或語音。

思考與對話歷史

思考預設啟用,位於最終回應之前。原廠 enable_thinking 設定可停用思考以直接回答。Qwen3.5 不正式支援較舊的 /think 與 /nothink 軟性提示切換。讓最終產物在推理後容易找到,例如以分隔符標記的結論、證據表格或獨立程式碼提案。

模型卡建議歷史助理訊息保留最終答案,不含思考內容。這與後續版本引入的歷史推理保留選項及預設值不同。遵循此確切檢查點範本,讓修正或工具觀察對應其更新的任務。

代理用途

Qwen 記載工具呼叫,建議使用 Qwen-Agent 搭配已設定或 MCP 連接工具,以及 Qwen Code 進行程式設計代理工作流程。說明允許操作、可用證據及可觀察完成標準。應用程式執行工具並提供結果;模型可依觀察修訂計畫或說明。建議命令或修補程式仍與環境中實際完成的動作不同。

超長文字與影片

原廠擴展使用 YaRN 搭配檢查點自身交錯位置設定。四倍係數以約一百萬 token 工作流程為目標;524,288 token 工作負載建議二倍係數。靜態縮放可能影響較短文字效能,因此應依真實大型上下文需求使用。依文件、頁面或程式碼識別名稱組織長輸入,並為結果預留空間。

支援的影片範例預設每秒兩個影格。小時規模資料方面,原廠建議較大的處理器預算,約對應224K影片 token,以支援較高頻率採樣。這是依設定而定的方法,不是通用媒體時長、完整記憶或時間戳記精度保證。

生成建議與實質限制

此檢查點最佳實務建議思考模式使用 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。這些確切建議與部分較小 Qwen3.5 版本不同。在支援的實作中,介於零與二之間的 presence penalty 可減少重複,但較高值可能混用語言或略降品質。

建議生成額度為多數查詢32,768 token,特別複雜的數學或程式設計工作81,920。這些是建議,不是獨立硬性輸出上限。指定所需答案格式,將計算、擷取細節及建議程式碼同來源核對。實用輸出是具體文字產物,其證據與假設可供審查。

實用任務

實用任務

英文技術範例

Reconcile a specification and implementation plan

Compare spec S1: users may delete only their own drafts, and published records cannot be deleted. Plan P1: show Delete for every record owned by the user, regardless of status. Return the exact mismatch, a corrected eligibility rule and test cases for an owned draft, owned published record and another user’s draft.

預期結果

An evidence-linked mismatch, a corrected rule and three acceptance-test descriptions.

檢查結果

Check that both ownership and draft status are required rather than treating either condition as sufficient.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3.5-397b-a17b

qwen/qwen3.5-397b-a17b

Alibaba /qwen/qwen3.5-397b-a17b

入門

Qwen3.5-397B-A17B 是 Qwen 的視覺語言混合專家模型,總參數為3,970億,啟用參數為170億。接受文字、影像及影片,為推理、程式設計與代理任務傳回文字,提供可選思考及原生262,144 token 上下文。

接受的輸入
文字
結果
文字

Ailoot 可用 · 輸入與方法

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
輸入
text
輸出
text
輸出格式
json 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
qwen/qwen3.5-397b-a17b
預設值—
欄位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 費率

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定費率表上下文 Token 數大於上下文 Token 數小於或等於費用
設定詞元基本費率費率表基本費率上下文 Token 數大於—上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.00078 / 1K Token
輸出 · 輸出 Token $0.00468 / 1K Token
輸入 · 讀取快取 $0 / 1K Token
輸入 · 寫入快取 $0 / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token
設定請求長度級距 1費率表—上下文 Token 數大於0上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.00078 / 1K Token
輸出 · 輸出 Token $0.00468 / 1K Token
輸入 · 讀取快取 $0 / 1K Token
輸入 · 寫入快取 $0 / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token

Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →

請求範例

Ailoot Ultra · OpenAI Chat

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-397b-a17b", "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-397b-a17b',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-397b-a17b',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 Chat

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-397b-a17b

方法路徑別名

請使用上方列出的 API 方法路徑。

相關呼叫用 ID

qwen/qwen3.5-397b-a17b

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3.5-397b-a17b

qwen/qwen3.5-397b-a17b

Alibaba /qwen/qwen3.5-397b-a17b

入門

Qwen3.5-397B-A17B 是 Qwen 的視覺語言混合專家模型,總參數為3,970億,啟用參數為170億。接受文字、影像及影片,為推理、程式設計與代理任務傳回文字,提供可選思考及原生262,144 token 上下文。

接受的輸入
文字
結果
json · sse

Ailoot 可用 · 輸入與方法

Ailoot Ultra · Anthropic Messages POST /v1/messages
輸入
text
輸出
json, sse
輸出格式
JSON 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
qwen/qwen3.5-397b-a17b
預設值—
欄位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 文件,將文字放入指定的 input 或訊息內容字串。

生命週期: synchronous_or_streamed

方案

費率資訊不會增加請求選項。支援的參數列於所選方法中。

快速模式
標準費率 選取快速模式時
flex 模式
標準費率 選取 flex 模式時
最高推理強度
標準費率 最高推理強度採用 default 調整值時

Ailoot 費率

各設定的價格

請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。

設定費率表上下文 Token 數大於上下文 Token 數小於或等於費用
設定詞元基本費率費率表基本費率上下文 Token 數大於—上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.00078 / 1K Token
輸出 · 輸出 Token $0.00468 / 1K Token
輸入 · 讀取快取 $0 / 1K Token
輸入 · 寫入快取 $0 / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token
設定請求長度級距 1費率表—上下文 Token 數大於0上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.00078 / 1K Token
輸出 · 輸出 Token $0.00468 / 1K Token
輸入 · 讀取快取 $0 / 1K Token
輸入 · 寫入快取 $0 / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token

Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →

請求範例

Ailoot Ultra · Anthropic Messages

完整的最小 JSON 請求主體curl · 使用您的 UTF-8 文件Python · 儲存完整結果
{
  "model": "qwen/qwen3.5-397b-a17b",
  "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-397b-a17b', '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-397b-a17b', '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 Messages

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-397b-a17b

方法路徑別名

請使用上方列出的 API 方法路徑。

相關呼叫用 ID

qwen/qwen3.5-397b-a17b

FAQ · Qwen: Qwen3.5 397B A17B
可以使用哪些輸入與結果?

POST /v1/chat/completions · qwen/qwen3.5-397b-a17b: text → text

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

請求使用哪些欄位?

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

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

適用哪些限制?

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

更多詳情

將 Ailoot 串接 Claude Code、OpenCode、Hermes 或自己的應用程式。

公司及其專案組合

公司及其專案組合:數百萬客戶,每月銷售額達數十億。

優惠購買 token。

訂閱優惠適合持續工作,折扣碼購買 token 最高可折 50%。

訂閱
為定期請求選擇優惠方案。
最高 50% 折扣碼
購買時輸入代碼,價格依活動重算。
歷史中的費用
每次請求保存模型、token 與金額。

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

依 Ailoot 正式服務條款與授權合約串接 SaaS、應用程式與機器人;轉售請申請經銷授權。

商用應用程式
在付費功能加入文字、圖片、影片與聲音生成。
經銷授權
提供專案說明與存取方式,要求書面使用和轉售條件。
網站文件
串接前可閱讀正式服務條款、授權合約與資料處理政策。

申請經銷授權 · 正式服務條款與授權合約