Skip to main content

iApp Image Upscaler

iApp Image Upscaler ขยายภาพ 2 เท่าหรือ 4 เท่า พร้อมสร้างรายละเอียดที่การย่อขยายธรรมดาให้ไม่ได้ ขอบภาพยังคมชัด พื้นผิวอย่างเส้นผม ผ้า ใบไม้ และตัวอักษรถูกสร้างขึ้นใหม่แทนที่จะเบลอ และรอยหยาบจากการบีบอัด JPEG ในภาพต้นฉบับถูกลบไปพร้อมกัน เหมาะสำหรับภาพสินค้าอีคอมเมิร์ซ งานพิมพ์ที่มีเพียงไฟล์ขนาดเว็บ ภาพถ่ายเก่าหรือความละเอียดต่ำ ภาพขนาดย่อที่ต้องแสดงขนาดใหญ่ และภาพวาด ภาพถ่ายขนาด 1024 x 1024 กลายเป็น 4096 x 4096 ภายใน 1.0 วินาทีบนระบบให้บริการจริง ผลลัพธ์จำกัดที่ 16.8 ล้านพิกเซล (4096 x 4096) ซึ่งครอบคลุมงานพิมพ์ขนาด A3 ที่ 300 dpi

ทดลองใช้งาน

อัปโหลดไฟล์ JPEG, PNG หรือ WebP (ไม่เกิน 10 MB) หรือเลือกภาพตัวอย่างขนาดเล็ก เลือก 2 เท่าหรือ 4 เท่า แล้วกดขยายภาพ ผลลัพธ์แสดงแบบเปรียบเทียบก่อนและหลัง ลากแถบเพื่อเทียบ

วางไฟล์ภาพที่นี่ หรือคลิกเพื่อเลือกไฟล์
อัปโหลดภาพหรือเลือกตัวอย่าง แล้วกดขยายภาพ ลากแถบเพื่อเปรียบเทียบก่อนและหลัง
คำขอในรูปแบบ cURL
curl -X POST 'https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale' \
  -H 'apikey: YOUR_API_KEY' \
  -F 'file=@photo.jpg' \
  -F 'scale=4' -F 'model=photo' -F 'output_format=png'

ตัวอย่าง

แต่ละคู่ด้านล่างเป็นภาพตัดขนาด 300 x 300 จากต้นฉบับ 256 พิกเซลที่ขยาย 4 เท่าเป็น 1024 พิกเซล ซ้าย: ย่อขยายแบบ bicubic ธรรมดา ขวา: iApp Image Upscaler โมเดลภาพถ่าย (คู่สุดท้ายใช้โมเดลภาพวาด) ภาพต้นฉบับมาจากแกลเลอรี iApp Image Generation ผลลัพธ์ไม่ได้ผ่านการตกแต่ง

ป้ายตลาดกลางคืน: bicubic ซ้าย ผลลัพธ์ upscaler ขวา
ตลาดกลางคืน 4 เท่า bicubic (ซ้าย) / upscaler (ขวา)
ภาพบุคคลบนเวที: bicubic ซ้าย ผลลัพธ์ upscaler ขวา
ภาพบุคคลบนเวที 4 เท่า bicubic (ซ้าย) / upscaler (ขวา)
ฉลากสินค้า: bicubic ซ้าย ผลลัพธ์ upscaler ขวา
ฉลากสินค้า 4 เท่า bicubic (ซ้าย) / upscaler (ขวา)
ภาพวาด: bicubic ซ้าย ผลลัพธ์ upscaler ขวา
ภาพวาด 4 เท่า โมเดลภาพวาด bicubic (ซ้าย) / upscaler (ขวา)

เริ่มต้นใช้งาน

ต้องมี API key จาก iApp AI Portal ส่งภาพเป็น multipart form พร้อม header apikey:

