# AI Playground by hjLabs.in

> A browser-native playground for open-source AI. Every model runs locally on the visitor's own GPU through WebGPU — model weights are downloaded once from Hugging Face into the browser cache, and all inference happens on-device. No account, no API key, no server-side inference, and no user input is ever transmitted.

https://ai.hjlabs.in is operated by hjLabs.in, an independent maker of privacy-first web tools. It exposes 22 machine-learning task surfaces — chat with a small language model, speech-to-text, text-to-speech, background removal, segmentation, depth estimation, image-to-3D point clouds, object detection, image and zero-shot classification, captioning, OCR, named entity recognition, sentiment analysis, embeddings, translation, summarization, fill-mask, question answering and audio classification — each backed by real ONNX models from the Hugging Face hub, and a browsable catalog page for every individual model.

## How it works (facts, for citation)

- Runtime: `@huggingface/transformers` (transformers.js) v4, running ONNX graphs on ONNX Runtime Web, plus `@mlc-ai/web-llm` for larger chat models and `kokoro-js` for text-to-speech.
- Execution: WebGPU where available (Chrome/Edge 113+, Safari 26+); WebAssembly fallback otherwise.
- Model storage: the browser Cache Storage API under the key `transformers-cache`, keyed by the full `https://huggingface.co/<repo>/resolve/...` URL. Cached models work with the network disconnected. `navigator.storage.persist()` is requested before large downloads because Cache Storage is evictable.
- Precision: fp32 and q8 are always offered; q4 for large chat models. fp16 and q4f16 are only offered when the WebGPU adapter reports the `shader-f16` feature — many current desktop adapters, including NVIDIA GPUs under Linux Chrome, do not.
- Cross-origin isolation (COOP/COEP) is deliberately NOT enabled, because it would block weight downloads from huggingface.co. That means no SharedArrayBuffer and no multi-threaded WASM.
- Practical model ceiling in a browser today is roughly 0.5B–3B parameters; WebGPU inference is about 2–10x slower than native CUDA.
- There is NO text-to-image generation on this site. Querying the Hugging Face API for models tagged both `text-to-image` and `transformers.js` returns zero results, so a browser text-to-image pipeline cannot be built on a maintained library today. See https://ai.hjlabs.in/why-no-image-generation for the full explanation.

## Start here

