模型

OpenAI: GPT-4o-mini (batch)

Markdown · JSON

OpenAI: GPT-4o-mini (batch)

GPT-4o Mini 處理範圍明確的文字與圖片任務,包括文件擷取、精簡回覆及應用程式工具呼叫。其 128,000 個 token 上下文與 Structured Outputs,支援具有明確結果的可重複工作流程。

關於模型

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

GPT-4o Mini 是 OpenAI 用於範圍明確工作的 GPT-4o 家族小型模型。它接受文字與圖片,輸出包含 Structured Outputs 在內的文字。當應用程式需要對明確請求提供精簡回應時,它便很適用,例如擷取欄位、依提供的參考資料撰寫回覆,或執行較大流程中有明確範圍的一個步驟。

客服回覆中,提供收到的訊息、相關政策摘錄及對話中已確立的事實。要求簡短的回覆建議,並指出仍需寄件者提供的資訊。文件擷取中,定義欄位、解釋缺值處理方式,並保留將各結果連到來源的標籤。同樣的方法可以產生分類、編輯後的段落,或小幅程式碼變更的解釋,不必將模型視為應用程式周邊邏輯的替代品。

開發商列出 128,000 個 token 的上下文視窗、16,384 個 token 的最大輸出,以及 2023 年 10 月 1 日的知識截止日。來源素材、對話與生成輸出一起占用這個上下文。保留可見的重要前文事實,並說明所需最終成品。GPT-4o Mini 是獨立的小型模型,並非完整 GPT-4o 的輸出長度模式;即使兩個模型部分規格相同,也應依其各自身分與能力安排任務。

圖片可提供螢幕截圖、文件頁面、照片或圖解。OpenAI 的視覺流程接受 PNG、JPEG、WebP 與非動畫 GIF,這個家族可使用 low、high 或 auto 詳細程度。較高詳細程度遵循開發商的分塊圖片處理。讓重要標籤清楚可讀且方向正確,並解釋圖片哪個部分應用於答案。細微空間關係、精確物件計數、不尋常圖片投影及部分非拉丁文字是文件記載的難點。範圍明確的問題更容易將視覺回應與原始證據對照。在 OpenAI 有文件記載的視覺流程中,請求總酬載上限為 512 MB,每個請求最多可包含 1,500 張圖片;圖片與文字也必須容納於模型上下文。

開發商的檔案流程會將 PDF 擷取文字與頁面圖片傳給具視覺能力的模型。其他辦公室與文字檔提供擷取文字,因此若其中的內嵌圖片與圖表很重要,就需要 PDF 表示形式。試算表資訊補充使用每個工作表前最多 1,000 列。每個檔案必須小於 50 MB,請求合計額度為 50 MB。Chat Completions 接受 PDF 檔案部分;文件記載的 Responses 流程接受更廣的檔案格式。擷取所用素材中,應保留頁面、列或章節識別碼。

串流會逐步回傳文字。Structured Outputs 將完成回應限制在支援的 JSON Schema 子集內,而 JSON 模式請求只確保 JSON 有效。列出必要欄位與允許值,包括缺少證據時的明確表示方式。應用程式需要分開處理拒絕與未完成回應。Schema 可讓成品適合下一個階段,但值仍需反映實際來源,不應以虛構內容補滿空欄位。

GPT-4o Mini 支援函式呼叫,以及開發商透過網頁搜尋、檔案搜尋、程式碼執行與 MCP 連線進行的工具流程。描述可用函式,讓應用程式執行要求的操作並回傳觀察,再由模型撰寫後續答案。OpenAI 也支援已設定 Responses 流程中的獨立圖片生成工具。該工具產生的圖片是獨立成品;模型文件記載的原生輸出仍是文字。搜尋與工具使用是需設定的活動,不代表每次回覆都查閱了最新資訊。

Predicted Outputs 支援在小幅修改後重新生成大部分已知的文件或程式碼檔。提供先前內容與精確編輯,再將成果與請求對照。預測路徑只支援文字,無法與函式呼叫結合;logprobs、max_completion_tokens 及其他若干控制項也被排除。當回覆依賴新查詢或計算時,一般工具請求是不同的路徑。

OpenAI 有這個模型的微調文件,並說明如何使用較大模型的輸出,教導較小的 GPT-4o Mini 模型執行專門任務。這種蒸餾流程產生客製化模型,不會改變一般 Mini 回應的身分。一般請求可以透過清楚範例確立任務與輸出格式,再以範圍明確的後續請求修改同一個結果。有用的最終成品仍連結來源事實、目標讀者,以及使用它的應用程式步驟。

Ailoot Ultra · 批次處理(Batch) POST /v1/batches openai/gpt-4o-mini:batch

openai/gpt-4o-mini:batch

OpenAI /openai/gpt-4o-mini:batch

入門

GPT-4o Mini 處理範圍明確的文字與圖片任務,包括文件擷取、精簡回覆及應用程式工具呼叫。其 128,000 個 token 上下文與 Structured Outputs,支援具有明確結果的可重複工作流程。

接受的輸入
文字
結果
文字

Ailoot 可用 · 輸入與方法

