⏱️ Built a small Space for Visual Chronometer / Pulse of Motion.
Upload a video and estimate its Physical FPS: the frame rate implied by visual motion, independent of metadata. Useful to inspect “chronometric hallucination” in generated videos: clips that look smooth, but move with the wrong physical time scale.
A few weeks ago, @victor opened the door: coding agents can now ship Hugging Face Spaces autonomously.
I pulled on that thread.
As someone who builds and ships Gradio demos regularly, I didn’t just want to reproduce the loop. I wanted to see what happens when that loop is plugged into the whole Hugging Face stack.
The interesting part is not only that an agent can ship a Space.
It’s what happens when Space generation becomes a first-class Hugging Face workflow.
New blog post! An introduction to a little-known but highly effective model reduction method: 𝗧𝗿𝗶𝗺𝗺𝗶𝗻𝗴✂️ We show how to reduce model size (we went up to 87.24% reduction) while preserving its performance.
We applied this technique to 16 different model families across several modalities to illustrate that it works on any architecture (as long as the embedding layer is the last one of the model) and on any modality involving text. From these 16 families, we generated over 𝟱,𝟱𝟬𝟬 𝗺𝗼𝗻𝗼𝗹𝗶𝗻𝗴𝘂𝗮𝗹 𝗺𝗼𝗱𝗲𝗹𝘀 𝗶𝗻 𝟭𝟮𝟰 𝗱𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁 𝗹𝗮𝗻𝗴𝘂𝗮𝗴𝗲𝘀 🌍
Key takeaways from our experiments: 1️⃣ Trimming does not require a GPU. Our models were obtained on a CPU. 2️⃣ This method scales up to at least 4B parameters (we did not test beyond that). 3️⃣ Trimmed model is smaller than the original while preserving its performance. If you observe a slight performance drop, just fine-tuned to recover or even surpass the original performance. 4️⃣ For an equivalent compute budget, it is better to trim then fine-tune rather than fine-tuning the original model. Since the model is smaller, you can run more epochs/show more data and get in fine a better model than the original. 5️⃣ Trimming is a competitive alternative to distillation and quantization. E.g. we obtained our alternative to DistilBERT in 9 minutes on CPU vs. 90 hours of GPU for the latter. 6️⃣ Trimming could generate reasoning traces in the language of the trimmed model. This could be an alternative to generating traces in English and then translating them into the desired language.
And many other things (such as how much data are needed, the impact of the database used, the order in which it should be done, etc.) are available in the blogpost!
A live community radio for AI-generated songs, powered by tracks created with ACE-Step.
You can tune in, discover community-made songs in many languages, vote on what sounds good, and mark your real favorites as Bangers.
The more people listen, vote, and create, the better the station gets.
Under the hood, it connects a few Hugging Face pieces together:
Spaces for the live app, HF buckets for community tracks, OAuth for signed-in listeners, server-side streaming with ffmpeg, hourly playlist refreshes, moderation, jingles, and community feedback loops.
It’s not just a playlist.
It’s a shared taste experiment: new songs get a shot every hour, and the community helps decide what deserves another spin.
Come listen. Find weird gems. Support the Bangers. Shape the radio.
Great technical guide by Nico Martin on the Hugging Face blog, showing how to use Transformers.js inside a Chrome extension and run ONNX models from the Hub locally with WebGPU inside a Manifest V3 extension.
The interesting part: this is not just a chatbot in a side panel.
The article walks through the architecture behind a browser agent that can read open tabs, query webpages, search history, and highlight elements directly on the page — with models downloaded from the Hugging Face Hub, cached under the extension origin, and executed locally instead of being called through a remote API for every prompt.
A strong blueprint for building local-first web copilots, reading assistants, and AI-powered browsing workflows.
The paper asks a simple but important question: what if the chatbot interface is not just a neutral wrapper around AI models, but part of the problem?
A chatbot can make a system feel more capable, more certain, and more “human” than it really is. That matters, because interfaces shape how we trust, use, and delegate to AI systems.
When everything becomes: ask → answer we can lose sight of the actual workflow: - parameters - alternatives - uncertainty - intermediate steps - failure modes - human control
For creative AI especially — image, video, editing, animation — I’m not sure “chat” should always be the default interface.
Sometimes we need a conversation. But often we need a canvas, a timeline, sliders, masks, previews, comparisons, and visible pipelines.
This is also why I find many open ML demos interesting: Spaces, Gradio apps, visual tools, small focused interfaces.
They often explore another direction — not just better assistants, but better tools. 🤗
PASD isn’t recent, but still delivers strong results — worth restoring rather than replacing.
Getting it to run again wasn’t a simple dependency issue. It relied on parts of diffusers that no longer exist, while moving to Gradio 6 forced a much newer HF stack — and I couldn’t modify the original source directly.
Recreating the old environment wasn’t practical. So I patched the downloaded code at runtime before import and made it compatible with today’s stack.
That ended up being the only approach that held without forking or freezing everything to outdated versions.
If you’ve used it before (or are curious), feel free to give it another try.
My TIGER app is now fully working again, with fixes and full compatibility with Gradio 6 🚀
It lets you: - 🎙️ Separate multiple speakers from an audio file - 🎬 Extract each speaker directly from a video - 🎧 Split audio into dialog, music, and sound effects (DnR) - 🎥 Apply DnR separation directly on videos
All powered by lightweight TIGER models for fast and efficient speech separation.
I’ve fixed the Space and brought it back to life: - ✅ Working again after being broken for a while - ✅ Updated to Gradio 6 - ✅ Compatible with ZeroGPU - ✅ Output videos now preserve original resolution and FPS
I also added advanced controls so you can experiment more (tracking, seed, motion, sketch).
I improved the public demo for TADA — a generative framework for speech modeling via text–acoustic dual alignment.
TADA models speech as a joint sequence of text tokens and acoustic tokens, using a transformer backbone to keep text and audio synchronized during generation.
The original demo already exposed these mechanisms, but the workflow made the pipeline hard to understand.
This updated demo makes the process clearer:
• load the model • prepare a reference voice (optionally with transcript or Whisper auto-transcription) • generate speech conditioned on that reference
It also adds multilingual support.
Presets are included for a few languages, but the model supports more: