กลับหน้าหลัก

API Documentation

คู่มือการใช้งาน Image Overlay API กับ n8n และระบบอื่นๆ

สารบัญ

Quick Start

เริ่มต้นใช้งาน API ได้ทันทีใน 3 ขั้นตอน:

1. สร้าง Template

ไปที่ Template Editor แล้วสร้าง template พร้อมกำหนด variables

2. ดู Template ID

หลังจาก save template URL จะเปลี่ยนเป็น /editor/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

3. เรียก API

GET /api/generate/{template_id}?api_key=xxx&name=John
Tip: คุณสามารถทดสอบ API ได้ทันทีโดยใส่ URL ในเบราว์เซอร์

Authentication

API รองรับ 2 วิธีในการยืนยันตัวตน:

1. Header (แนะนำ)

X-API-Key: your_api_key_here

2. Query Parameter

/api/generate/{id}?api_key=your_api_key_here
สำคัญ: ตั้งค่า API Key ได้ที่หน้า Settings

Generate Image

สร้างรูปภาพจาก template

GET Request
POST Request
GET /api/generate/{template_id}

Query Parameters

Parameter Type Description
api_key Required API Key สำหรับยืนยันตัวตน
{variable_name} Optional ค่า variables ที่กำหนดใน template
format Optional รูปแบบไฟล์: jpg, png, webp (default: jpg)
quality Optional คุณภาพรูป: 1-100 (default: 90)

ตัวอย่าง

GET /api/generate/abc123?api_key=xxx&name=สมชาย&title=ผู้จัดการ&avatar=https://example.com/photo.jpg
POST /api/generate

Headers

Content-Type: application/json X-API-Key: your_api_key

Request Body

{ "template_id": "abc123-uuid-here", "variables": { "name": "สมชาย", "title": "ผู้จัดการ", "avatar": "https://example.com/photo.jpg" }, "output": { "format": "jpg", "quality": 90 } }

Response

{ "success": true, "data": { "url": "https://api.mpkbm.com/output/generated-image.jpg", "width": 1080, "height": 1080, "size": 245678 } }

Batch Generate

สร้างหลายรูปพร้อมกันในครั้งเดียว (สูงสุด 100 รูป)

POST /api/generate/batch

Request Body

{ "template_id": "abc123-uuid-here", "items": [ { "variables": { "name": "สมชาย", "title": "ผู้จัดการ" } }, { "variables": { "name": "สมหญิง", "title": "เลขา" } }, { "variables": { "name": "สมศักดิ์", "title": "พนักงาน" } } ], "output": { "format": "jpg", "quality": 90 } }

Response

{ "success": true, "data": { "total": 3, "completed": 3, "failed": 0, "results": [ { "url": "https://api.mpkbm.com/output/img1.jpg", "success": true }, { "url": "https://api.mpkbm.com/output/img2.jpg", "success": true }, { "url": "https://api.mpkbm.com/output/img3.jpg", "success": true } ] } }

n8n - การใช้งานพื้นฐาน

วิธีเชื่อมต่อ API กับ n8n workflow

HTTP Request Node (Copy ไปวางใน n8n ได้เลย)

คลิกปุ่ม Copy แล้วไปที่ n8n กด Ctrl+V เพื่อวาง Node

ขั้นตอนที่ 1: เพิ่ม HTTP Request Node

ตั้งค่า HTTP Request Node

Method GET หรือ POST
URL https://api.mpkbm.com/api/generate/{template_id}
Authentication None (ใส่ api_key ใน query หรือ header)

ขั้นตอนที่ 2: ตั้งค่า Query Parameters

// Query Parameters api_key = your_api_key_here name = {{ $json.name }} title = {{ $json.position }} avatar = {{ $json.photo_url }}

ขั้นตอนที่ 3: ใช้ Response

// Response ที่ได้ { "success": true, "data": { "url": "https://api.mpkbm.com/output/xxxxx.jpg" // ใช้ URL นี้ } } // เข้าถึง URL ใน node ถัดไป {{ $json.data.url }}
Tip: ใช้ {{ $json.fieldName }} เพื่อดึงค่าจาก node ก่อนหน้า

n8n + Google Sheets

สร้างรูปอัตโนมัติจากข้อมูลใน Google Sheets

Workflow: Schedule + Sheets + Generate

Copy แล้ววางใน n8n จะได้ 3 nodes พร้อม connections

Workflow Overview

Schedule Trigger
Google Sheets
HTTP Request
Telegram/Email

