เอกสาร API สำหรับนักพัฒนา
RukPrompt API ให้คุณสร้างภาพด้วย AI จากแอปของคุณ ผ่าน HTTP request แบบ sync blocking (POST แล้วรอจน generate เสร็จ) โดยไม่ต้อง polling — เหมาะสำหรับ server-side integration, SDK, หรือ automation workflow
เริ่มใช้งาน API ฟรี
สมัคร workspace เพื่อสร้าง API key และเริ่ม generate ภาพ — ใช้เครดิตฟรีตั้งแต่สมัคร
https://developer.rukprompt.comBearer sk-img-...การยืนยันตัวตน (Authentication)
ทุก request ต้องมี header:
Authorization: Bearer sk-img-<your-key>
• สมัครสมาชิก เพื่อสร้าง workspace — ได้เครดิตฟรีตั้งแต่เริ่ม
• เข้าไปที่ Settings → สำหรับนักพัฒนา ในหน้า workspace เพื่อสร้าง API key
• key จะแสดงครั้งเดียวตอนสร้าง — บันทึกไว้ใน password manager หรือ environment variable
• เครดิตตัดจาก workspace ของ key — ดูยอดได้จาก GET /v0/usage
สร้างภาพด้วย AI
/v0/images/generationsสร้างภาพด้วย AI — รอสูงสุด 180 วินาที แล้วคืน URL ของภาพที่สร้างเสร็จทันที (sync blocking)
Example Request
curl -X POST https://developer.rukprompt.com/v0/images/generations \
-H "Authorization: Bearer sk-img-..." \
-H "Content-Type: application/json" \
-d '{
"prompt": "a cute cat wearing sunglasses",
"modelVersion": "gemini-2.5-flash-image",
"resolution": "standard",
"aspectRatio": "1:1",
"sampleCount": 1
}'Request Body Parametersคลิกช่องเพื่อแก้ค่า
promptmodelVersionGET /v0/modelsresolution"standard"aspectRatio"1:1"sampleCount1isPublicfalse• private (default): เห็นเฉพาะในทีมของคุณ
• public: โชว์ใน Community gallery — คนอื่นเห็นได้
response_format"url"•
url (default) คืนลิงก์ภาพ•
b64_json คืน base64 อย่างเดียว (เข้ากับ OpenAI)•
both คืนทั้ง url + base64ส่งเป็น query (
?response_format=b64_json) หรือใน body ก็ได้asyncfalsetrue — enqueue แล้ว return jobId ทันที (ไม่รอ) แล้วให้ poll ผ่าน GET /v0/images/generations/{jobId}แนะนำสำหรับโมเดลที่ช้า (gpt-image-2 อาจเกิน 180s) หรืออยู่หลัง proxy ที่มี timeout สั้น
negativePromptpresetIdvariablesrefImageUrlsrefImageBase64Response (200 OK)
{
"code": 200,
"data": {
"id": "job_abc123", // jobId สำหรับ tracking
"created": 1745000000, // unix timestamp
"model": "gemini-2.5-flash-image",
"data": [
{
"id": "img_xyz", // generated image id
"url": "https://cdn.rukprompt.com/teams/.../abc.png",
"storageKey": "teams/.../abc.png",
// ถ้าส่ง ?response_format=b64_json หรือ both จะมี field เพิ่ม:
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
"mimeType": "image/png"
}
],
"usage": {
"credits": 1 // เครดิตที่ถูกตัดจาก team
}
}
}ตรวจสอบสถานะ Job
/v0/images/generations/:jobIdใช้เมื่อ POST ได้ 504 timeout เพื่อเช็คว่า job เสร็จหรือยัง — คืนข้อมูลภาพเมื่อ status = completed
curl "https://developer.rukprompt.com/v0/images/generations/job_abc123" \ -H "Authorization: Bearer sk-img-..."
POST /v0/images/generationsแต่จะมี status field เพิ่ม:"waiting" | "processing" | "completed" | "failed"รายการ AI Models ที่ใช้ได้
/v0/modelsดูโมเดลทั้งหมด + ค่าเครดิตต่อภาพ + aspect ratios ที่แต่ละโมเดลรองรับ
curl "https://developer.rukprompt.com/v0/models" \ -H "Authorization: Bearer sk-img-..."
Models ที่ใช้งานได้ในทีมของคุณ
ตัวเลขคือเครดิตต่อ 1 ภาพ — ถ้า sampleCount = 4 จะคูณ 4
Presets (Read-only)
/v0/images/presetsดึงรายการ preset ที่ทีมเข้าถึงได้ — แล้วส่ง presetId เข้า /v0/images/generations เพื่อใช้ prompt template ของ preset นั้น
ดึงรายการ preset
curl "https://developer.rukprompt.com/v0/images/presets" \ -H "Authorization: Bearer sk-img-..."
เพิ่ม ?teamOnly=true ใน URL ถ้าอยากได้เฉพาะ preset ของทีม (ไม่รวม public)
ดูรายละเอียด preset ตัวเดียว
curl "https://developer.rukprompt.com/v0/images/presets/<presetId>" \ -H "Authorization: Bearer sk-img-..."
ใช้งาน preset ใน generate
ส่ง presetId เข้าไปใน body — prompt ของ preset จะถูกนำมาใช้เป็น base ถ้า preset มี requirements (ตัวแปร) ต้องส่งใน variables ด้วย
{
"presetId": "preset_abc123",
"prompt": "extra details to append (optional)",
"modelVersion": "gemini-2.5-flash-image",
"variables": {
"product": "sneakers",
"color": "white"
}
}Response
{
"code": 200,
"data": [
{
"id": "preset_abc123",
"name": "Studio Product Shot",
"note": "สำหรับถ่ายสินค้าแบบ studio",
"modelVersion": "gemini-2.5-flash-image",
"defaultAspectRatio": "1:1",
"lockModel": true,
"lockAspectRatio": false,
"thumbnailUrl": "https://cdn.../thumb.png",
"requirements": [
{ "key": "product", "label": "สินค้า", "type": "text" },
{ "key": "color", "label": "สี", "type": "text" }
],
"accessLevel": "READ", // หรือ "FULL" สำหรับ preset ของทีม
"isCommunity": false,
"categories": ["product"],
"originTeam": null,
"createdAt": "2026-04-24T...Z"
}
]
}เครดิตคงเหลือและประวัติการใช้
/v0/usageเครดิตคงเหลือของทีม + สถิติการใช้งาน + 50 jobs ล่าสุด
curl "https://developer.rukprompt.com/v0/usage?from=2026-04-01&to=2026-04-30" \ -H "Authorization: Bearer sk-img-..."
Query params (optional):
from— ISO date (start of range)to— ISO date (end of range)
ประวัติการเรียก API
/v0/historyประวัติการเรียก API ทั้งหมดของทีม — กรองและแบ่งหน้าได้
curl "https://developer.rukprompt.com/v0/history?page=1&limit=20&status=success" \ -H "Authorization: Bearer sk-img-..."
Query params:
page— default 1limit— 1-100, default 20status— "success" | "failed"apiKeyId— filter เฉพาะ keyfrom/to— ISO date range
รหัส Error (Error Codes)
{
"code": 401,
"message": "Invalid or revoked API key",
"data": null
}