SKILL.md file you upload to Claude (Desktop or Web). Skills are reusable instruction packs that Claude loads on demand: once the ZeroGPU Skill is installed, Claude recognizes when a request is a repeatable, high-volume inference task and follows ZeroGPU’s documented patterns instead of improvising. It teaches Claude the right endpoint, the real model catalog, the required authentication, and the rule never to invent results: every answer comes from an actual API call.
ZeroGPU is an ultra-fast, compute-efficient inference provider for apps and agents. We run purpose-built small and nano language models across an edge-powered network for the high-volume, purpose-specific tasks your app or agent runs constantly. Plug in our OpenAI-compatible API and you’re live - zero GPU infrastructure, serverless, auto-scaling by default.
Overview
This guide shows how to add the ZeroGPU Skill to Claude (Desktop or Web) and what changes once it’s active. The Skill doesn’t replace Claude; it steers Claude toward ZeroGPU for the well-defined tasks small models do best - classification, PII detection and redaction, entity and structured extraction, and summarization. With the Skill installed, Claude routes those tasks to the correct ZeroGPU model through the OpenAI-compatible API, requires your API key before running anything, and returns only output produced by a live API call. By the end you’ll know how to install it, the prompts that trigger it, and exactly how Claude behaves when it does.Video walkthrough
Quickstart
Prerequisites
- The Claude Desktop app, or access to Claude Web.
- A ZeroGPU API key.
- A model ID from the model catalog if you want to call a specific model by name.
Get your ZeroGPU API key
- Sign in to the ZeroGPU dashboard.
- Open API Keys and click Create key.
- Copy the key (starts with
zgpu-api-).
Install the Skill
First, download the Skill from https://zerogpu.ai/SKILL.md. Then follow whichever path matches how you use Claude.Claude Desktop
1
Open Claude Desktop
Launch the Claude Desktop app.
2
Go to Settings -> Skills
Open Settings -> Skills.
3
Upload the file
Add a new Skill and upload the
SKILL.md file you downloaded.Claude Web (file upload)
1
Open Claude Web
Go to claude.ai and start (or open) a conversation.
2
Attach SKILL.md
Click the attachment button and upload the
SKILL.md file you downloaded.3
Ask Claude to follow it
Tell Claude to follow the attached Skill, then make your request. Claude reads
SKILL.md from the conversation and applies ZeroGPU’s patterns.Your first request
With the Skill installed, ask Claude to do a task it recognizes:gliner-multi-pii-v1) through the OpenAI-compatible API. If your API key isn’t available yet, Claude asks for it first. Once authenticated, it makes the call and returns the model’s actual output:
12345 is not masked: only spans the model recognizes as PII are replaced.
Usage
The Skill activates whenever a prompt looks like a repeatable inference task. You don’t call a command; you describe what you want, and Claude picks the right ZeroGPU model. Two behaviors hold across every example below:- Claude requires your API key before executing. No inference runs until your ZeroGPU API key is available. If it’s missing, Claude pauses and asks for it rather than proceeding.
- Claude never fabricates results. Every result comes from a live API call to the real model. With the Skill active, Claude will not guess a classification, invent extracted fields, or mock a response before the call runs. If it can’t make the call, it tells you why instead of making something up.
Summarize a long passage
Condense a report, transcript, or thread without spending Claude tokens on the full read.- Model:
llama-3.1-8b-instruct-fast - Triggers on: “summarize this”, “give me the gist”, “TL;DR this passage.”
Classify against your own labels
Zero-shot classification against a candidate label list you supply in the prompt.- Model:
deberta-v3-small - Triggers on: “is this positive, negative, or neutral?”, “tag this as bug, feature, or question.”
gliner2-base-v1 and returns one chosen label per axis:
Classify ad-tech / contextual categories
Standard IAB content and audience taxonomy labels.- Model:
zlm-v1-iab-classify-edge(use the-enrichedvariant for topics, keywords, and intent) - Triggers on: “what IAB category is this?”, “tag this article for ad targeting.”
Classify a domain by name
Map a bare domain to IAB categories, topics, and intent without fetching the page - the input is just the hostname, which keeps the payload tiny for bidstream and contextual targeting.- Model:
zlm-v1-iab-domain-classifier - Triggers on: “what categories is this domain?”, “classify indeed.com for targeting.”
Moderate content for safety
Screen text for unsafe or policy-violating content and get OpenAI-style moderation signals back - useful as a lightweight safety layer in front of your app or another model. See the moderation benchmark for accuracy and latency results.- Model:
zlm-v1-moderation-edge - Triggers on: “moderate this”, “is this safe?”, “flag any harmful content.”
Detect PII
Find personally identifiable information and return it as structured data, without altering the source text.- Model:
gliner-multi-pii-v1 - Triggers on: “find all PII”, “what personal info is in this?”, “detect PII.”
[LABEL] placeholders, as shown in the Quickstart.
Extract named entities
Custom-label named-entity recognition: you name the entity types, the model finds the spans.- Model:
gliner2-base-v1 - Triggers on: “extract all people, organizations, and locations”, “find every product mention.”
Extract fields into JSON
Pull specific named fields out of free text into a structured object, defined by a schema Claude builds from your request.- Model:
gliner2-base-v1 - Triggers on: “extract the contact info as JSON”, “parse this into fields.”
Translate or reply conversationally
A compact instruct model for short conversational replies, translation, and intent detection - pass an optional system instruction to set its role.- Model:
LFM2.5-1.2B-Instruct - Triggers on: “translate this”, “write a short reply”, “draft an in-app message.”
Reason through a decision
A small reasoning model that thinks step by step before committing - useful for triage, routing, and multi-step decisions where you want to see the why, not just the answer.- Model:
LFM2.5-1.2B-Thinking - Triggers on: “triage this ticket”, “reason through this then decide”, “route this request.”
Patterns and recipes
Sanitize before Claude keeps raw input. Ask Claude to redact PII first when you don’t want personal data captured in the conversation transcript or forwarded downstream. The PII spans never need to stay in plain text. Cheap router in front of Claude. Use a zero-shot or structured classification to triage an incoming message (bug / feature / question, urgent / normal) and only escalate the hard cases to Claude’s own reasoning. The classifier call costs a fraction of a full Claude turn. Structured extraction over free-form parsing. For semi-structured text (signatures, invoices, contact blocks), prefer JSON extraction over asking Claude to “parse this into JSON.” It’s deterministic on the schema, faster, and cheaper.Task reference
Troubleshooting
Claude doesn’t route the task to ZeroGPU - the Skill activates on intent, so a request that reads like general chat may get answered directly. Add “with ZeroGPU” to the prompt, or confirm the Skill is installed and enabled (Claude Desktop: Settings -> Skills; Claude Web: re-attachSKILL.md and tell Claude to follow it).
Claude keeps asking for your API key - no inference runs until the key is available. In Claude Web there’s no settings store, so the key lives only in the current conversation; paste it again as its own message when Claude prompts. In Claude Desktop, re-add the Skill if the key didn’t persist across sessions.
“Invalid API key” or the call is rejected - the key must start with zgpu-api-. You’ve likely pasted a truncated key or a different credential; copy it again from the dashboard.
Network or “couldn’t reach the API” errors - the machine running Claude must be able to reach api.zerogpu.ai. Corporate proxies, VPNs, and firewalls are the usual blockers; allowlist the host or switch networks.
Claude references a model, parameter, or price that doesn’t exist - this shouldn’t happen with the Skill active, since it pins Claude to the real model catalog. If it does, the Skill probably isn’t loaded - re-download SKILL.md from zerogpu.ai/SKILL.md, re-upload it, and confirm Claude says it’s following it.
Claude picks the wrong model for a task - routing is driven by intent. Phrase the request with the task verb (“summarize”, “redact PII”, “classify by sentiment and topic”, “moderate this”) or name the model from the model catalog directly.
Empty or low-confidence results - very short inputs (a word or two) score low across the board. Give the model more context, and check that the source-text language matches your labels - most label sets are English-tuned.
Rate limited, or a 429 / 5xx error - back off and retry after a short delay. For bulk or offline workloads, move the job to the Batch API, which has separate quotas tuned for high-volume processing.
Conclusion
The ZeroGPU Skill turns Claude into a smart router for the repeatable work small models do best - classification, IAB and domain tagging, PII detection and redaction, entity and JSON extraction, summarization, moderation, and lightweight reasoning - so Claude’s own reasoning is spent only where it’s needed and every result comes from a real API call. Install it once, keep your API key handy, and describe the task in plain language. For anything beyond interactive use, read your key from environment variables or a secrets manager rather than pasting it into a chat - see Production patterns.Model Catalog
Browse every model the Skill routes to and pick the best fit.
API Reference
Explore the full OpenAI-compatible API surface.
Cookbook
Worked examples for classification, extraction, and batch jobs.
Join Discord
Ask questions and share what you’re building.

