One API key. One billing dashboard. Image gen + 15 tools for Hermes Agent.
Replace the Nous Research Tool Gateway with NanoGPT-backed services. All generative AI billing consolidated to your NanoGPT account — no more juggling FAL keys, Firecrawl subscriptions, or separate social media API accounts.
hermes plugins install jcrabapple/hermes-nanogptThen set your API key:
echo 'NANOGPT_API_KEY=sk-nano-your-key-here' >> ~/.hermes/.env
hermes plugins enable nanogpt
hermes gateway restartGet an API key at nano-gpt.com/api.
Uses NanoGPT's OpenAI-compatible /v1/images/generations endpoint. Set as your default image gen provider:
hermes config set image_gen.provider nanogpt
hermes config set image_gen.model flux-2-klein-9b| Model | Speed | Strengths |
|---|---|---|
flux-2-klein-9b |
~5s | Fast, great default |
flux-pro |
~10s | Higher fidelity |
recraft-v4-pro |
~15s | Vector-style, graphic design |
ideogram-v3 |
~8s | Prompt adherence + typography |
gpt-image-1 |
~10s | OpenAI quality |
dall-e-3 |
~15s | High-quality, creative |
hidream |
~12s | High-res details |
bagel |
~10s | Text-to-image + image-to-image |
sd-arlimix-v1 |
~8s | Artistic transformations |
Override per-generation with the model parameter, or set NANOGPT_IMAGE_MODEL env var or image_gen.nanogpt.model in config.
All tools are auto-discovered by Hermes. Just describe the task naturally — the agent picks the right tool.
| Tool | Endpoint | What It Does | Example Prompt |
|---|---|---|---|
nanogpt_web_search |
/api/web (Linkup) |
Web search with standard/deep modes | "Search the web for latest AI news" |
nanogpt_web_extract |
/api/scrape-urls (Firecrawl) |
Extract clean page content | "Get the content of this article" |
nanogpt_web_crawl |
/api/v1/firecrawl |
Map, scrape, or crawl sites | "Map all URLs on example.com" |
nanogpt_youtube_transcribe |
/api/youtube-transcribe |
Get video transcripts | "Get the transcript of this YouTube video" |
nanogpt_translate |
Chat completion | AI translation (100+ languages) | "Translate this to Spanish" |
nanogpt_x_search |
/api/v1/x/search |
Search X/Twitter posts (7 days) | "Search X for posts about Hermes" |
nanogpt_x_user |
/api/v1/x/user |
Get user timeline | "Get recent posts from @karpathy" |
nanogpt_instagram_scraper |
/api/v1/instagram/posts |
Instagram profiles/posts | "Get my latest Instagram posts" |
nanogpt_tiktok_scraper |
/api/v1/tiktok |
TikTok hashtag/profile/search | "Find TikTok videos about AI" |
nanogpt_reddit_scraper |
/api/v1/reddit |
Reddit posts/comments | "Find Reddit posts about hermes agent" |
nanogpt_google_maps |
/api/v1/googlemaps |
Search places | "Find coffee shops in Austin" |
nanogpt_google_maps_reviews |
/api/v1/googlemaps/reviews |
Scrape place reviews | "Get reviews for this restaurant" |
nanogpt_stt |
/api/transcribe |
Speech-to-text (Whisper, etc.) | "Transcribe this audio file" |
nanogpt_tts |
/api/tts |
Text-to-speech (Kokoro, OpenAI, Elevenlabs) | "Read this text aloud" |
nanogpt_check_balance |
/api/balance |
Check account balance | "Check my NanoGPT balance" |
# ~/.hermes/config.yaml
plugins:
enabled:
- nanogpt
image_gen:
provider: nanogpt
use_gateway: falseTo go fully NanoGPT and remove all Nous Gateway dependencies:
# ~/.hermes/config.yaml
plugins:
enabled:
- nanogpt
image_gen:
provider: nanogpt
use_gateway: false
web:
use_gateway: false # Native web tools stay on Exa/Tavily/etc.
browser:
use_gateway: false
cloud_provider: local
tts:
provider: openai # Routes through NanoGPT via OPENAI_BASE_URL
use_gateway: false# ~/.hermes/.env
NANOGPT_API_KEY=sk-nano-...
OPENAI_BASE_URL=https://nano-gpt.com/api/v1
VOICE_TOOLS_OPENAI_KEY=sk-nano-...Note: The native Hermes
web_search/web_extracttools don't support NanoGPT as a backend. They use whatever backend you have configured (Exa, Tavily, Parallel, etc.). The dedicatednanogpt_web_search/nanogpt_web_extracttools route through NanoGPT. Both can coexist.
All prices in USD, billed through NanoGPT.
| Service | Cost |
|---|---|
| Image gen (flux-2-klein) | ~$0.002/image |
| Image gen (flux-pro) | ~$0.01/image |
| Image gen (dall-e-3) | ~$0.05/image |
| Web search (standard) | $0.006/search |
| Web search (deep) | $0.06/search |
| Web extract (Firecrawl) | $0.001/URL |
| YouTube transcript | $0.01/video |
| TTS (Kokoro-82m) | $0.001/1k chars |
| TTS (gpt-4o-mini-tts) | $0.0006/1k chars |
| STT (Whisper Large V3) | ~$0.0005/min |
| Translation | ~$0.001/request |
hermes-nanogpt/
├── plugin.yaml # Hermes plugin manifest
├── __init__.py # register() — wires image gen + tools
├── image_gen.py # NanoGPTImageGenProvider (9 models)
├── tools.py # 15 tool implementations + JSON schemas
├── after-install.md # Shown by `hermes plugins install`
├── .env.example # Template env vars
└── README.md # This file
- Hermes Agent (any recent version that supports the plugin system)
NANOGPT_API_KEYenvironment variablerequests(Hermes dependency — already installed)
git clone https://github.com/jcrabapple/hermes-nanogpt.git
cd hermes-nanogpt
# Symlink to your plugins dir for local development:
ln -sf $PWD ~/.hermes/plugins/hermes-nanogpt
# Add to plugins.enabled in config.yaml, restart gatewayMIT