API 文件
將 AI 圖片生成整合到您的應用程式
概覽
GirlGeneratorAI API 讓您能透過程式產生 AI 圖片。所有請求皆使用 JSON,並需透過 API 金鑰進行認證。
基礎網址
https://girlgenerator.app認證
所有 API 請求皆需 Bearer 權杖。請於以下位置建立 API 金鑰: 設定 → API 金鑰.
標頭
Authorization: Bearer YOUR_API_KEY生成圖片
提交圖片生成任務。回應會包含可用於輪詢的任務 ID。
POST /api/v1/generate
參數
scenestringrequired"text-to-image" 或 "image-to-image"
promptstringrequired描述圖片的文字提示詞(最多 2000 字)
aspect_ratiostring選填。可選:auto、1:1、3:2、2:3、9:16、16:9、3:4、4:3。預設值:auto
image_inputstring[]image-to-image 模式必填。參考圖片網址陣列
回應
201 Created
{
"task_id": "abc123",
"status": "pending",
"credits_used": 1,
"credits_remaining": 12762
}範例
cURL
curl -X POST https://girlgenerator.app/api/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scene": "text-to-image",
"prompt": "a cute anime girl with blue hair, detailed portrait",
"aspect_ratio": "1:1"
}'Python
import requests
response = requests.post(
"https://girlgenerator.app/api/v1/generate",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"scene": "text-to-image",
"prompt": "a cute anime girl with blue hair, detailed portrait",
"aspect_ratio": "1:1",
},
)
data = response.json()
print(data["task_id"]) # Use this to poll for resultsJavaScript (fetch)
const response = await fetch("https://girlgenerator.app/api/v1/generate", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
scene: "text-to-image",
prompt: "a cute anime girl with blue hair, detailed portrait",
aspect_ratio: "1:1",
}),
});
const data = await response.json();
console.log(data.task_id); // Use this to poll for results查詢任務
輪詢任務以檢查狀態並取得生成的圖片。
GET /api/v1/tasks/task_id
回應
Pending / Processing
{
"task_id": "abc123",
"status": "processing"
}Success
{
"task_id": "abc123",
"status": "success",
"images": [
"https://example.com/generated-image.png"
]
}Failed
{
"task_id": "abc123",
"status": "failed",
"error": "Generation failed due to content policy."
}狀態值
pending任務已排入佇列processing圖片生成中success生成完成,圖片可用failed生成失敗,提供錯誤訊息Polling Example
Python
import time
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://girlgenerator.app"
# 1. Submit generation task
resp = requests.post(
f"{BASE_URL}/api/v1/generate",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"scene": "text-to-image", "prompt": "a cute anime girl"},
)
task_id = resp.json()["task_id"]
# 2. Poll until complete
while True:
result = requests.get(
f"{BASE_URL}/api/v1/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
).json()
if result["status"] == "success":
print("Images:", result["images"])
break
elif result["status"] == "failed":
print("Error:", result["error"])
break
time.sleep(5) # Wait 5 seconds before polling again錯誤代碼
所有錯誤皆採用此格式:
{
"error": {
"code": "error_code",
"message": "Human-readable description."
}
}| HTTP 狀態碼 | 錯誤代碼 | 說明 |
|---|---|---|
| 401 | unauthorized | 缺少或無效的 API 金鑰 |
| 403 | insufficient_credits | 點數不足,無法執行此操作 |
| 404 | task_not_found | 任務不存在或屬於其他使用者 |
| 422 | invalid_params | 請求驗證失敗 |
| 429 | rate_limit_exceeded | 請求過多(上限:10 次/分鐘) |
| 500 | internal_error | 伺服器錯誤 |
速率限制與點數
⚡
每組 API 金鑰每分鐘 10 次請求
💰
點數消耗依模型而異:每次生成 1–3 點。詳情請參閱模型列表。
🛈
API 與網頁版使用共用同一筆點數餘額。