curl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \
-H "apikey: YOUR_API_KEY" \
-F "file=@product.jpg" \
-F "scale=4" \
-F "output_format=png"
{
"status": "success",
"model": "photo",
"scale": 4,
"input": { "width": 800, "height": 800 },
"width": 3200,
"height": 3200,
"mime_type": "image/png",
"bytes": 9871234,
"image_base64": "iVBORw0KGgoAAAANSUhEUgAADIAAAAyACAIAAAB...",
"time": { "model": 0.61, "total": 1.42 },
"iapp": { "images": 1, "version": "1.0.0-20260907" }
}

เพิ่ม -F "response=image" เพื่อรับไฟล์ภาพโดยตรงแทน JSON ตัวอย่างโค้ด Python และ JavaScript อยู่ในข้อมูลอ้างอิงทางเทคนิค

Endpoint และราคา

Endpointรายละเอียดราคา
POST /v3/store/image-generation/image-upscaler/upscaleขยายภาพ 1 ภาพ 2 เท่าหรือ 4 เท่า1 IC ต่อภาพ
GET /v3/store/image-generation/image-upscaler/modelsรายชื่อโมเดลและขีดจำกัดฟรี

หนึ่งภาพคิด 1 IC ไม่ว่าขนาดหรืออัตราขยายเท่าใด ตราบที่ผลลัพธ์ไม่เกิน 16.8 ล้านพิกเซล (4096 x 4096) คิดค่าบริการเฉพาะคำขอที่สำเร็จ คำขอที่ถูกปฏิเสธหรือล้มเหลวไม่คิดค่าบริการ

ประสิทธิภาพ

วัดบน GPU ที่ให้บริการจริง วันที่ 7 กันยายน 2569 ทีละ 1 คำขอ โมเดลภาพถ่าย ค่ามัธยฐานจาก 5 รอบ เวลาโมเดลคือการขยายภาพ ส่วนเวลาเข้ารหัสคือการสร้างไฟล์ผลลัพธ์ซึ่งขึ้นกับรูปแบบที่เลือก

ภาพเข้าอัตราขยายผลลัพธ์เวลาโมเดลเข้ารหัส PNGเข้ารหัส JPEG
512 x 5124 เท่า2048 x 20480.23 วินาที0.34 วินาที0.05 วินาที
1024 x 10244 เท่า4096 x 40960.98 วินาที1.37 วินาที0.18 วินาที
1920 x 10802 เท่า3840 x 21600.41 วินาที0.61 วินาที0.08 วินาที
2048 x 20482 เท่า4096 x 40960.78 วินาที1.27 วินาที0.18 วินาที
รายการค่า
โมเดลภาพวาด 1024 x 1024 เป็น 4096 x 40960.32 วินาที
โมเดลเร็ว 1024 x 1024 เป็น 4096 x 40960.06 วินาที
กำลังให้บริการประมาณ 1,500 ภาพต่อชั่วโมงที่ผลลัพธ์ขนาดใหญ่สุดแบบ PNG ประมาณ 3,000 ภาพต่อชั่วโมงแบบ JPEG บน GPU 1 ตัว คำขอที่เกินจากนั้นรอในคิวตามลำดับ
ภาพเข้าJPEG, PNG หรือ WebP ไม่เกิน 10 MB และ 16.8 ล้านพิกเซล รักษาความโปร่งใสไว้
ผลลัพธ์PNG (ค่าเริ่มต้น), JPEG หรือ WebP ไม่เกิน 16.8 ล้านพิกเซล (4096 x 4096): ที่ 4 เท่า ภาพเข้าได้ถึง 1024 x 1024 ที่ 2 เท่า ได้ถึง 2048 x 2048
ขีดจำกัดอัตราการเรียก (ต่อ API key)5 ครั้งต่อวินาที 60 ครั้งต่อนาที 1,200 ครั้งต่อชั่วโมง

