模型

inclusionAI: Ling 3.1 Flash

Markdown · JSON

inclusionAI: Ling 3.1 Flash

Ling 3.1 Flash 是 inclusionAI 用於辦公工作、長時間軟體開發與複雜代理的混合推理模型。其稀疏 560B 參數架構每個 token 啟用約 25B 參數,支援多步規劃、工具互動,以及根據中間結果修訂。

關於模型

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

Ling 3.1 Flash 是 inclusionAI 的混合推理語言模型,適合包含多個階段、而非單次簡短回答的任務。開發商將其定位於日常辦公工作、長時間軟體工程與複雜代理流程。它採用混合專家架構,總參數約 560B,每個 token 啟用約 25B,在大型模型容量與較少的啟用運算量之間取得平衡。

其核心設計目標是維持任務狀態,並在較長工作中修正方向。在連接工具的流程中,模型可規劃多個步驟、解讀中間結果,並在證據改變時修訂下一步。提供精確目標、可用資料與完成定義。例如:「檢視這些事件筆記,找出尚未釐清的原因,並產生依優先順序排列的調查計畫。每項行動都列出判斷是否有效所需的證據。」這能將模糊請求轉為可檢查、可延續的成果。

辦公工作的實用輸入包含來源筆記、從文件擷取的文字、欄位定義清楚的表格,以及報告的預期讀者。說明期間、單位與比較基準。要求管理簡報、報告大綱或重要變化說明等書面成果。例如:「只使用這些季度表格,說明最大的變化,區分觀察值與假設,並撰寫簡報,在結尾列出待解問題。」輸入應保留來源標籤,讓產生的主張能追溯至正確資料。

軟體開發方面,開發商強調跨語言重構、效能最佳化,以及分析程式碼庫中經常使用的部分。以文字提供相關檔案、須保留的行為、相依套件版本,以及失敗輸出或量測資料。實用請求應要求建議修改與評估所需檢查:「重構這個剖析器,同時保留文件所述的輸出格式。說明受影響行為、顯示修訂程式碼,並列出能揭露回歸問題的案例。」效能工作應提供實際效能剖析或時間資料,要求每項建議對應量測到的瓶頸。

專業分析應先蒐集相關規則、定義與證據,再要求建議。Ling 3.1 Flash 的用途包括綜合分散資訊、解讀指標與形成行動建議。要求比較時,應列出假設與仍需取得的資訊,而非無依據的裁定。例如提供數個專案提案,要求以相同準則撰寫決策備忘錄,將有來源支持的觀察與推論後果分開。證據衝突時,要求列出衝突段落,以及可解決衝突的問題。

開發商區分模型 1M token 上下文上限,與官方服務目前開放的 256K 上下文。這些數字描述不同界線。應依適用視窗整理工作資料,並為回覆預留空間;模型層級上限不代表每個介面都接受該輸入量。大型任務應將目標、已完成決策、待解問題與來源參考一併保留。以明確邊界區分文件與程式碼,避免待分析資料被誤認為應遵循的指示。

連接工具的任務應準備清楚的工具說明、預期引數與有用的結果記錄。將實際結果回饋至對話,讓下一個提議建立在觀察之上。要求模型說明傳回結果改變了什麼,以及仍缺少哪些證據。模型面向代理的設計支援這種規劃與回饋模式;周邊應用程式則執行工具步驟並保存結果。指令、程式碼修改或報告若能明確標示為建議、已執行且有記錄,或仍待驗證,會更實用。

Ling 3.1 Flash 屬於語言模型產品線;另有 Ling 3.0 Flash VL,是開發商的視覺模型。此文字任務應準備文字來源內容,並保留其結構、標籤與來源脈絡。指定輸出語言與形式,例如精簡備忘錄、發現事項表格、修補說明或編號計畫。要求模型標示缺漏資訊,並依原始限制核對所需成果。長流程仍須檢查中間結果,否則早期的錯誤假設可能被帶入後續推理,再潤飾成看似可信的最終報告。

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions inclusionai/ling-3.1-flash

inclusionai/ling-3.1-flash

inclusionAI /inclusionai/ling-3.1-flash

入門

