You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Route changed — /single/multipart-form and /multiple/multipart-form are gone. Use POST /classify instead.
Input format changed — Multipart form data replaced with raw application/octet-stream (send image bytes directly).
Multiple images per request no longer supported — The batch /multiple/multipart-form endpoint has been removed. Classify each image individually with separate API calls.
What's new
Simplified API — Switched from /single/multipart-form and /multiple/multipart-form (multipart) to a single POST on /classify endpoint accepting raw application/octet-stream. No more form parsing overhead.
Structured logging — Added @logtape/logtape with ANSI color output. Server logs classification duration and request size at info/debug levels.
AGENTS.md — Agent instructions for AI coding assistants (Bun/Hono/Biome stack, Docker commands, conventions).
What's better
Faster inference — Image processing pipeline now resizes directly to 224×224 raw RGB tensor without an intermediate JPEG re-encode. Sharp cache disabled for lower memory usage.
Memory safety — Tensor disposal is guaranteed via try/finally, preventing GPU/CPU memory leaks even when model.classify throws.
Raw binary transport — Accepts application/octet-stream instead of multipart form data, avoiding multipart parsing and base64 overhead.
Updated tsconfig — Added "types": ["bun"] for proper Bun type resolution.
README rewrite — New table of contents, performance deep-dive (SIMD, jemalloc, pipeline details), usage examples in JS/Python/httpie/curl, local dev instructions, license section. Badges added.
editorconfig / .gitignore — Added .zed to gitignore.