ไฟล์ PNG ขนาด 4096 x 4096 ของภาพถ่ายโดยทั่วไปมีขนาด 10 ถึง 20 MB ภาพเดียวกันแบบ JPEG ที่คุณภาพเริ่มต้น 92 มีขนาด 1 ถึง 3 MB เลือก output_format=jpeg หรือ webp เมื่อขนาดไฟล์หรือเวลารับส่งสำคัญกว่าการไม่สูญเสียคุณภาพ

คุณภาพผลลัพธ์

ระบบขยายภาพเป็นโมเดลที่เรียนรู้การสร้างรายละเอียดที่สมจริง เราวัดเทียบกับการย่อขยายแบบ bicubic บนภาพ 29 ภาพจากแกลเลอรี iApp Image Generation (900 x 540) โดยย่อแต่ละภาพลง 4 เท่าด้วยฟิลเตอร์ Lanczos แล้วขยายกลับเป็นขนาดเดิม (7 กันยายน 2569 โมเดลภาพถ่าย):

ตัวชี้วัด (เทียบกับต้นฉบับ)bicubiciApp Image Upscaler
ระยะ LPIPS ตามการรับรู้ ยิ่งต่ำยิ่งดี0.2840.159
จำนวนภาพที่ upscaler ใกล้ต้นฉบับกว่า (LPIPS)29 จาก 29
PSNR ยิ่งสูงยิ่งดี27.2 dB25.7 dB

สองแถวนี้ชี้คนละทางโดยตั้งใจ LPIPS วัดว่าผลลัพธ์ดูใกล้เคียงต้นฉบับเพียงใดในสายตามนุษย์ ส่วน PSNR ให้คะแนนค่าเฉลี่ยเบลอ ๆ ที่การย่อขยายธรรมดาสร้างขึ้น การสร้างพื้นผิวคืนมาย่อมเสีย PSNR เล็กน้อยเสมอ โปรดพิจารณาจากตัวอย่างด้านบนและจากภาพของท่านเองในหน้าทดลอง

ข้อจำกัดสองประการ:

  • รายละเอียดที่ไม่มีในต้นฉบับถูกสร้างขึ้น ไม่ใช่กู้คืน ใบหน้าหรือตัวอักษรเล็ก ๆ ที่ 40 พิกเซลจะออกมาคมชัดแต่อาจไม่ตรงกับบุคคลจริงหรือข้อความจริง อย่าใช้ผลลัพธ์เป็นหลักฐานว่าต้นฉบับความละเอียดต่ำแสดงอะไร
  • ต้นฉบับที่บีบอัดมากหรือเบลอจะถูกปรับให้สะอาดขึ้น แต่ภาพเบลอจากการเคลื่อนไหวและส่วนที่หลุดโฟกัสยังคงนุ่ม

ความปลอดภัยของข้อมูลและการปฏิบัติตามกฎระเบียบ

  • บริการนี้สอดคล้องกับ GDPR และ PDPA
  • ภาพถูกประมวลผลในหน่วยความจำและส่งกลับในคำตอบ ไม่มีการเขียนลงดิสก์และไม่มีการเก็บไว้หลังส่งคำตอบแล้ว
  • โมเดลทำงานบนโครงสร้างพื้นฐาน GPU ที่ iApp ดูแลเองในประเทศไทย ไม่มีการส่งภาพไปยังผู้ให้บริการภายนอก

ข้อมูลอ้างอิงทางเทคนิค

คำขอ

POST /v3/store/image-generation/image-upscaler/upscale รับ multipart/form-data พร้อม header apikey

