API Reference
จุดสิ้นสุด คีย์ ข้อจำกัด สำหรับจุดสิ้นสุด AI ภาพ — สร้าง ลบ ขยาย — พร้อมการตรวจสอบสิทธิ์ CORS และข้อจำกัดการเรียกใช้
Morph เปิดเผยชุดจุดเชื่อมต่อ AI สำหรับภาพที่ใช้ API ที่ api.morph.cool จุดเชื่อมต่อเหล่านี้เป็นตัวขับเคลื่อนฟีเจอร์ AI ของ Artboard และสามารถใช้โดยนักพัฒนาที่สร้างการเชื่อมต่อได้
https://api.morph.coolคำขอทั้งหมดใช้ HTTPS เท่านั้น คำขอ HTTP จะถูกปฏิเสธ.
การยืนยันตัวตน
จุดสิ้นสุด AI สำหรับรูปภาพ (สร้าง ลบ ขยาย) ไม่ต้องการการรับรองตัวตนสำหรับการใช้งานพื้นฐาน มีการจำกัดอัตราโดยที่อยู่ IP จุดสิ้นสุดที่แก้ไขข้อมูลผู้ใช้ (การแปลง แตร ตารางคะแนน) ต้องการโทเค็น JWT ที่ส่งผ่านใน Authorization ด้วย Bearer token
Authorization: Bearer <jwt_token>
Rate Limits
ทุกจุดสิ้นสุดมีการจำกัดอัตราเพื่อป้องกันการใช้งานผิดวัตถุประสงค์ การเกินขีดจำกัดจะคืนสถานะ 429 พร้อมข้อผิดพลาด JSON.
- จุดสิ้นสุด Artboard AI — 10 คำขอต่อนาทีต่อ IP (รองรับด้วย KV).
- การบันทึกการแปลง — ต้องเข้าสู่ระบบ ไม่มีข้อจำกัด IP แยกต่างหาก
- การรายงานข้อผิดพลาด — 30 คำร้องต่อนาทีต่อ IP.
- รอคิว — 10 คำร้องต่อนาทีต่อ IP.
สร้างภาพ
POST /artboard/generate
การสร้างภาพจากข้อความและ inpainting ส่งภาพ canvas พร้อมมั้กซ์เพื่อเติมพื้นที่ที่เลือกตามคำอธิบายข้อความ ยังรองรับโหมด describe ที่คืนคำอธิบายข้อความของภาพ
| ฟิลด์ | พิมพ์ | คำอธิบาย |
|---|---|---|
| คำกระตุ้น | string | คำอธิบายข้อความเกี่ยวกับสิ่งที่ต้องการสร้าง ไม่จำเป็นต้องใช้ในโหมดอธิบาย |
| canvasImageจำเป็น | string | PNG ที่เข้ารหัส Base64 ของเนื้อหาบน_canvas |
| maskImage | string | PNG ที่เข้ารหัส Base64 ของภาพมัลติสี ขาว = พื้นที่ที่ต้องเติม จำเป็นสำหรับการเติมภาพ ไม่จำเป็นสำหรับการอธิบาย |
| โหมด | string | ตั้งค่าเป็น "describe" เพื่อโหมดการอธิบายภาพ ข้ามการสร้าง |
การตอบสนองการสร้าง:
{
"result": "<base64_png_string>"
}
อธิบายคำตอบ:
{
"result": "A detailed text description of the image content."
}
การตรวจสอบ: ในโหมดอธิบาย PNG ต้องมีขนาดอย่างน้อย 64×64 พิกเซล ภาพที่เล็กกว่าจะคืนค่าข้อผิดพลาด REGION_TOO_SMALL
ลบวัตถุ
POST /artboard/remove
การลบวัตถุด้วย AI วาดบนมาสก์แล้วโมเดลเติมพื้นที่ด้วยเนื้อหาที่เหมาะสมตามบริบท
| ฟิลด์ | พิมพ์ | คำอธิบาย |
|---|---|---|
| canvasImageจำเป็น | string | Base64-encoded PNG ของ canvas. |
| maskImagerequired | string | มัสก์ PNG ที่เข้ารหัสแบบ Base64 ขาว = พื้นที่ที่ต้องการลบ. |
คำตอบ:
{
"result": "<base64_png_string>"
}
ขยายแบบสร้างสรรค์
POST /artboard/expand
ขยายพื้นที่วาดในทิศทางที่กำหนด AI จะเติมพื้นที่ใหม่ด้วยเนื้อหาที่สอดคล้องกับภาพเดิม ใช้การขยายพิกเซลขอบเพื่อให้บริบท
| ฟิลด์ | พิมพ์ | คำอธิบาย |
|---|---|---|
| canvasImageจำเป็น | string | PNG ที่เข้ารหัส Base64 ของคanvas ต้องมีขนาด 64–4096px ทั้งสองด้าน |
| ทิศทางจำเป็น | string | หนึ่งใน: left, right, top, bottom, all |
| ขยายPxจำเป็น | จำนวน | Pixels to expand. Range: 64–512. |
| คำกระตุ้น | string | คำอธิบายเพิ่มเติมเพื่อช่วยให้เนื้อหาที่สร้างขึ้นตรงตามความต้องการของคุณ |
คำตอบ:
{
"result": "<base64_png_string>"
}
การตรวจสอบ: รูปภาพต้นทางต้องมีขนาด 64–4096px ทุกด้าน _canvas ที่ขยายตัวจะต้องไม่เกิน 4096px ในทุกด้าน การละเมิดจะส่งคืนข้อผิดพลาด REGION_TOO_SMALL หรือ CANVAS_TOO_LARGE
การตอบสนองข้อผิดพลาด
ทุกจุดสิ้นสุดส่งคืนการตอบสนองข้อผิดพลาด JSON พร้อมกับฟิลด์ error
{
"error": "RATE_LIMITED"
}
รหัสข้อผิดพลาดที่พบบ่อย:
- RATE_LIMITED — คำขอเกินจำนวน รอและลองใหม่
- REGION_TOO_SMALL — ขนาดรูปภาพต่ำกว่า 64×64px ขั้นต่ำ
- CANVAS_TOO_LARGE — _canvas_ ขยายเกินข้อจำกัด 4096px
- MISSING_FIELDS — ฟิลด์ที่จำเป็นไม่ได้รับการให้ข้อมูล
หมายเหตุ
- โมเดล AI — ทุกจุดสิ้นสุดการ inpainting ใช้ Stable Diffusion v1.5 ผ่าน Cloudflare Workers AI จำนวนขั้นตอนการคำนวณถูกจำกัดที่ 20
- รูปแบบรูปภาพ — รูปภาพทั้งหมดต้องเป็น PNGs ที่เข้ารหัสแบบ base64
- ความเป็นส่วนตัว — รูปภาพถูกประมวลผลในหน่วยความจำและไม่ถูกเก็บไว้ บันทึก หรือใช้สำหรับการฝึกโมเดล
- CORS — เอนด์พอยต์รับคำขอจาก
morph.cool,www.morph.cool, และlocalhost:5173. - เวลาหมด — ลูกค้าควรตั้งเวลาหมด 30 วินาที เวลาประมวลผลด้านเซิร์ฟเวอร์มักไม่เกิน 15 วินาที