模型

Meta: Muse Spark 1.3

Markdown · JSON

Meta: Muse Spark 1.3

Muse Spark 1.3 是 Meta 用於長時間代理與程式設計工作流程的多模態推理模型。它追蹤來源與先前結果,支援製造商所載的 1,048,576 token 上下文;此 Standard 版本的推理等級最高為 max,回傳文字與工具動作提案。

關於模型

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

Muse Spark 1.3 是 Meta 用於持續代理與程式設計工作的推理模型。製造商強調在長時間任務中保持上下文與先前結果、處理互相衝突的來源,以及產出完成的交付物。本項目是 Standard 1.3 版本,文件所載推理設定包含 max;另行命名的 Contributor 版本有自己的設定邊界。

長時間代理工作

發布說明描述模型跨不同代理環境訓練,以蒐集資訊、在證據改變時修訂計畫,以及在多步驟任務中保留詳細需求。也描述在同一對話中處理多個工作流程的改善,將新要求對應到相關任務。實用要求應定義目標、來源、需求,以及作為完成標準的產物。

對於專業文件任務,請提供來源報告、指出必須保留的事實,並要求附來源位置的結構化摘要。若來源衝突,請要求分別列出衝突陳述,以及解決衝突所需資訊。程式設計任務請納入預期行為、受影響模組與相關程式碼;請要求實作提案,以及能辨識預期結果的證據。

製造商表示,當要求含糊時 1.3 會尋求釐清,受阻時會請使用者協助。也描述在可能造成重大影響的動作上有較佳判斷。這些是模型行為改善,不能取代應用程式的執行控制。請提供代理作出決策所需資訊,並明確說明必要結果。

程式設計與多模態證據

相較於 1.2,發布說明聚焦較長程式設計任務、更乾淨的輸出與較少不必要輪次。程式設計代理工作流程可檢視螢幕擷取畫面、定位相關程式碼、提出修正,並使用工具回傳的執行或算繪回饋。請說明必須相容的介面,並將變更產物與其假設、說明分開要求。

官方模型表列出文字、圖片、影片與 PDF 輸入,以及文字輸出,上下文為 1,048,576 token。圖片或片段可與書面任務一同提供可見證據。圖表問題應保留座標軸、圖例與單位;螢幕擷取畫面問題應指出要重現或檢視的行為。PDF 問題可要求連結到來源的擷取或比較,而非概括摘要每一頁。

製造商明確指出 1.3 的音訊理解尚未完整支援,包含音訊的回應可能品質下降。這與 1.2 文件所載的視聽能力不同。沒有周邊應用程式工具時,模型文字結果本身也不會生成圖片、口述錄音或完成檔案。

推理強度與延續

文件所載等級為 minimal、low、medium、high、xhigh 與 max。max 專屬 Standard 1.3。Muse Spark 不支援以 none 停用推理;省略設定時,使用模型自行決定的推理等級。請依實際問題選擇強度,並同時為內部推理與必要書面結果留出空間。

推理 token 與可見 token 共享輸出額度。原始內部推理保持私密,不會以一般可讀文字回傳。製造商區分可見對話歷史與私密推理延續:聊天介面不暴露可由外部呼叫端重播的追蹤,而其另一項有文件記錄的對話工作流程則支援託管或加密的推理延續。請保留後續所需的來源、可見訊息與實際工具結果,不要假設所有介面都以相同方式保留私密推理。

工具與結構化交付物

應用程式提供開發者定義的函式描述,模型建立必要呼叫引數,應用程式執行每個呼叫並回傳關聯結果。模型可能在一個輪次請求多個函式。要求下一個結論之前,請回傳每個原始操作的結果,讓答案使用實際檢索或計算資訊。

製造商另行記錄在其連接服務內執行的內建搜尋工具。開發者函式與這些內建工具具有不同執行安排。模型可推理自己需要哪些資訊,但單純選擇模型不會提供程式碼庫存取、瀏覽器或私人資訊來源。

結構化輸出可將結果限制為提供的 JSON 綱要。請定義下一步所需的欄位與型別,以及來源資訊缺漏時的處理方式。在製造商嚴格綱要模式中,根節點為普通物件、每個屬性皆為必填,且不允許額外屬性;遞迴綱要會遭拒絕。這些是製造商結構化介面的限制,不是形式正確的記錄內事實為真的證據。

為取得實用最終產物,請分別要求由來源支持的發現、變更提案或文件,以及未解條件。已讀來源未提供文件所載上下文以外、獨立的硬性最大輸入或輸出 token 容量。請在整個任務中明確保留 Standard 1.3 身分、推理選擇與連接環境的執行結果。

實用任務

