All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
39 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| เอกสารอ้างอิงเอนจิน AI พร้อมเครื่องมือ ML ในเครื่องทั้งหมด การลบพื้นหลัง การขยายภาพ OCR การตรวจจับใบหน้า การกู้คืนภาพถ่าย และอื่น ๆ | 14728c1dcd05 | machine | 76c10fa3ca33 |
เอกสารอ้างอิงเอนจิน AI
แพ็กเกจ @snapotter/ai เชื่อมโยง Node.js เข้ากับ Python sidecar แบบถาวร สำหรับการดำเนินการ ML ทั้งหมด กระบวนการ dispatcher จะคงอยู่ระหว่างคำขอเพื่อประสิทธิภาพการเริ่มต้นแบบ warm-start ที่รวดเร็ว NVIDIA CUDA จะถูกตรวจจับโดยอัตโนมัติเมื่อเริ่มต้นและใช้งานเมื่อพร้อมใช้งาน มิฉะนั้นเครื่องมือ AI จะทำงานบน CPU
การเร่งความเร็ว iGPU ของ Intel/AMD ผ่าน VA-API, Quick Sync หรือ OpenCL ยังไม่รองรับสำหรับการอนุมาน AI ในปัจจุบัน การแมป /dev/dri เข้าไปในคอนเทนเนอร์ไม่ได้เร่งความเร็วเครื่องมือ Python sidecar เหล่านี้ เว้นแต่จะมี NVIDIA GPU ที่รองรับ CUDA พร้อมใช้งาน
เครื่องมือ AI แบบ Python sidecar จำนวน 19 รายการครอบคลุมสี่โมดาลิตี (ภาพ เสียง วิดีโอ เอกสาร) พร้อมด้วยเครื่องมืออีก 2 รายการที่มีความสามารถ AI เสริม โมเดลทั้งหมดทำงานในเครื่อง ไม่ต้องใช้อินเทอร์เน็ตหลังจากดาวน์โหลดโมเดลครั้งแรก
สถาปัตยกรรม
Node.js Tool Route
|
v
@snapotter/ai bridge.ts
| (stdin/stdout JSON + stderr progress events)
v
Python dispatcher (persistent process, "ai" profile)
|
|-- remove_bg.py (rembg / BiRefNet)
|-- upscale.py (RealESRGAN)
|-- inpaint.py (LaMa ONNX)
|-- outpaint.py (LaMa canvas expansion)
|-- ocr.py (PaddleOCR / Tesseract)
|-- ocr_pdf.py (page-by-page document OCR)
|-- ocr_preprocess.py (image enhancement for OCR)
|-- detect_faces.py (MediaPipe)
|-- face_landmarks.py (MediaPipe landmarks)
|-- enhance_faces.py (GFPGAN / CodeFormer)
|-- colorize.py (DDColor)
|-- noise_removal.py (SCUNet / tiered denoising)
|-- red_eye_removal.py (landmark + color analysis)
|-- restore.py (scratch repair + enhancement + denoising)
|-- transcribe.py (faster-whisper speech-to-text)
+-- install_feature.py (on-demand bundle installer)
โปรไฟล์ dispatcher แบบ "docs" ที่แยกต่างหากจะแทนที่รายการอนุญาต AI ด้วยสคริปต์ประมวลผลเอกสาร (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) และข้ามการอิมพอร์ต ML ขนาดใหญ่
เวลาหมดเวลา: ค่าเริ่มต้น 300 วินาที OCR และการลบพื้นหลัง BiRefNet ได้ 600 วินาที
ชุดฟีเจอร์ (Feature Bundles)
โมเดล AI ถูกจัดแพ็กเกจตามชุด dependency ที่ใช้ร่วมกัน ไม่ใช่หนึ่งไฟล์เก็บถาวรต่อหนึ่งเครื่องมือ ชุดฟีเจอร์หนึ่งชุดสามารถเปิดใช้งานเครื่องมือได้หลายรายการเมื่อเครื่องมือเหล่านั้นใช้ตระกูลโมเดล, Python wheel หรือไลบรารีเนทีฟเดียวกัน วิธีนี้ทำให้ Docker image สำหรับรีลีสมีขนาดเล็กลงและหลีกเลี่ยงการเก็บสำเนาซ้ำของโมเดล background matting, การตรวจจับใบหน้า, OCR, การกู้คืน และโมเดลเสียงพูดเดียวกัน
Docker image มาพร้อมกับแอปพลิเคชันบวกกับรันไทม์ทั่วไป ไฟล์เก็บถาวรของโมเดลขนาดใหญ่จะถูกดาวน์โหลดตามความต้องการลงในโวลุ่ม /data/ai แบบถาวร แล้วนำกลับมาใช้ซ้ำโดยทุกเครื่องมือที่ต้องการ หากติดตั้งชุดฟีเจอร์แล้วเนื่องจากมีเครื่องมืออื่นต้องการใช้ การเปิดใช้งานเครื่องมือใหม่ที่ต้องพึ่งพาชุดนั้นจะไม่ดาวน์โหลดชุดฟีเจอร์นั้นซ้ำอีก
เครื่องมือ AI แต่ละรายการต้องมีชุดฟีเจอร์ตั้งแต่หนึ่งชุดขึ้นไปก่อนจึงจะทำงานได้ UI ของผู้ดูแลระบบติดตั้งตามเครื่องมือผ่าน POST /api/v1/admin/tools/:toolId/features/install ซึ่งจะแยกรายการชุดฟีเจอร์ทั้งหมด ข้ามชุดที่ติดตั้งแล้ว และจัดคิวเฉพาะการดาวน์โหลดที่ขาดหายไปเท่านั้น ตัวอย่างเช่น การเปิดใช้งาน Passport Photo บนอินสแตนซ์ใหม่จะจัดคิว background-removal และ face-detection แต่การเปิดใช้งานหลังจากติดตั้ง Background Removal แล้วจะจัดคิวเฉพาะ face-detection เท่านั้น
| ชุดฟีเจอร์ | ขนาด | กลุ่ม dependency ที่ใช้ร่วมกัน | เครื่องมือที่ใช้ |
|---|---|---|---|
background-removal |
4-5 GB | rembg / BiRefNet background matting | remove-background, passport-photo, transparency-fixer, background-replace, blur-background |
face-detection |
200-300 MB | การตรวจจับใบหน้าและจุดสังเกต MediaPipe | blur-faces, red-eye-removal, smart-crop |
object-eraser-colorize |
1-2 GB | LaMa inpainting/outpainting และ DDColor | erase-object, colorize, ai-canvas-expand |
upscale-enhance |
5-6 GB | RealESRGAN, GFPGAN / CodeFormer, denoising | upscale, enhance-faces, noise-removal |
photo-restoration |
4-5 GB | ไปป์ไลน์ซ่อมรอยขีดข่วนและกู้คืน | restore-photo |
ocr |
5-6 GB | สแตก PaddleOCR / Tesseract OCR | ocr, ocr-pdf |
transcription |
~600 MB | โมเดลแปลงเสียงเป็นข้อความ faster-whisper | transcribe-audio, auto-subtitles |
เครื่องมือที่มี dependency ข้ามชุดฟีเจอร์:
| เครื่องมือ | ชุดฟีเจอร์ที่ต้องใช้ | เหตุผล |
|---|---|---|
passport-photo |
background-removal, face-detection |
ลบพื้นหลัง แล้วใช้จุดสังเกตใบหน้าจัดกรอบการครอปให้เป็นไปตามกฎของรูปหนังสือเดินทางและรูปบัตรประจำตัว |
enhance-faces |
upscale-enhance, face-detection |
ตรวจจับใบหน้าก่อนรันการปรับปรุงด้วย GFPGAN หรือ CodeFormer บนบริเวณใบหน้าที่เลือก |
เครื่องมือจะพร้อมใช้งานเฉพาะเมื่อติดตั้งชุดฟีเจอร์ที่จำเป็นครบทุกชุดแล้ว การติดตั้งบางส่วนถือว่าใช้ได้และจัดการแบบเพิ่มทีละส่วน ชุดที่ติดตั้งแล้วจะถูกนำกลับมาใช้ซ้ำ ชุดที่ขาดหายไปจะแสดงเป็นการดาวน์โหลด และการติดตั้งที่จัดคิวไว้จะทำงานทีละรายการเพื่อไม่ให้มีการแก้ไขสภาพแวดล้อม Python ที่ใช้ร่วมกันพร้อมกัน
การลบพื้นหลัง
เส้นทางเครื่องมือ: remove-background
โมเดล: rembg พร้อม BiRefNet (ค่าเริ่มต้น) หรือรุ่นย่อย U2-Net
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
model |
string | - | รุ่นย่อยของโมเดล (การแทนที่แบบเสริม) |
backgroundType |
string | "transparent" |
หนึ่งใน: transparent, color, gradient, blur, image |
backgroundColor |
string | - | สีเลขฐานสิบหกสำหรับพื้นหลังสีทึบ |
gradientColor1 |
string | - | สีไล่ระดับสีแรก |
gradientColor2 |
string | - | สีไล่ระดับสีที่สอง |
gradientAngle |
number | - | มุมไล่ระดับสีเป็นองศา |
blurEnabled |
boolean | - | เปิดใช้งานเอฟเฟกต์เบลอพื้นหลัง |
blurIntensity |
number (0-100) | - | ความเข้มของการเบลอ |
shadowEnabled |
boolean | - | เปิดใช้งานเงาตกกระทบบนวัตถุ |
shadowOpacity |
number (0-100) | - | ความทึบของเงา |
outputFormat |
string | - | รูปแบบเอาต์พุต: png, webp หรือ avif |
edgeRefine |
integer (0-3) | - | ระดับการปรับแต่งขอบ |
decontaminate |
boolean | - | ลบสีที่ซึมออกจากขอบ |
แทนที่พื้นหลัง
เส้นทางเครื่องมือ: background-replace
โมเดล: rembg / BiRefNet (ใช้ร่วมกับ remove-background)
ลบพื้นหลังและแทนที่ด้วยสีทึบหรือสีไล่ระดับ
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
backgroundType |
"color" | "gradient" |
"color" |
โหมดพื้นหลัง |
color |
string | "#ffffff" |
สีเลขฐานสิบหกของพื้นหลัง (เมื่อ backgroundType เป็น color) |
gradientColor1 |
string | - | สีเลขฐานสิบหกไล่ระดับสีแรก |
gradientColor2 |
string | - | สีเลขฐานสิบหกไล่ระดับสีที่สอง |
gradientAngle |
integer (0-360) | 180 |
มุมไล่ระดับสีเป็นองศา |
feather |
integer (0-20) | 0 |
รัศมีการเกลี่ยขอบ |
format |
"png" | "webp" |
"png" |
รูปแบบเอาต์พุต |
เบลอพื้นหลัง
เส้นทางเครื่องมือ: blur-background
โมเดล: rembg / BiRefNet (ใช้ร่วมกับ remove-background)
เบลอพื้นหลังในขณะที่ยังคงความคมชัดของวัตถุ
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
intensity |
integer (1-100) | 50 |
ความเข้มของการเบลอ |
feather |
integer (0-20) | 0 |
รัศมีการเกลี่ยขอบ |
format |
"png" | "webp" |
"png" |
รูปแบบเอาต์พุต |
การขยายภาพ
เส้นทางเครื่องมือ: upscale
โมเดล: RealESRGAN (พร้อม Lanczos สำรองเมื่อไม่พร้อมใช้งาน)
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
scale |
number | 2 |
ตัวคูณการขยาย |
model |
string | "auto" |
รุ่นย่อยของโมเดล |
faceEnhance |
boolean | false |
ใช้รอบการปรับปรุงใบหน้า GFPGAN |
denoise |
number | 0 |
ความแรงในการลดสัญญาณรบกวน |
format |
string | "auto" |
การแทนที่รูปแบบเอาต์พุต |
quality |
number | 95 |
คุณภาพเอาต์พุต (1-100) |
OCR / การแยกข้อความ
เส้นทางเครื่องมือ: ocr
โมเดล: Tesseract (เร็ว), PaddleOCR PP-OCRv5 (สมดุล), PaddleOCR-VL 1.5 (ดีที่สุด)
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
quality |
"fast" | "balanced" | "best" |
"balanced" |
ระดับการประมวลผล |
language |
string | "auto" |
ภาษา: auto, en, de, fr, es, zh, ja, ko |
enhance |
boolean | true |
ประมวลผลภาพล่วงหน้าเพื่อเพิ่มความแม่นยำของ OCR |
engine |
string | - | เลิกใช้แล้ว แมป tesseract เป็น fast, paddleocr เป็น balanced |
ส่งคืนผลลัพธ์ที่มีโครงสร้างพร้อมกล่องขอบเขต คะแนนความเชื่อมั่น และบล็อกข้อความที่แยกออกมา
PDF OCR
เส้นทางเครื่องมือ: ocr-pdf
โมเดล: ระบบระดับเดียวกับ OCR ภาพ
แยกข้อความจากเอกสาร PDF ที่สแกนโดยใช้ OCR ที่ขับเคลื่อนด้วย AI ทีละหน้า
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
quality |
"fast" | "balanced" | "best" |
"balanced" |
ระดับการประมวลผล |
language |
string | "auto" |
ภาษา: auto, en, de, fr, es, zh, ja, ko |
pages |
string | "all" |
การเลือกหน้า: "all", "1-3", "1,3,5" |
เบลอใบหน้า / PII
เส้นทางเครื่องมือ: blur-faces
โมเดล: การตรวจจับใบหน้า MediaPipe
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
blurRadius |
number (1-100) | 30 |
รัศมีการเบลอแบบเกาส์เซียน |
sensitivity |
number (0-1) | 0.5 |
เกณฑ์ความเชื่อมั่นในการตรวจจับ |
การปรับปรุงใบหน้า
เส้นทางเครื่องมือ: enhance-faces
โมเดล: GFPGAN, CodeFormer
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
model |
"auto" | "gfpgan" | "codeformer" |
"auto" |
โมเดลการปรับปรุง |
strength |
number (0-1) | 0.8 |
ความแรงของการปรับปรุง |
sensitivity |
number (0-1) | 0.5 |
เกณฑ์การตรวจจับใบหน้า |
onlyCenterFace |
boolean | false |
ปรับปรุงเฉพาะใบหน้าที่อยู่กึ่งกลางที่สุด |
การลงสีด้วย AI
เส้นทางเครื่องมือ: colorize
โมเดล: DDColor (พร้อม OpenCV DNN สำรอง)
แปลงภาพถ่ายขาวดำหรือโทนสีเทาเป็นภาพสีเต็มรูปแบบ
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
intensity |
number (0-1) | 1.0 |
ความแรงของความอิ่มตัวของสี |
model |
"auto" | "ddcolor" | "opencv" |
"auto" |
รุ่นย่อยของโมเดล |
การลบสัญญาณรบกวน
เส้นทางเครื่องมือ: noise-removal
โมเดล: SCUNet (ไปป์ไลน์ลดสัญญาณรบกวนแบบหลายระดับ)
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
tier |
"quick" | "balanced" | "quality" | "maximum" |
"balanced" |
ระดับการประมวลผล |
strength |
number (0-100) | 50 |
ความแรงในการลดสัญญาณรบกวน |
detailPreservation |
number (0-100) | 50 |
จำนวนรายละเอียดที่จะเก็บรักษา ยิ่งสูงยิ่งเก็บพื้นผิวไว้มาก |
colorNoise |
number (0-100) | 30 |
ความแรงในการลดสัญญาณรบกวนสี |
format |
string | "original" |
รูปแบบเอาต์พุต: original, png, jpeg, webp, avif, jxl |
quality |
number (1-100) | 90 |
คุณภาพการเข้ารหัสเอาต์พุต |
การลบตาแดง
เส้นทางเครื่องมือ: red-eye-removal
ตรวจจับจุดสังเกตใบหน้า ระบุตำแหน่งบริเวณดวงตา และแก้ไขการอิ่มตัวเกินของช่องสีแดง
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
sensitivity |
number (0-100) | 50 |
เกณฑ์การตรวจจับพิกเซลสีแดง |
strength |
number (0-100) | 70 |
ความแรงในการแก้ไข |
format |
string | - | การแทนที่รูปแบบเอาต์พุต (เสริม) |
quality |
number (1-100) | 90 |
คุณภาพเอาต์พุต |
การกู้คืนภาพถ่าย
เส้นทางเครื่องมือ: restore-photo
ไปป์ไลน์หลายขั้นตอนสำหรับภาพถ่ายเก่าหรือเสียหาย: การตรวจจับและซ่อมรอยขีดข่วน/รอยฉีก การปรับปรุงใบหน้า การลดสัญญาณรบกวน และการลงสีเสริม
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
scratchRemoval |
boolean | true |
ตรวจจับและซ่อมรอยขีดข่วน รอยฉีก |
faceEnhancement |
boolean | true |
ใช้รอบการปรับปรุงใบหน้า |
fidelity |
number (0-1) | 0.7 |
ความแรงในการปรับปรุงใบหน้า (สูงกว่า = อนุรักษ์นิยมมากกว่า) |
denoise |
boolean | true |
ใช้รอบการลดสัญญาณรบกวน |
denoiseStrength |
number (0-100) | 25 |
ความแรงในการลดสัญญาณรบกวน |
colorize |
boolean | false |
ลงสีหลังการกู้คืน |
colorizeStrength |
number (0-100) | 85 |
ความเข้มของการลงสี |
รูปถ่ายหนังสือเดินทาง
เส้นทางเครื่องมือ: passport-photo
โมเดล: จุดสังเกตใบหน้า MediaPipe + การลบพื้นหลัง BiRefNet
เวิร์กโฟลว์สองเฟส: วิเคราะห์ (ตรวจจับใบหน้า + ลบพื้นหลัง) จากนั้นสร้าง (ครอป ปรับขนาด เรียงเป็นแผ่น) รองรับกว่า 37 ประเทศใน 6 ภูมิภาค
เฟส 1: วิเคราะห์
POST /api/v1/tools/image/passport-photo/analyze
รับไฟล์ภาพ (multipart) ส่งคืนข้อมูลจุดสังเกตใบหน้า ตัวอย่างแบบ base64 และขนาดของภาพ
เฟส 2: สร้าง
POST /api/v1/tools/image/passport-photo/generate
รับ JSON body ที่มีผลลัพธ์จากเฟส 1 พร้อมด้วยการตั้งค่าการสร้าง:
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
jobId |
string | (จำเป็น) | Job ID จากเฟส 1 |
filename |
string | (จำเป็น) | ชื่อไฟล์ต้นฉบับจากเฟส 1 |
countryCode |
string | (จำเป็น) | รหัสประเทศ ISO (เช่น US, GB, IN) |
documentType |
string | "passport" |
ประเภทเอกสาร |
bgColor |
string | "#FFFFFF" |
สีเลขฐานสิบหกของพื้นหลัง |
printLayout |
string | "none" |
เลย์เอาต์การพิมพ์: none, 4x6, a4, letter |
maxFileSizeKb |
number | 0 |
ขนาดไฟล์สูงสุดเป็น KB (0 = ไม่จำกัด) |
dpi |
number (72-1200) | 300 |
DPI เอาต์พุต |
customWidthMm |
number | - | ความกว้างกำหนดเองเป็นมิลลิเมตร (แทนที่ข้อกำหนดของประเทศ) |
customHeightMm |
number | - | ความสูงกำหนดเองเป็นมิลลิเมตร (แทนที่ข้อกำหนดของประเทศ) |
zoom |
number (0.5-3) | 1 |
ตัวคูณการซูม |
adjustX |
number | 0 |
การปรับตำแหน่งแนวนอน |
adjustY |
number | 0 |
การปรับตำแหน่งแนวตั้ง |
landmarks |
object | (จำเป็น) | จุดสังเกตจากเฟส 1 |
imageWidth |
number | (จำเป็น) | ความกว้างของภาพจากเฟส 1 |
imageHeight |
number | (จำเป็น) | ความสูงของภาพจากเฟส 1 |
การลบวัตถุ (Inpainting)
เส้นทางเครื่องมือ: erase-object
โมเดล: LaMa ผ่าน ONNX Runtime
มาสก์จะถูกส่งเป็น ส่วนไฟล์ที่สอง (fieldname mask) ไม่ใช่แบบ base64 พิกเซลสีขาวในมาสก์บ่งชี้บริเวณที่จะลบ การตั้งค่า format และ quality จะถูกส่งเป็นฟิลด์ฟอร์มระดับบนสุด
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
file |
file | (จำเป็น) | ภาพต้นฉบับ (multipart) |
mask |
file | (จำเป็น) | ภาพมาสก์ (multipart, fieldname mask, สีขาว = ลบ) |
format |
string | "auto" |
รูปแบบเอาต์พุต: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl |
quality |
integer (1-100) | 95 |
คุณภาพเอาต์พุต |
เร่งความเร็วด้วย CUDA เมื่อมี NVIDIA GPU พร้อมใช้งาน
AI Canvas Expand
เส้นทางเครื่องมือ: ai-canvas-expand
โมเดล: outpainting ที่ใช้ LaMa
ขยายพื้นที่แคนวาสของภาพในทิศทางใดก็ได้ และเติมบริเวณใหม่ด้วยเนื้อหาที่สร้างโดย AI ให้เข้ากับภาพที่มีอยู่
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
extendTop |
integer | 0 |
จำนวนพิกเซลที่จะขยายด้านบน |
extendRight |
integer | 0 |
จำนวนพิกเซลที่จะขยายด้านขวา |
extendBottom |
integer | 0 |
จำนวนพิกเซลที่จะขยายด้านล่าง |
extendLeft |
integer | 0 |
จำนวนพิกเซลที่จะขยายด้านซ้าย |
tier |
"fast" | "balanced" | "high" |
"balanced" |
ระดับคุณภาพ |
format |
string | "auto" |
รูปแบบเอาต์พุต: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl |
quality |
integer (1-100) | 95 |
คุณภาพเอาต์พุต |
อย่างน้อยหนึ่งทิศทางในการขยายต้องมากกว่า 0
Smart Crop
เส้นทางเครื่องมือ: smart-crop
โมเดล: การตรวจจับใบหน้า MediaPipe (โหมดใบหน้าเท่านั้น)
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
mode |
string | "subject" |
กลยุทธ์การครอป: subject, face, trim |
strategy |
"attention" | "entropy" |
"attention" |
กลยุทธ์สำหรับโหมดวัตถุ |
width |
integer | - | ความกว้างเอาต์พุต |
height |
integer | - | ความสูงเอาต์พุต |
padding |
integer (0-50) | 0 |
เปอร์เซ็นต์ระยะขอบรอบวัตถุ |
facePreset |
string | "head-shoulders" |
การจัดกรอบสำเร็จรูปเมื่อ mode=face |
sensitivity |
number (0-1) | 0.5 |
เกณฑ์การตรวจจับใบหน้า |
threshold |
integer (0-255) | 30 |
เกณฑ์การตรวจจับพื้นหลัง (โหมด trim) |
padToSquare |
boolean | false |
เพิ่มระยะขอบผลลัพธ์ที่ตัดแล้วให้เป็นสี่เหลี่ยมจัตุรัส |
padColor |
string | "#ffffff" |
สีพื้นหลังสำหรับการเพิ่มระยะขอบแบบสี่เหลี่ยมจัตุรัส |
targetSize |
integer | - | ขนาดเป้าหมายสำหรับเอาต์พุตที่เพิ่มระยะขอบ (พิกเซล) |
quality |
integer (1-100) | - | คุณภาพเอาต์พุต |
ค่า mode แบบเดิม attention และ content ยังคงรับได้และแมปไปเป็น subject และ trim ตามลำดับ
การจัดกรอบใบหน้าสำเร็จรูป:
| สำเร็จรูป | เหมาะสำหรับ |
|---|---|
closeup |
ภาพศีรษะ |
head-shoulders |
ภาพโปรไฟล์ |
upper-body |
LinkedIn / ทางการ |
half-body |
ครึ่งตัวบนเต็มตัว |
ถอดเสียงเป็นข้อความ
เส้นทางเครื่องมือ: transcribe-audio
โมเดล: faster-whisper
แปลงเสียงพูดเป็นข้อความ รองรับรูปแบบเอาต์พุตข้อความธรรมดา, SRT และ VTT
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
language |
string | "auto" |
ภาษา: auto, en, de, fr, es, zh, ja, ko, id, th, vi |
outputFormat |
"txt" | "srt" | "vtt" |
"txt" |
รูปแบบเอาต์พุต |
คำบรรยายอัตโนมัติ
เส้นทางเครื่องมือ: auto-subtitles
โมเดล: faster-whisper (แยกเสียงจากวิดีโอ แล้วถอดเสียงเป็นข้อความ)
สร้างไฟล์คำบรรยายจากแทร็กเสียงของวิดีโอ
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
language |
string | "auto" |
ภาษา: auto, en, de, fr, es, zh, ja, ko, id, th, vi |
format |
"srt" | "vtt" |
"srt" |
รูปแบบคำบรรยายเอาต์พุต |
เครื่องมือแก้ไขความโปร่งใส PNG
เส้นทางเครื่องมือ: transparency-fixer
โมเดล: BiRefNet HR-matting (ความละเอียด 2048x2048)
แก้ไขไฟล์ PNG แบบ "โปร่งใสปลอม" ที่พื้นหลังถูกลบออกไปแล้วแต่ทิ้งขอบซ่อน, รัศมีเงา หรือสิ่งแปลกปลอมกึ่งโปร่งใสไว้ ใช้โมเดล matting ความละเอียดสูงของ BiRefNet เพื่อสร้างช่องอัลฟาที่สะอาด แล้วใช้การประมวลผล defringe ที่กำหนดค่าได้เพื่อลบการปนเปื้อนของสีตามขอบ
สายสำรองกรณี OOM: หาก BiRefNet HR-matting ใช้หน่วยความจำเกินที่มี เครื่องมือจะถอยกลับไปใช้ birefnet-general โดยอัตโนมัติ จากนั้นไปที่ u2net
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
defringe |
number (0-100) | 30 |
ความแรงของ defringe ขอบเพื่อลบการปนเปื้อนของสี |
outputFormat |
"png" | "webp" |
"png" |
รูปแบบภาพเอาต์พุต |
removeWatermark |
boolean | false |
ใช้การประมวลผลล่วงหน้าเพื่อลบลายน้ำ (median filter) |
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
-H "Authorization: Bearer <token>" \
-F "file=@fake-transparent.png" \
-F 'settings={"defringe":30,"outputFormat":"png"}'
เครื่องมือที่มีความสามารถ AI เสริม
เครื่องมือต่อไปนี้ไม่ใช่เครื่องมือ Python sidecar แต่ใช้ฟีเจอร์ AI เมื่อเปิดใช้งานตัวเลือกบางอย่าง
การปรับปรุงภาพ
เส้นทางเครื่องมือ: image-enhancement
เอนจิน: อิงการวิเคราะห์ (ฮิสโทแกรมและสถิติของ Sharp)
วิเคราะห์ภาพและใช้การแก้ไขอัตโนมัติสำหรับการเปิดรับแสง คอนทราสต์ สมดุลแสงขาว ความอิ่มตัวของสี ความคมชัด และสัญญาณรบกวน รองรับโหมดเฉพาะฉาก
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
mode |
"auto" | "portrait" | "landscape" | "low-light" | "food" | "document" |
"auto" |
โหมดฉากสำหรับการปรับจูนการแก้ไข |
intensity |
number (0-100) | 50 |
ความแรงในการแก้ไขโดยรวม |
corrections.exposure |
boolean | true |
ใช้การแก้ไขการเปิดรับแสง |
corrections.contrast |
boolean | true |
ใช้การแก้ไขคอนทราสต์ |
corrections.whiteBalance |
boolean | true |
ใช้การแก้ไขสมดุลแสงขาว |
corrections.saturation |
boolean | true |
ใช้การแก้ไขความอิ่มตัวของสี |
corrections.sharpness |
boolean | true |
ใช้การแก้ไขความคมชัด |
corrections.denoise |
boolean | true |
ใช้การลดสัญญาณรบกวน |
deepEnhance |
boolean | false |
เปิดใช้งานการลบสัญญาณรบกวนด้วย AI ผ่าน SCUNet (ต้องใช้ชุดฟีเจอร์ upscale-enhance) |
มีปลายทางการวิเคราะห์เพิ่มเติมที่ POST /api/v1/tools/image/image-enhancement/analyze ซึ่งส่งคืนการแก้ไขที่ตรวจพบโดยไม่นำมาใช้จริง
การปรับขนาดตามเนื้อหา (Seam Carving)
เส้นทางเครื่องมือ: content-aware-resize
เอนจิน: ไบนารี Go caire (ไม่ใช่ Python จึงไม่ได้ประโยชน์จาก GPU)
ปรับขนาดภาพอย่างชาญฉลาดด้วยการลบ seam ที่มีพลังงานต่ำ โดยรักษาเนื้อหาสำคัญไว้
| พารามิเตอร์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
width |
number | - | ความกว้างเป้าหมาย |
height |
number | - | ความสูงเป้าหมาย |
protectFaces |
boolean | false |
ปกป้องบริเวณใบหน้าที่ตรวจพบ (ต้องใช้ชุดฟีเจอร์ face-detection) |
blurRadius |
number (0-20) | 4 |
การเบลอล่วงหน้าสำหรับการคำนวณพลังงาน |
sobelThreshold |
number (1-20) | 2 |
เกณฑ์ความไวของขอบ |
square |
boolean | false |
บังคับเอาต์พุตเป็นสี่เหลี่ยมจัตุรัส |