Node 1: Schedule Trigger

ตั้งเวลารันอัตโนมัติ

เลือก Trigger Rule: เช่น ทุกวันเวลา 9:00 น.

Node 2: Google Sheets

ตั้งค่า Google Sheets Node

Operation Read Rows
Document เลือก Spreadsheet ของคุณ
Sheet เลือก Sheet ที่มีข้อมูล

ตัวอย่างข้อมูลใน Google Sheets

name position photo_url email
สมชาย ใจดี ผู้จัดการ https://... somchai@email.com
สมหญิง รักงาน เลขานุการ https://... somying@email.com

Node 3: HTTP Request

ตั้งค่า HTTP Request

Method GET
URL https://api.mpkbm.com/api/generate/YOUR_TEMPLATE_ID

Query Parameters

api_key = YOUR_API_KEY name = {{ $json.name }} position = {{ $json.position }} avatar = {{ $json.photo_url }}

Node 4: Send Result (Telegram/Email)

ส่งรูปที่สร้างได้

ใช้ URL จาก response: {{ $json.data.url }}

n8n + Webhook

รับข้อมูลจากระบบอื่นแล้วสร้างรูปทันที

Workflow: Webhook + Generate

Copy แล้ววางใน n8n จะได้ Webhook + HTTP Request พร้อมเชื่อมต่อ

Workflow Overview

Webhook
HTTP Request
Respond to Webhook

Node 1: Webhook

ตั้งค่า Webhook Node

HTTP Method POST
Path generate-card
Response Mode Last Node

ตัวอย่าง Webhook URL

https://your-n8n-domain.com/webhook/generate-card

ตัวอย่าง Request ที่ส่งมา

POST /webhook/generate-card Content-Type: application/json { "name": "สมชาย ใจดี", "position": "ผู้จัดการ", "photo": "https://example.com/photo.jpg" }

Node 2: HTTP Request

// Query Parameters api_key = YOUR_API_KEY name = {{ $json.body.name }} position = {{ $json.body.position }} avatar = {{ $json.body.photo }}

Node 3: Respond to Webhook

ส่ง Response กลับ

Response Code 200
Response Body {{ $json }}

Response ที่ผู้เรียกจะได้รับ

{ "success": true, "data": { "url": "https://api.mpkbm.com/output/generated-image.jpg" } }

n8n + Telegram Bot

สร้างบอทที่รับข้อมูลแล้วส่งรูปกลับทันที

Workflow Overview

Telegram Trigger
HTTP Request
Telegram Send Photo

Node 1: Telegram Trigger

ตั้งค่า Telegram Trigger

Credential เชื่อมต่อ Bot Token
Updates Message

ตัวอย่างข้อความที่ user ส่งมา

/generate สมชาย ผู้จัดการ

Node 2: HTTP Request

แยกข้อความและสร้างรูป

// ใช้ Function Node แยกข้อความก่อน (optional) const text = $json.message.text; const parts = text.replace('/generate ', '').split(' '); return { name: parts[0], position: parts[1] };

HTTP Request Settings

Method: GET URL: https://api.mpkbm.com/api/generate/YOUR_TEMPLATE_ID Query Parameters: api_key = YOUR_API_KEY name = {{ $json.name }} position = {{ $json.position }}

Node 3: Telegram Send Photo

ส่งรูปกลับไปยัง User

Operation Send Photo
Chat ID {{ $('Telegram Trigger').item.json.message.chat.id }}
Photo {{ $json.data.url }}
Use Case: ทำบอทสร้างบัตรพนักงาน, บัตรอวยพร, หรือใบเสร็จอัตโนมัติ

Templates API

จัดการ templates ผ่าน API

List All Templates

GET /api/templates

Get Template by ID

GET /api/templates/{id}

Create Template

POST /api/templates
{ "name": "My Template", "canvas_width": 1080, "canvas_height": 1080, "background_color": "#ffffff", "config": { ... } }

Update Template

PUT /api/templates/{id}

Delete Template

DELETE /api/templates/{id}

Assets API

จัดการ assets (รูปภาพ, fonts) ผ่าน API

List All Assets

GET /api/assets?type=image

Get Asset by ID

GET /api/assets/{id}

Upload Asset

POST /api/assets
// multipart/form-data file: [binary] type: image | overlay | font name: My Asset (optional)

Delete Asset

DELETE /api/assets/{id}

Image Overlay API - Made for n8n automation

Dashboard | Editor | Settings