Ling 3.1 Flash 是 inclusionAI 用於辦公工作、長時間軟體開發與複雜代理的混合推理模型。其稀疏 560B 參數架構每個 token 啟用約 25B 參數,支援多步規劃、工具互動,以及根據中間結果修訂。

接受的輸入
文字
結果
文字

Ailoot 可用 · 輸入與方法

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
輸入
text
輸出
text
輸出格式
json 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
inclusionai/ling-3.1-flash
預設值—
欄位messages類型message[]要求必填值與限制
項目數下限: 1
預設值—
欄位messages[].role類型string要求必填值與限制
依模型而定
預設值—
欄位messages[].content類型string要求選填值與限制
適用條件: 文字對話
預設值—
欄位stream類型boolean要求選填值與限制預設值false
輸入素材組合

文字 · UTF8 文字

messages[].content

方法參數與生命週期
參數規格
參數content_type規格application/json
參數required規格model, messages
參數material_types規格text
參數messages規格具有 role/content 結構的訊息陣列
參數file_material規格實際 UTF-8 文件以原文文字插入;不推定檔案 ID
參數optional_controls規格stream
參數control_scope規格文字對話;stream 是布林值,預設為 false。
參數output_modalities規格text
參數hosted_operations規格false
參數multimodal_input_binding規格null

方法別名: /chat/completions

生命週期: synchronous_or_streamed

將確切模型 ID 與 messages 一併送出。

上下文長度不是輸出上限。

文字檔案可提供原文文字;圖片/音訊/檔案物件輸入需要精確綁定。

方案

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

快速模式
未指定 選取快速模式時
flex 模式
未指定 選取 flex 模式時
最高推理強度
未指定 最高推理強度採用 default 調整值時

Ailoot 費率

各設定的價格

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

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

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

請求範例

Ailoot Ultra · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"inclusionai/ling-3.1-flash","messages":[{"role":"user","content":"hello"}],"stream":false}')

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="inclusionai/ling-3.1-flash", messages=[{"role":"user","content":"hello"}], stream=False)
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"))

接收並儲存結果

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 inclusionai/ling-3.1-flash

方法路徑別名

/chat/completions

相關呼叫用 ID

inclusionai/ling-3.1-flash

Ailoot Ultra · Anthropic Messages POST /v1/messages inclusionai/ling-3.1-flash

inclusionai/ling-3.1-flash

inclusionAI /inclusionai/ling-3.1-flash

入門

Ling 3.1 Flash 是 inclusionAI 用於辦公工作、長時間軟體開發與複雜代理的混合推理模型。其稀疏 560B 參數架構每個 token 啟用約 25B 參數,支援多步規劃、工具互動,以及根據中間結果修訂。

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

Ailoot 可用 · 輸入與方法

Ailoot Ultra · Anthropic Messages POST /v1/messages
輸入
text
輸出
json, sse
輸出格式
JSON 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
inclusionai/ling-3.1-flash
預設值—
欄位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.0006 / 1K Token
輸出 · 輸出 Token $0.0018 / 1K Token
輸入 · 讀取快取 $0.00012 / 1K Token
輸入 · 寫入快取 — / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token
設定請求長度級距 1費率表—上下文 Token 數大於0上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.0006 / 1K Token
輸出 · 輸出 Token $0.0018 / 1K Token
輸入 · 讀取快取 $0.00012 / 1K Token
輸入 · 寫入快取 — / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token

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

請求範例

Ailoot Ultra · Anthropic Messages

完整的最小 JSON 請求主體curl · 使用您的 UTF-8 文件Python · 儲存完整結果
{
  "model": "inclusionai/ling-3.1-flash",
  "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': 'inclusionai/ling-3.1-flash', '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': 'inclusionai/ling-3.1-flash', '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 inclusionai/ling-3.1-flash

方法路徑別名

/chat/completions

相關呼叫用 ID

inclusionai/ling-3.1-flash

FAQ · inclusionAI: Ling 3.1 Flash
可以使用哪些輸入與結果?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: text → text

POST /v1/messages · inclusionai/ling-3.1-flash: text → json, sse

請求使用哪些欄位?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: model, messages, stream

POST /v1/messages · inclusionai/ling-3.1-flash: model, messages, max_tokens, stream

適用哪些限制?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: messages.min_items: 1

更多詳情

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

公司及其專案組合

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

優惠購買 token。

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

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

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

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

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

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