Qwen Image 2.1 on two RTX 3090s: from a private Studio to ZeroGPU
How I tested Qwen Image 2.1 on two RTX 3090s, built a private Gradio Studio behind Tailscale and ported it to Hugging Face ZeroGPU. Results, decisions and limits.
maximofn.com exposes a read-only public API with the index of its content (blog articles, projects and tips). It requires no authentication and is designed for AI agents, crawlers and developers who want to discover the site's content in a machine-readable way.
GET /api/v1/content.json — full content index (es / en / pt-br). Versioned route: pin this one.GET /api/content.json — unversioned alias, always follows the latest.
Routes under /api/{version}/ keep their shape: existing fields
are never removed or retyped, only new ones are added. A breaking change ships as a
new version and the previous one keeps working. So for a stable integration, point at
/api/v1/content.json rather than the unversioned alias.
Deprecation policy: when a new version ships, the previous one keeps being
served unchanged for at least 12 months. During that period its responses
carry Deprecation and Sunset headers with the retirement date, and
the versions.deprecation field in the JSON announces the successor. After that
date the retired route answers 410 Gone with a JSON body pointing at the current
version.
/openapi.json) — machine-readable documentation./.well-known/ai-plugin.json — manifest for AI agents./llms.txt — navigation guide for LLMs./mcp — MCP (Model Context Protocol) server with the tools list_content, search_content and content_stats.GET requests).application/json), with URLs in es / en / pt-br.{
"site": "https://www.maximofn.com",
"name": "MaximoFN",
"languages": ["es", "en", "pt-br"],
"counts": { "posts": 78, "projects": 11, "tips": 13, "total": 102 },
"content": [
{
"type": "post",
"title": "QLoRA Explained: NF4 Quantization...",
"description": "...",
"url": "https://www.maximofn.com/qlora",
"url_en": "https://www.maximofn.com/en/qlora",
"url_pt": "https://www.maximofn.com/pt-br/qlora",
"image": "https://images.maximofn.com/QLoRA_thumbnail_ES.webp"
}
]
} No authentication required: a single GET request returns the whole index.
# curl
curl https://www.maximofn.com/api/content.json # Python
import httpx
data = httpx.get("https://www.maximofn.com/api/content.json").json()
posts = [c for c in data["content"] if c["type"] == "post"]
print(len(posts), "posts") // JavaScript
const res = await fetch("https://www.maximofn.com/api/content.json");
const data = await res.json();
console.log(data.counts); The content is owned by MaximoFN; its use is allowed for discovery and indexing.
How I tested Qwen Image 2.1 on two RTX 3090s, built a private Gradio Studio behind Tailscale and ported it to Hugging Face ZeroGPU. Results, decisions and limits.
Learn to decide which tools can run together, limit active operations and match each result to its request, with example...
How to communicate tool errors to a model, allow useful recovery and prevent duplicate saves. Contracts, the tool cycle,...
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
AI agents, powered by LLMs, promise to transform applications. But are they simple executors today or future intelligent collaborators? To reach their...
Learn to create an IA system to execute efficiently on a device
Hugging Face spaces allow us to run models with very simple demos, but what if the demo breaks? Or if the user deletes it? That's why I've created docker containers with some interesting spaces, to be able to use them locally, whatever happens. In fact, if you click on any project view button, it may take you to a space that doesn't work.
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
Dataset with jokes in English
Use: Fine-tuning text generation models for humor
Dataset with translations from English to Spanish
Use: Training English-Spanish translation models
Dataset with Netflix movies and series
Use: Netflix catalog analysis and recommendation systems