何時使用每個端點
| 用戶工作流程 | 端點 | 使用時機 | 避免時機 |
|---|---|---|---|
| 文本到圖像 | POST /v1/images/generations | 用戶僅從提示開始 | 需要官方的 GPT 圖像編輯流程 |
| 圖像到圖像 | POST /v1/images/generations | 模型文檔通過 operation: "image-to-image" 加上 image_url、image_urls 或 reference_image_urls 參考圖像 | 模型期望多部分編輯輸入 |
| 圖像編輯 | POST /v1/images/edits | 您正在使用支持的編輯模型編輯現有圖像,例如 GPT 圖像系列模型 | 您正在使用 Nano Banana 風格的圖像到圖像生成 |
| 變體 | POST /v1/images/variations | 您維護一個舊版變體兼容的集成 | 您正在構建一個新的參考圖像工作流程 |
| 狀態 | GET /v1/tasks/{id} | 創建響應返回 task_id、status: "pending" 或 poll_url | 創建響應已包含最終的 data[] |
model。圖像端點故意不依賴於歷史隱式默認模型來處理生產流量。
選擇模型
從模型發現開始,然後檢查所選模型的 TokenLab 合約:tokenlab.public_contract_summary。模型詳細頁面可能會顯示更完整的 tokenlab.public_contract。使用這些字段來確認:
- 支持的操作,例如
text-to-image、image-to-image或image-edit。 - 模型預期的請求端點。
- 用於參考的形狀,例如
image_url、image_urls、reference_image_urls、multipartimage或 JSONimages[]。 - 模型是否接受
size、aspect_ratio、resolution、quality、background、output_format或response_format。
請求形狀規則
gpt-image-2風格的請求使用 OpenAI 類似的size、quality和編輯字段。當您希望模型或 TokenLab 使用自動默認值時,請省略可選字段。- Gemini 和 Nano Banana 圖像系列通常使用
aspect_ratio;僅在模型合約公開時發送resolution。 - Nano Banana 圖像到圖像應位於
/v1/images/generations,並帶有operation: "image-to-image"和參考圖像 URL。 /v1/images/generations不接受頂層的images[]或file_id;這些是編輯流程形狀。- 遠程圖像參考必須是公共的
http或httpsURL。請勿發送私有網絡 URL、嵌入的憑證、URL 片段或可能在處理開始之前過期的簽名 URL。
文本到圖像範例
參考圖像範例
處理結果
圖像響應可以是同步或異步的:- 同步響應返回最終的
data[],包含url或b64_json。 - 異步響應返回
id、task_id、status,通常還有poll_url。 - 當
poll_url存在時,優先使用它。如果您需要固定路由,請輪詢GET /v1/tasks/{id}。 - 當您特別需要
b64_json時,使用同步請求;異步圖像結果是以 URL 為導向的。
生產檢查清單
- 在調用 TokenLab 之前驗證用戶輸入:提示長度、圖像數量、URL 可達性和文件類型。
- 對於同步高解析度請求,設置足夠高的 HTTP 超時。對於長時間工作,使用可用的異步模式。
- 存儲
request_id、task_id、poll_url、模型、端點和清理過的請求形狀以便支持。 - 在客戶端超時時,檢查任務是否已創建,然後再重試創建請求。
- 在存在時,根據使用記錄和
billing_transaction_id來對賬成本,而不是根據供應商任務 ID。
常見錯誤
| 症狀 | 可能原因 | 修復 |
|---|---|---|
400 與 param: "model" | 缺少明確模型 | 查詢 /v1/models?recommended_for=image 並發送 model |
| 不支持的字段 | 該字段不在該模型的公共合約中 | 刪除該字段或選擇一個記錄它的模型/端點 |
異步結果中沒有 b64_json | 異步圖像任務返回以 URL 為導向的結果 | 使用同步模式以獲取 base64 輸出 |
| 參考圖像被拒絕 | 錯誤的端點或私有/過期的 URL | 匹配模型的文檔參考形狀並使用可達的 URL |