ฟิลด์ชนิดจำเป็นรายละเอียด
filefileใช่ หรือใช้ image_base64ภาพ JPEG, PNG หรือ WebP ไม่เกิน 10 MB และ 16.8 ล้านพิกเซล ปรับตามการหมุนใน EXIF และรักษาความโปร่งใส
image_base64stringไม่ทางเลือกแทน file: ภาพในรูปแบบ base64 (รับคำนำหน้า data: URL)
scaleintegerไม่4 (ค่าเริ่มต้น) หรือ 2
modelstringไม่photo (ค่าเริ่มต้น) สำหรับภาพถ่ายและภาพทั่วไป anime สำหรับภาพวาด อนิเมะ และงานกราฟิกแบบแบน fast โมเดลเบาเมื่อต้องการปริมาณมากกว่ารายละเอียด
output_formatstringไม่png (ค่าเริ่มต้น ไม่สูญเสียคุณภาพ), jpeg หรือ webp
qualityintegerไม่1 ถึง 100 สำหรับ jpeg และ webp ค่าเริ่มต้น 92
responsestringไม่json (ค่าเริ่มต้น) ส่ง JSON ด้านล่างพร้อมภาพแบบ base64 image ส่งไฟล์ภาพโดยตรงพร้อม Content-Type ที่ตรงกัน

คำตอบที่สำเร็จทุกครั้งมี header iapp-input-images: 1 และ x-iapp-output-size (เช่น 4096x4096)

คำตอบ

{
"status": "success",
"model": "photo",
"scale": 4,
"input": { "width": 1024, "height": 1024 },
"width": 4096,
"height": 4096,
"mime_type": "image/png",
"bytes": 16523871,
"image_base64": "...",
"time": { "model": 0.98, "total": 2.41 },
"iapp": { "images": 1, "version": "1.0.0-20260907" }
}

time.model คือเวลาขยายภาพ time.total รวมการถอดรหัสไฟล์ที่อัปโหลดและการเข้ารหัสผลลัพธ์

ข้อผิดพลาด

สถานะ HTTPerror_codeความหมาย
400invalid_imageไฟล์ไม่ใช่ JPEG, PNG หรือ WebP ที่อ่านได้
400input_too_largeภาพเข้าเกิน 16.8 ล้านพิกเซล
400output_too_largeภาพเข้า x อัตราขยายจะเกิน 16.8 ล้านพิกเซล ข้อความระบุขนาดภาพเข้าสูงสุดสำหรับอัตราขยายนั้น ใช้ scale=2 หรือภาพที่เล็กลง
400invalid_scale, invalid_model, invalid_output_formatค่าฟิลด์อยู่นอกตารางด้านบน
401ไม่มีหรือ apikey ไม่ถูกต้อง
402เครดิตไม่เพียงพอ
413file_too_largeไฟล์อัปโหลดเกิน 10 MB
429เกินขีดจำกัดอัตราการเรียกของ API key นี้
503startingบริการกำลังเริ่มทำงาน ลองใหม่ใน 30 วินาที

ข้อผิดพลาดไม่คิดค่าบริการ

ตัวอย่างโค้ด

# คำตอบแบบ JSON บันทึกภาพจากฟิลด์ base64
curl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \
-H "apikey: YOUR_API_KEY" \
-F "file=@photo.jpg" -F "scale=4" -F "output_format=png" \
| python3 -c "import sys, json, base64; r = json.load(sys.stdin); open('photo-4x.png', 'wb').write(base64.b64decode(r['image_base64'])); print(r['width'], r['height'], r['time'])"

# หรือรับไฟล์ภาพโดยตรง
curl -X POST https://api.iapp.co.th/v3/store/image-generation/image-upscaler/upscale \
-H "apikey: YOUR_API_KEY" \
-F "file=@photo.jpg" -F "scale=2" -F "output_format=jpeg" -F "response=image" \
-o photo-2x.jpg

บันทึกการเปลี่ยนแปลง

เวอร์ชันวันที่การเปลี่ยนแปลง
v1.0.0-202609077 ก.ย. 2569เปิดตัวรุ่นแรก: ขยาย 2 เท่าและ 4 เท่าด้วยโมเดลภาพถ่าย ภาพวาด และโมเดลเร็ว ผลลัพธ์ PNG, JPEG และ WebP รักษาความโปร่งใส ผลลัพธ์สูงสุด 16.8 ล้านพิกเซล ราคา 1 IC ต่อภาพ