Spaces:
Running
Running
metadata
title: IG Comment Gen
emoji: 💬
colorFrom: indigo
colorTo: pink
sdk: docker
app_port: 7860
pinned: false
license: mit
short_description: AI-generated Instagram comments (Italian, fitness niche)
IG Comment Gen
Space che genera un singolo commento breve e naturale per un post Instagram, dato:
captiondel postmedia_type(photo/video/reel/carousel/igtv)target_username(opzionale, per personalizzare)hint(opzionale, contesto di tono/nicchia)language(default: Italian)
Chiamato da instagram-bot-custom (GramAddict) come sostituto della vecchia integrazione Gemini in ai_comment.py.
Backend
Usa Groq API direttamente (api.groq.com/openai/v1, OpenAI-compat) con cascata modelli:
llama-3.3-70b-versatile— primary, qualità top, ~300-500msllama-3.1-8b-instant— fallback: velocissimo, per rate-limit del 70Bgemma2-9b-it— fallback 2, alternativa se Llama è giù
Free tier Groq: 14,400 richieste/giorno su Llama 3.3 70B, largamente sufficiente per un bot IG a 60-90 commenti/giorno.
Se tutti falliscono, l'endpoint risponde { "comment": null } e il bot ricade sul suo comments_list.txt.
Secrets richiesti (HF Space Settings → Repository secrets)
| Nome | Obbligatorio | Descrizione |
|---|---|---|
GROQ_API_KEY |
✅ | Groq API key (free tier). Crea su https://console.groq.com/keys. |
SPACE_API_KEY |
❌ | Se settato, l'endpoint /api/generate richiede header Authorization: Bearer <SPACE_API_KEY>. Senza, l'endpoint è aperto (comodo per test iniziale). |
API
POST /api/generate
{
"caption": "3 anni di allenamento continuo, ecco i risultati...",
"media_type": "reel",
"target_username": "il.pump.quotidiano",
"hint": "coach fitness, tono cameratesco",
"language": "Italian"
}
Response:
{
"comment": "3 anni di costanza si vedono tutti in questo confronto",
"model_used": "openai/gpt-oss-120b:fastest",
"latency_ms": 612,
"attempts": 1
}
Errori (400/401/503): { "comment": null, "error": "..." }.
Uso locale (test)
export HF_TOKEN=hf_xxx
pip install -r requirements.txt
python app.py
# UI Gradio su http://localhost:7860, API su http://localhost:7860/api/generate
Regole del prompt
14 regole assertive che replicano lo stile che serve al bot (no emoji, no #, no !, no first-person, no complimenti generici). Vedi app.py → _build_prompt.