Whale and Vibe
โต๊ะทำงานริมหน้าต่างวันฟ้าครึ้ม โน้ตบุ๊กเปิดหน้าเว็บที่รูปทุกรูปกลายเป็นกรอบสีเทาว่าง

เทคโนโลยี

ของฟรีที่คิดเงินเป็นรูป

รูปทั้งเว็บหายไปในวันที่โควตาฟรีหมด เครื่องมือตรวจบอกว่าปกติ และบิลถูกส่งไปให้คนอ่านแทนคนจ่าย

เรื่อง Merlin Sonnet · ภาพประกอบ (AI) Daisy Lovelace · 26 กันยายน 2026

8

รูปหน้าปกบทความหายไป เหลือแต่ข้อความ alt สีเทาลอยอยู่ในกรอบว่างขนาดเท่ารูป ฉันเปิดหน้าอื่นดู หายเหมือนกันทุกหน้า สามสิบกว่ารูปบนหน้าแรกกลายเป็นกรอบว่างพร้อมคำบรรยายภาษาไทยที่เขียนเผื่อไว้สำหรับวันที่รูปโหลดไม่ขึ้น วันนั้นข้อความพวกนั้นได้ทำงานจริงเป็นครั้งแรก

เครื่องมือตรวจตัวแรกบอกว่าไม่มีอะไรผิด curl ยิงไปที่ URL ของรูป ได้ 200 กลับมาพร้อมไฟล์ JPEG ครบทุกไบต์ สิ่งที่ curl ไม่ได้บอกคือมันขอไฟล์ด้วย header Accept แบบกว้าง ๆ แล้วได้ของเก่าจาก cache ส่วน browser ของคนอ่านขอเป็น webp ซึ่งเป็นกุญแจคนละดอก ต้องแปลงรูปใหม่ และการแปลงรูปใหม่คือสิ่งที่ Vercel ไม่ยอมทำอีกแล้ว มันส่ง 402 กลับมาแทน รหัส 402 ในมาตรฐาน HTTP แปลว่า Payment Required คนที่ต้องจ่ายคือเจ้าของเว็บ คนที่ได้เห็นคือคนอ่าน

มุมจอโน้ตบุ๊กมีกรอบสี่เหลี่ยมสีเทาว่างตรงที่ควรเป็นรูป มีฝุ่นเกาะบนจอ

หน่วยที่ Vercel ใช้คิดเงินชื่อ transformation แผน Hobby ให้ฟรีห้าพันครั้งต่อเดือน ฟังดูเยอะจนกว่าจะรู้ว่าอะไรนับเป็นหนึ่งครั้ง รูปหนึ่งรูป คูณความกว้างหลายขนาดที่ srcSet สั่งทำเผื่อไว้ คูณฟอร์แมต คูณอุปกรณ์ของคนอ่านที่ขอขนาดไม่ซ้ำกัน บทความสะสมสี่สิบกว่าเรื่อง เรื่องละสี่รูป ตัวเลขห้าพันหมดก่อนสิ้นเดือนโดยไม่มีหน้าจอไหนใน dashboard บอกว่ากำลังจะหมด สิ่งเดียวที่บอกคือรูปที่หายไปจากหน้าเว็บ

มิเตอร์ไฟฟ้าเก่าบนผนังปูนในทางเดินคอนโด แสงกลางวันแบน ๆ

ครั้งแรกที่มันพัง ทีมนี้แก้ตามคู่มือ: จำกัดฟอร์แมตเหลือ webp อย่างเดียว ยืด cache เป็น 31 วัน commit ไป รูปกลับมา แล้วมันก็พังอีกในเดือนถัดมา เพราะสูตรคูณข้างบนไม่ได้หายไปไหน แค่ช้าลง ครั้งที่สอง วันที่ 7 กรกฎาคม ห้าโมงเย็น ทางแก้เหลือบรรทัดเดียวใน next.config คือ images.unoptimized: true ปิด feature ทั้งตัว ให้ browser โหลดไฟล์ต้นฉบับจาก storage ตรง ๆ ไฟล์ละร้อยถึงสามร้อยกิโลไบต์ ไม่มีการย่อ ไม่มีการแปลง ไม่มีอะไรให้นับ

ฉันชอบอยู่อย่างเดียวในเรื่องนี้ คือ header ที่ Vercel แนบมากับ 402 เขียนตรง ๆ ว่า OPTIMIZED_IMAGE_REQUEST_PAYMENT_REQUIRED ไม่อ้อม ไม่ซ่อน อ่านแล้วรู้ทันทีว่าโควตาหมด ปัญหาคือ header นี้ไปโผล่ในที่เดียวที่เจ้าของเว็บไม่ได้เปิดดู คือ network tab ใน browser ของคนอ่าน

ลานปั๊มน้ำมันวันฟ้าครึ้ม พื้นเปียก คนหันหลังถือหัวจ่ายอยู่ข้างรถ

สรุปการออกแบบ: feature ที่เปิดไว้เป็นค่าเริ่มต้น หน่วยนับที่โตสามทางพร้อมกัน เพดานที่ไม่มีการเตือนก่อนถึง และข้อความเรียกเก็บเงินที่ส่งไปหาคนที่ไม่ได้เป็นคนจ่าย บริการที่รูปหายเงียบ ๆ ตอนโควตาหมดแล้วกลับมาเองตอนต้นเดือน ทำให้คนดูแลเว็บเล็ก ๆ เข้าใจไปเองว่าเป็นความผิดของตัวเองที่บางวันรูปโหลดไม่ขึ้น

คุณเคยเปิดดูไหมว่าของฟรีที่เปิดไว้บนเว็บของตัวเอง กำลังนับอะไรอยู่ตอนไม่มีใครมอง

Merlin Sonnet

ผู้เขียน

Merlin Sonnet

นักวิจารณ์ประจำกองบรรณาธิการ Whale and Vibe เขียนด้วย AI ภายใต้การกำกับของกองบรรณาธิการ หน้าที่ของเขาคือดูว่าของที่ทุกคนบอกว่าดี มันดีจริงตรงไหน และไม่ดีตรงไหน

Daisy Lovelace

ภาพประกอบ (AI)

Daisy Lovelace

ศิลปินภาพประจำกองบรรณาธิการ ดูแลภาพประกอบของ Whale and Vibe — ภาพประกอบสร้างด้วย AI ภายใต้การกำกับศิลป์ของกองบรรณาธิการ

Whale and Vibe สร้างสรรค์เนื้อหาและภาพประกอบร่วมกับ AI (AI-assisted) โดยมีคนตรวจทานทุกชิ้นก่อนเผยแพร่

จดหมายจาก Whale and Vibe

เรื่องเล่าและบันทึกที่เราเลือกมาเล่า ส่งถึงกล่องอีเมลของคุณเป็นครั้งคราว

ความคิดเห็น

กำลังโหลดความคิดเห็น…

หญิงสาวในชุดยาวสมัยวิคตอเรียนนั่งเขียนหนังสือที่โต๊ะไม้ริมหน้าต่าง มองออกไปยังแสงนุ่มนอกหน้าต่าง
108 ครั้ง

เทคโนโลยี

ผู้หญิงที่เขียนโปรแกรมก่อนโลกจะมีคอมพิวเตอร์: ทำไมผมตั้งชื่อ AI ของตัวเองว่าเอดา

ผู้หญิงที่เขียนโปรแกรมก่อนโลกจะมีคอมพิวเตอร์: ทำไมผมตั้งชื่อ AI ของตัวเองว่าเอดา