GetAPI.ONE
使用 GetAPI.ONE 生成影像
從即時目錄選擇影像模型,向 ONE 影像端點發送最小宣告請求,驗證回應形狀並安全儲存輸出。
準備受支援的請求
- 開啟目前目錄,選擇明確宣告影像生成端點的模型。
- 在可能計費的呼叫前檢視即時價格;本指南不固化價格。
- 先生成一個結果,並且只使用該模型契約明確展示的欄位。
POST https://www.getapi.one/v1/images/generations傳送最小生成請求
- 在可信程序環境中設定 GETAPI_ONE_API_KEY。
- 從目前目錄複製準確的影像模型 ID。
- 在提示詞中描述主體、構圖與約束。
- 先提交一個結果,確認模型支援後再增加選用欄位。
- 對有大小限制的 Base64 輸出進行本地解碼。如果回應包含 URL,應將其記錄並交給具備明確出站/Host 規則和重定向複核的獲批下載器,而不是在 API 程序中直接訪問。
curl --fail-with-body https://www.getapi.one/v1/images/generations \
-H "Authorization: Bearer $GETAPI_ONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<IMAGE_MODEL_ID_FROM_CURRENT_CATALOG>",
"prompt": "A clean product diagram of a secure server-side API flow",
"n": 1
}' > image-response.jsonimport base64
import json
from pathlib import Path
from urllib.parse import urlsplit
payload = json.loads(Path("image-response.json").read_text(encoding="utf-8"))
item = payload["data"][0]
if item.get("b64_json"):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
if len(image_bytes) > 25 * 1024 * 1024:
raise ValueError("Image exceeds the local 25 MB safety limit")
Path("generated-image.bin").write_bytes(image_bytes)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.hostname:
raise ValueError("Refusing an invalid or non-HTTPS image URL")
# Do not dereference provider-controlled URLs from a generic server example.
# Give this record to an approved downloader that enforces your egress and
# host policy, rejects private/link-local/loopback destinations, revalidates
# every redirect, sends no ONE credential, and bounds the response bytes.
Path("generated-image-url.txt").write_text(url, encoding="utf-8")
print("URL recorded for an egress-controlled downloader")
else:
raise ValueError("Expected data[0].url or data[0].b64_json")
評估生成結果
| 檢查項 | 通過條件 |
|---|---|
| 提示詞遵循度 | 所需主體與構圖均出現。 |
| 安全與權利 | 輸出適合目標受眾,且你擁有所提供輸入的權利。 |
| 回應契約 | 檢查 data[0].url 或 data[0].b64_json,驗證後儲存返回位元組。 |
| 執行記錄 | 記錄模型 ID、提示詞版本、可用的請求 ID 與結果,但不記錄金鑰。 |
驗證預期結果
- HTTP 請求成功,回應體包含所選模型實際返回的影像結果形狀。
- 解碼後的 Base64 檔案可以按預期影像型別開啟;或者 URL 結果已被記錄,並且僅由獲批的出站受控下載器取得。
- ONE 主控台記錄了請求或對應的用量。
修復影像請求錯誤
| 現象 | 處理 |
|---|---|
| 參數不支援 | 移除可選的尺寸、品質、格式或數量欄位,直到確認準確模型支援。 |
| 輸出為空或不可用 | 檢查完整 JSON,並處理其實際 URL 或編碼資料欄位;不要假設所有 Provider 形狀相同。 |
| 政策或輸入被拒絕 | 修改輸入,不要重複提交同一請求。 |
安全儲存輸入與輸出
- 金鑰僅儲存在伺服器端,並在轉發前校驗提示詞長度、輸出數量與可選欄位。
- 除非已批准的資料處理規則允許,否則不要傳送機密源圖或個人資料。
- 除非 Provider 契約另有明確說明,否則將返回 URL 視為臨時地址;把獲批輸出複製到受控儲存。
- 絕不要把 GetAPI.ONE Authorization 標頭 轉發給返回的影像 URL。
- 將返回 URL 視為不可信輸入:在專用下載器中實施明確的出站與 Host 策略,阻止私網、鏈路本地與迴環目標,並重新驗證每次重定向。