In production, Next.js doesn't detect new files added to the public/ folder after the server starts. That's why your uploaded images return a 400 until you restart.
Fix: Serve uploads from a separate /uploads folder using a custom server (e.g. Express) or Nginx. Don’t rely on the public/ folder for dynamic content.