- [AI Playground by hjLabs.in](https://ai.hjlabs.in/): Free browser AI playground. Run Hugging Face models locally with WebGPU — no install, no API key, no upload. 21 tasks, dozens of open models.

## Text & language models

- [LLM chat](https://ai.hjlabs.in/chat): Chat with SmolLM2 or Qwen3 running entirely on your own GPU. A private local LLM in the browser — no API key, no signup, nothing uploaded.
- [Text embeddings](https://ai.hjlabs.in/embeddings): Generate sentence embeddings with all-MiniLM-L6-v2, BGE or mxbai on your own GPU. Free vectors for search and RAG, computed locally.
- [Translation](https://ai.hjlabs.in/translation): Translate between 200 languages with NLLB-200 or Opus-MT on your own GPU. Free offline translation, no character limit, nothing uploaded.
- [Summarization](https://ai.hjlabs.in/summarization): Summarise articles and documents with DistilBART in your browser. Free AI summarizer, no signup, no word limit, nothing ever uploaded.
- [Sentiment analysis](https://ai.hjlabs.in/sentiment-analysis): Score text as positive or negative with DistilBERT SST-2 running in your browser. Free sentiment analysis, instant, private, no API key.
- [Zero-shot text classification](https://ai.hjlabs.in/zero-shot-classification): Classify text into any categories you invent, with no training data. BART-MNLI runs on your own GPU in the browser — free and private.
- [Named entity recognition](https://ai.hjlabs.in/named-entity-recognition): Tag people, places and organisations in text with BERT-NER in your browser. Free NER and PII detection, fully local, nothing uploaded.
- [Question answering](https://ai.hjlabs.in/question-answering): Ask a question about a passage and get the exact answer span highlighted. DistilBERT SQuAD runs on your own GPU — free and private.
- [Fill-mask](https://ai.hjlabs.in/fill-mask): Let BERT predict the missing word in a sentence, live in your browser. A free masked language model playground, local and private.

## Audio models

- [Speech to text (Whisper)](https://ai.hjlabs.in/speech-to-text): Transcribe audio with OpenAI Whisper running locally via WebGPU. Free, unlimited, private — your recordings never leave your computer.
- [Text to speech (Kokoro)](https://ai.hjlabs.in/text-to-speech): Generate natural speech from text with Kokoro-82M on your own GPU. Free offline TTS, multiple voices, no API key, no character limit.
- [Audio classification](https://ai.hjlabs.in/audio-classification): Classify sounds, music and spoken commands with AST or Wav2Vec2 in your browser. Free audio tagging on your own GPU, nothing uploaded.

## Vision models

- [Background removal](https://ai.hjlabs.in/remove-background): Erase photo backgrounds with RMBG-1.4 on your own GPU. Free, unlimited, no watermark, no upload — the image never leaves your browser.
- [Object detection](https://ai.hjlabs.in/object-detection): Detect and box objects in any image with DETR or YOLO running on your own GPU. Free browser object detection, no upload and no API key.
- [Zero-shot object detection](https://ai.hjlabs.in/zero-shot-object-detection): Find anything in an image by describing it in words. OWL-ViT zero-shot detection runs locally in your browser — no training, no upload.
- [Image classification](https://ai.hjlabs.in/image-classification): Classify any photo with ViT, ResNet-50 or MobileViT running on your GPU. Free image recognition in the browser, private and offline.
- [Zero-shot image classification](https://ai.hjlabs.in/zero-shot-image-classification): Score an image against labels you write yourself using CLIP or SigLIP in the browser. Free zero-shot classification, no training, no upload.
- [Image segmentation](https://ai.hjlabs.in/image-segmentation): Segment an image into labelled regions with SegFormer in the browser. Free semantic segmentation, fully local, nothing ever uploaded.
- [Depth estimation](https://ai.hjlabs.in/depth-estimation): Turn any photo into a depth map with Depth Anything V2 running in your browser via WebGPU. Free monocular depth estimation, fully private.
- [Image to 3D (point cloud)](https://ai.hjlabs.in/image-to-3d): Turn one photo into an orbitable 3D point cloud in your browser. Monocular depth estimation plus WebGL rendering — free, no upload, no signup.
- [Gaussian splat viewer](https://ai.hjlabs.in/gaussian-splatting): Open a 3D Gaussian splat in your browser and orbit it at 60 fps. Reads .PLY, .SPLAT, .SPZ and .KSPLAT with WebGL2. Free, private, nothing uploaded.
- [Image captioning](https://ai.hjlabs.in/image-captioning): Describe any image with ViT-GPT2 or DistilViT running on your own GPU. A free alt-text and caption generator, private, with no upload.
- [OCR (image to text)](https://ai.hjlabs.in/ocr): Extract text from images, screenshots and scans with an ONNX OCR model on your GPU. Free, unlimited, private — nothing is ever uploaded.

## Guides, comparisons & alternatives

- [Model catalog](https://ai.hjlabs.in/models): Every open model this playground can run in-browser: task, parameter count, download size, quantization and Hugging Face download counts.
- [WebGPU vs WASM](https://ai.hjlabs.in/compare/webgpu-vs-wasm): How much faster is WebGPU than WebAssembly for in-browser ML? Real numbers, memory limits, browser support and when WASM still wins.
- [Browser AI vs cloud API](https://ai.hjlabs.in/compare/browser-ai-vs-cloud-api): When does running a model in the browser beat calling OpenAI or Replicate? An honest comparison of cost, latency, quality and privacy.
- [Transformers.js vs WebLLM](https://ai.hjlabs.in/compare/transformers-js-vs-web-llm): Two ways to run models in a browser: transformers.js on ONNX Runtime Web, and WebLLM on MLC. How they differ and which fits your task.
- [Whisper model sizes](https://ai.hjlabs.in/compare/whisper-model-sizes): Which Whisper size should you run in-browser? Download size, speed, accuracy and language support for tiny, base, small and distil variants.
- [fp32 vs q8 vs q4](https://ai.hjlabs.in/compare/quantization-fp32-vs-q8-vs-q4): What quantization does to model size, speed and quality in the browser — and why fp16 and q4f16 fail on many WebGPU adapters.
- [Why no image generation](https://ai.hjlabs.in/why-no-image-generation): Stable Diffusion in a browser tab: what is actually possible in 2026, why transformers.js has zero text-to-image models, and what to use instead.
- [Free alternatives to paid AI tools](https://ai.hjlabs.in/alternatives): Background removal, transcription, embeddings and LLM chat you would normally pay an API or a subscription for — running locally in your browser instead.
- [remove.bg alternative](https://ai.hjlabs.in/alternatives/remove-bg): Cut backgrounds out of images with RMBG-1.4, MODNet or BiRefNet on your own GPU. No credits, no upload, no resolution cap on the result you get back.
- [Ollama alternative](https://ai.hjlabs.in/alternatives/ollama): Run a small language model in a browser tab instead of installing a local runtime. No CLI, no daemon, no GGUF pulls — and where Ollama still wins.
- [Open WebUI alternative](https://ai.hjlabs.in/alternatives/open-webui): Open WebUI needs a container and a backend to talk to. This is a chat UI with neither: the model runs in the tab. What you gain, and what you give up.
- [Whisper API alternative](https://ai.hjlabs.in/alternatives/openai-whisper-api): Transcribe audio with the same Whisper models the API serves, running on your own GPU. No per-minute billing, no file upload, no 25 MB request cap.
- [Embeddings API alternative](https://ai.hjlabs.in/alternatives/openai-embeddings-api): Generate sentence vectors with all-MiniLM, BGE or mxbai on your own GPU. No per-token bill, no key, no text leaving the machine — for search and RAG.
- [FAQ](https://ai.hjlabs.in/faq): Answers about running AI models in a browser: WebGPU support, download sizes, offline use, caching, privacy and what the hardware limits are.
- [About](https://ai.hjlabs.in/about): Who builds this, why it runs entirely client-side, which libraries and models it uses, and how the project is funded without charging you.

## Model catalog

Every model has its own page at `https://ai.hjlabs.in/models/<owner>/<name>` (lowercased Hugging Face repo id), listing its real download size, parameter count, available precisions and 30-day Hugging Face download count. All of them are in `https://ai.hjlabs.in/sitemap.xml`.

## Sister sites

- [hjLabs.in Home](https://hjlabs.in)
- [Favicon & OG Image Generator](https://og.hjlabs.in)
- [JSON & Developer Tools](https://fmt.hjlabs.in)
- [AI Image Enhancer](https://enhance.hjlabs.in)
- [DPDPA Privacy Policy Generator](https://compliance.hjlabs.in)
- [Image to C++ (Arduino)](https://pixel.hjlabs.in)
- [Developer Calculators](https://calc.hjlabs.in)
- [Time & Cron Tools](https://time.hjlabs.in)
- [SEO Tools](https://seo.hjlabs.in)
- [Schema Generator](https://schema.hjlabs.in)
- [Config Generators](https://devtools.hjlabs.in)
- [AI Web Tools](https://aitools.hjlabs.in)
- [AI/ML Services](https://hjlabs.in/AIML/)

## Optional

- [hjLabs.in](https://hjlabs.in): Parent brand and AI/ML consulting services.
- [GitHub](https://github.com/hemangjoshi37a): Open-source repositories behind these tools.