Ailoot Ultra · 批次處理(Batch) POST /v1/batches
輸入
text
輸出
text
輸出格式
內嵌的 results[].response.body JSON
欄位類型要求值與限制預設值
欄位endpoint類型string要求必填值與限制
/v1/chat/completions
預設值—
欄位model類型string要求必填值與限制
openai/gpt-4o-mini:batch
預設值—
欄位requests類型batch_item[]要求必填值與限制
項目數下限: 1
預設值—
欄位requests[].custom_id類型string要求必填值與限制預設值—
欄位requests[].body.messages類型message[]要求必填值與限制預設值—
欄位completion_window類型string要求選填值與限制
24h
預設值—
欄位provider類型object|null要求選填值與限制預設值—
欄位requests[].body.model類型string要求選填值與限制
openai/gpt-4o-mini:batch, openai/gpt-4o-mini
預設值—
欄位provider.only類型string[]要求選填值與限制
openai
預設值—
欄位provider.allow_fallbacks類型boolean|null要求選填值與限制
false, null
預設值—
方法參數與生命週期
參數規格
參數content_type規格application/json
參數required規格endpoint, model, requests
參數material_types規格text
參數representation規格內嵌的 requests[];每個項目皆含 custom_id 與 body
參數request_endpoint_profile規格/v1/chat/completions
參數file_material規格呼叫端可在本機將實際的 UTF-8 JSONL 讀入 requests[]。此流程不使用上傳用途、input_file_id 或檔案參照。若缺少客戶素材或素材為空,應在 POST 前停止準備。
參數serialization_order規格endpoint, model, provider(如有提供), completion_window(如有提供), requests 放在最後
參數optional_controls規格provider.only, provider.allow_fallbacks, completion_window
參數schema_scope規格依文件規定的內嵌 Batch 封裝格式提供文字 Chat Completions 請求主體。

生命週期: asynchronous

GET /v1/batches/{operation_id} · 原始建立回應中實際回傳的 response.id;使用相同使用者/金鑰/群組

方案

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

快速模式
未指定 選取快速模式時
flex 模式
未指定 選取 flex 模式時
最高推理強度
未指定 最高推理強度採用 default 調整值時
顯式快取計價
未啟用 請求顯式快取時

Ailoot 費率

各設定的價格

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

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

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

請求範例

Ailoot Ultra · 批次處理(Batch)

curl · 保留的測試資料Python HTTP · 客戶實際的 JSONLPython · 儲存每個已完成的結果
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-4o-mini:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['openai/gpt-4o-mini:batch', 'openai/gpt-4o-mini']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o-mini:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

接收並儲存結果

Ailoot Ultra · 批次處理(Batch)

內嵌的 results[].response.body JSON

  • GET /v1/batches/{operation_id}
查看工作狀態
curl · 原始作業狀態
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
保留所有已完成的結果

請保留所有完整傳回的回應、檔案與內容區塊。

保留完整的原始狀態 JSON、每個結果/custom_id,以及完整的回應或錯誤主體。將已完成的 results[] 儲存為 JSONL,不得篩除任何項目。

需要檢查原始回應時

保留原始作業 ID。503 result_pending_check 回應帶有 X-Should-Retry:false;請勿重新提交狀態不明的原始批次。

回應欄位
欄位類型
欄位results[].custom_id類型string
欄位results[].response.body.choices[].message.content類型string|null
欄位results[].error類型object|null
欄位usage類型object|null
欄位id類型string
欄位model類型string
欄位endpoint類型string
欄位status類型string
欄位request_counts類型object
欄位results[].id類型string
欄位results[].response.status_code類型integer
欄位results[].response.request_id類型string
錯誤與後續步驟
回應條件下一步
回應400 · invalid_request_error條件文件規定的內嵌封裝格式無效、索引鍵重複、項目識別有誤,或與已設定的模型能力衝突。下一步再次提交前,請先修正指出的欄位。
回應401 · authentication_error條件API 金鑰無效。下一步使用已獲授權的 Ailoot 金鑰。
回應403 · permission_error條件批次處理群組無法使用。下一步檢查金鑰/群組的使用權限。
回應422 · invalid_request_error條件批次處理採用餘額計費;透過訂閱建立批次的請求會遭拒絕。下一步使用已獲授權、以餘額計費的群組。
回應422 · price_unavailable條件無法為批次輸入估價。下一步保留回應;使用文件規定的該 API 家族輸入格式。
回應402 · billing_error條件批次處理的預留額度無法取得。下一步提交新請求前,請先解決請求受理問題。
回應503 · price_unavailable條件批次處理方法的價格/原生費率無法取得。下一步保留回應;請勿替換價格。
回應503 · api_error條件指定的供應商路由無法使用。下一步保留回應,以供修復路由。
回應503 · result_pending_check條件原始結果需要檢查;X-Should-Retry:false。下一步保留原始 operation_id/id 並讀取其狀態;請勿重複原始 POST。
回應404 · not_found條件查詢批次狀態所需的作業不存在,或屬於其他身分。下一步使用完全相同的原始 id,以及相同的使用者/金鑰/群組。

別名

模型別名

Ailoot Ultra openai/gpt-4o-mini:batch

方法路徑別名

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

相關呼叫用 ID

openai/gpt-4o-mini:batch

FAQ · OpenAI: GPT-4o-mini (batch)
可以使用哪些輸入與結果?

POST /v1/batches · openai/gpt-4o-mini:batch: text → text

請求使用哪些欄位?

POST /v1/batches · openai/gpt-4o-mini:batch: endpoint, model, requests, completion_window, provider

適用哪些限制?

POST /v1/batches · openai/gpt-4o-mini:batch: requests.min_items: 1

更多詳情

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

公司及其專案組合

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

優惠購買 token。

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

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

選擇訂閱 · 查看模型價格

將 API 加入 你銷售的產品。

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

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

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