實用任務

英文技術範例

Resolve conflicting project reports

Prepare a decision brief from these reports. Engineering E: migration scripts passed staging checks. Operations O: production backup restoration has not been rehearsed. Release policy P: rehearsal must pass before migration approval. State what is established, what blocks approval and the next evidence needed. Keep staging success separate from production readiness and cite E, O or P beside each point.

預期結果

A source-linked brief with established facts, the blocking condition and one concrete evidence request.

檢查結果

Staging checks alone never satisfy the policy's restoration-rehearsal requirement.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions meta/muse-spark-1.3

meta/muse-spark-1.3

Meta /meta/muse-spark-1.3

入門

Muse Spark 1.3 是 Meta 用於長時間代理與程式設計工作流程的多模態推理模型。它追蹤來源與先前結果,支援製造商所載的 1,048,576 token 上下文;此 Standard 版本的推理等級最高為 max,回傳文字與工具動作提案。

接受的輸入
文字
結果
文字

Ailoot 可用 · 輸入與方法

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
輸入
text
輸出
text
輸出格式
json 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
meta/muse-spark-1.3
預設值—
欄位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 調整值時
推理強度 · high
標準費率 推理強度設為 high 時
推理強度 · low
標準費率 推理強度設為 low 時
推理強度 · max
標準費率 推理強度設為 max 時
推理強度 · medium
標準費率 推理強度設為 medium 時
推理強度 · minimal
標準費率 推理強度設為 minimal 時
推理強度 · xhigh
標準費率 推理強度設為 xhigh 時

Ailoot 費率

各設定的價格

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

設定費率表上下文 Token 數大於上下文 Token 數小於或等於費用
設定詞元基本費率費率表基本費率上下文 Token 數大於—上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.0025 / 1K Token
輸出 · 輸出 Token $0.0085 / 1K Token
輸入 · 讀取快取 $0.0003 / 1K Token
輸入 · 寫入快取 — / 1K Token
輸入 · 寫入快取,1 小時 — / 1K Token
設定請求長度級距 1費率表—上下文 Token 數大於0上下文 Token 數小於或等於無上限費用
輸入 · 輸入 Token $0.0025 / 1K Token
輸出 · 輸出 Token $0.0085 / 1K Token
輸入 · 讀取快取 $0.0003 / 1K Token
輸入 · 寫入快取 — / 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": "meta/muse-spark-1.3", "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='meta/muse-spark-1.3',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='meta/muse-spark-1.3',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 meta/muse-spark-1.3

方法路徑別名

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

相關呼叫用 ID

meta/muse-spark-1.3

Ailoot Ultra · Anthropic Messages POST /v1/messages meta/muse-spark-1.3

meta/muse-spark-1.3

Meta /meta/muse-spark-1.3

入門

Muse Spark 1.3 是 Meta 用於長時間代理與程式設計工作流程的多模態推理模型。它追蹤來源與先前結果,支援製造商所載的 1,048,576 token 上下文;此 Standard 版本的推理等級最高為 max,回傳文字與工具動作提案。

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

Ailoot 可用 · 輸入與方法

Ailoot Ultra · Anthropic Messages POST /v1/messages
輸入
text
輸出
json, sse
輸出格式
JSON 或 SSE
欄位類型要求值與限制預設值
欄位model類型string要求必填值與限制
meta/muse-spark-1.3
預設值—
欄位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 調整值時
推理強度 · high
標準費率 推理強度設為 high 時
推理強度 · low
標準費率 推理強度設為 low 時
推理強度 · max
標準費率 推理強度設為 max 時
推理強度 · medium
標準費率 推理強度設為 medium 時
推理強度 · minimal
標準費率 推理強度設為 minimal 時
推理強度 · xhigh
標準費率 推理強度設為 xhigh 時

Ailoot 費率

各設定的價格

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

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

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

請求範例

Ailoot Ultra · Anthropic Messages

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

方法路徑別名

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

相關呼叫用 ID

meta/muse-spark-1.3

FAQ · Meta: Muse Spark 1.3
可以使用哪些輸入與結果?

POST /v1/chat/completions · meta/muse-spark-1.3: text → text

POST /v1/messages · meta/muse-spark-1.3: text → json, sse

請求使用哪些欄位?

POST /v1/chat/completions · meta/muse-spark-1.3: model, messages, stream, modalities, provider

POST /v1/messages · meta/muse-spark-1.3: model, messages, max_tokens, stream

適用哪些限制?

POST /v1/chat/completions · meta/muse-spark-1.3: messages.min_items: 1

更多詳情

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

公司及其專案組合

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

優惠購買 token。

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

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

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

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

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

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