opencode-pollinations-plugin 6.2.7 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.de.md +9 -1
  2. package/README.es.md +9 -1
  3. package/README.fr.md +9 -1
  4. package/README.it.md +9 -1
  5. package/README.md +35 -16
  6. package/README.zh.md +9 -1
  7. package/dist/index.js +11 -7
  8. package/dist/locales/de.json +97 -7
  9. package/dist/locales/en.json +97 -7
  10. package/dist/locales/es.json +97 -7
  11. package/dist/locales/fr.json +97 -7
  12. package/dist/locales/index.js +3 -1
  13. package/dist/locales/it.json +97 -7
  14. package/dist/locales/zh.json +463 -0
  15. package/dist/server/commands.d.ts +8 -0
  16. package/dist/server/commands.js +272 -14
  17. package/dist/server/connect-response.js +1 -1
  18. package/dist/server/generate-config.js +4 -6
  19. package/dist/server/models/cache.js +1 -1
  20. package/dist/server/models/fetcher.js +24 -2
  21. package/dist/server/quota.js +29 -8
  22. package/dist/server/tier-info.d.ts +9 -4
  23. package/dist/server/tier-info.js +29 -18
  24. package/dist/tools/index.d.ts +2 -1
  25. package/dist/tools/index.js +14 -1
  26. package/dist/tools/pollinations/beta_discovery.d.ts +11 -4
  27. package/dist/tools/pollinations/beta_discovery.js +288 -136
  28. package/dist/tools/pollinations/gen_edit_image_free.d.ts +14 -0
  29. package/dist/tools/pollinations/gen_edit_image_free.js +146 -0
  30. package/dist/tools/pollinations/gen_video.js +2 -2
  31. package/dist/tools/pollinations/gen_video_free.d.ts +19 -0
  32. package/dist/tools/pollinations/gen_video_free.js +246 -0
  33. package/dist/tools/pollinations/polli_config.js +1 -1
  34. package/dist/tools/pollinations/polli_login.d.ts +13 -0
  35. package/dist/tools/pollinations/polli_login.js +30 -0
  36. package/dist/tools/pollinations/polli_quests.d.ts +3 -0
  37. package/dist/tools/pollinations/polli_quests.js +135 -0
  38. package/package.json +2 -2
  39. package/dist/server/index.d.ts +0 -2
  40. package/dist/server/index.js +0 -158
  41. package/dist/server/scripts/test_cost_endpoints.d.ts +0 -1
  42. package/dist/server/scripts/test_cost_endpoints.js +0 -61
  43. package/dist/server/scripts/test_dynamic_pricing.d.ts +0 -1
  44. package/dist/server/scripts/test_dynamic_pricing.js +0 -39
  45. package/dist/server/scripts/test_freetier_audit.d.ts +0 -11
  46. package/dist/server/scripts/test_freetier_audit.js +0 -215
  47. package/dist/server/scripts/test_parallel_cost.d.ts +0 -1
  48. package/dist/server/scripts/test_parallel_cost.js +0 -104
  49. package/dist/tools/pollinations/deepsearch.d.ts +0 -7
  50. package/dist/tools/pollinations/deepsearch.js +0 -80
  51. package/dist/tools/pollinations/search_crawl_scrape.d.ts +0 -7
  52. package/dist/tools/pollinations/search_crawl_scrape.js +0 -85
  53. package/dist/tools/pollinations/test_estimators.d.ts +0 -1
  54. package/dist/tools/pollinations/test_estimators.js +0 -22
@@ -5,7 +5,7 @@
5
5
  "alias_note": "*(¡Se recomienda usar el alias `/poll` en lugar de `/pollinations`!)*",
6
6
  "mode_usage": "**Modo y Uso**\n- **`/poll mode [modo]`**: Cambiar modo (manual, alwaysfree, pro).\n- **`/poll usage [full]`**: Mostrar panel (full = detalles).\n- **`/poll fallback <main> [agente]`**: Configurar red de seguridad.",
7
7
  "configuration": "**Configuración**\n- **`/poll config [clave] [valor]`**:\n - `lang`: en, fr, es, de, it, etc.\n - `status_gui`: none, alert, all\n - `logs_gui`: none, error, verbose\n - `threshold_tier` / `threshold_wallet`: 0-100\n - `status_bar`: true/false\n - `cost_estimator`: true/false (mostrar costo en salidas)\n - `enablePaidTools`: true/false (protección de billetera)\n - `costThreshold`: límite en pollen (por defecto: 0.15)\n - `costConfirmationRequired`: true/false (confirmar gasto)",
8
- "models_pricing": "**Modelos y Precios**\n- **`/poll models [tipo]`**: Listar modelos (tipo: image, video, audio, text)\n- **`/poll pricing`**: Tabla de precios detallada\n- **`/poll infos`**: Explicaciones sobre niveles y Pollen\n\n> 💡 **Claves RMBG**: Usa la herramienta `rmbg_keys` (funciona con cualquier modelo)."
8
+ "models_pricing": "**Modelos y Precios**\n- **`/poll models [tipo]`**: Listar modelos (tipo: image, video, audio, text)\n- **`/poll pricing`**: Tabla de precios detallada\n- **`/poll infos`**: Explicaciones sobre niveles y Pollen\n- **`/poll quests`**: Ver tus misiones y el Pollen gratis por reclamar\n\n> 💡 **Claves RMBG**: Usa la herramienta `rmbg_keys` (funciona con cualquier modelo)."
9
9
  },
10
10
  "config": {
11
11
  "title": "## ⚙️ Configuración de Pollinations (v{version})",
@@ -53,7 +53,7 @@
53
53
  "tier": "- **Nivel:** {emoji} {tier} (Límite: {limit} 🌻)\n",
54
54
  "quota": "- **Período:** {remaining} gastado / {limit} total\n",
55
55
  "usage_bar": "- **Uso:** {bar}\n",
56
- "wallet": "- **Billetera:** {balance} 🌻 restantes\n\n",
56
+ "wallet": "- **Saldo (Pagado + Misiones):** {balance} 🌻\n\n",
57
57
  "reset": "### 🕒 Tiempo de recarga\n- **Próximo reinicio:** {date} (en {duration})\n\n",
58
58
  "restricted_key": "⚠️ Clave API restringida. Detalles no disponibles.\n",
59
59
  "period_detail": "### 📈 Detalle del período (desde {time})\n",
@@ -62,7 +62,9 @@
62
62
  "table_head2": "|--------|--------|-------|--------|\n",
63
63
  "no_history": "*Sin actividad en el período actual.*\n",
64
64
  "full_requires_key": "⚠️ `/poll usage full` requiere una clave API conectada.\n",
65
- "hint_full": "💡 Usa `/poll usage full` para ver detalles (requiere clave)."
65
+ "hint_full": "💡 Usa `/poll usage full` para ver detalles (requiere clave).",
66
+ "source_split": "- **Consumido este período:** 🎁 Misiones {tier} · 💎 Pagado {pack}\n",
67
+ "split": "- **Saldo:** {total} 🌻 · 🎁 Misiones ~{quest} · 💎 Pagado ~{paid}\n\n"
66
68
  },
67
69
  "fallback": {
68
70
  "current": "Current fallbacks:\n- {free}\n- {enter}",
@@ -102,20 +104,34 @@
102
104
  "features_free": "**🛠️ Herramientas gratuitas integradas (Siempre Disponibles):**\n- `gen_qrcode` / `gen_diagram` / `gen_palette` : Visuales y utilidades.\n- `remove_background` : Eliminación de fondo nativa.\n- `extract_frames` / `extract_audio` : Extracción rápida de medios.\n- `file_to_url` : Alojamiento instantáneo de archivos locales.",
103
105
  "features_pro": "**💎 Herramientas Pollinations (Premium - Automatizado con Clave):**\n- `polli_gen_image` : Gen de imágenes (Flux, Gemini) + Image-to-Image.\n- `polli_gen_video` : Text-to-video / Image-to-video (Veo, Wan...).\n- `polli_gen_audio`/`polli_stt` : Whisper STT, ElevenLabs TTS.\n- `polli_gen_music` : Motor de música generativa.\n- `polli_web_search` : Búsqueda web contectada.",
104
106
  "features_config": "- **Configuración granular**, gestión de modos y tokens, protección de costos...",
105
- "tiers_title": "> **Tus niveles:** {emoji} {tier}",
107
+ "tiers_title": "> **Tu nivel:** {emoji} {tier}",
106
108
  "about": "## 🌍 ¿Qué es pollinations.ai?\npollinations.ai es una plataforma de IA de código abierto creada por y para la comunidad. Ofrecemos una API unificada para Imagen, Texto, Audio y Video. Todo es abierto: nuestro código, roadmap, conversaciones. ¡Únete a nosotros!\n\nSin cajas negras. Sin bloqueos. Solo una API amigable y un Discord lleno de gente dispuesta a ayudar.",
107
- "levels_title": "## 📈 Mejora tu Nivel",
109
+ "levels_title": "## 📈 Niveles y Pollen por Hora",
108
110
  "levels_list": "Para desarrolladores que crean con pollinations.ai. Sube de nivel para ganar más Pollen.\n\n- 🦠 **Microbe** (0.1 pollen/día) : Regístrate\n- 🍄 **Spore** (1 pollen/día) : Verificación automática\n- 🌱 **Seed** (3 pollen/día) : 8+ puntos dev\n- 🌸 **Flower** (10 pollen/día) : Publicar una app\n- 🍯 **Nectar** (20 pollen/día) : Próximamente 🔮",
109
111
  "beta_note": "✨ *¡Estamos en beta! Aprendiendo qué funciona mejor para nuestra comunidad.*",
110
112
  "pollen_title": "## 💎 ¿Qué es el Pollen?",
111
113
  "pollen_get": "Ejecutar modelos de IA cuesta dinero. El Pollen es nuestra forma de mantener los servidores funcionando sin anuncios ni vendiendo datos. Un crédito simple para todos los modelos — predecible y transparente.\n\n**$1 ≈ 1 Pollen**. Se gasta en llamadas API.",
112
- "pollen_spend": "## 🛒 ¿Cómo conseguir Pollen?\nPuedes agregar Pollen participando en la comunidad o comprándolo directamente en el panel principal."
114
+ "pollen_spend": "## 🛒 ¿Cómo conseguir Pollen?\nPuedes agregar Pollen participando en la comunidad o comprándolo directamente en el panel principal.",
115
+ "quests": "## 🎯 Misiones — Gana Pollen gratis\nAhora el Pollen se gana principalmente completando **Misiones**. Buenas noticias: usar este plugin (modelos de texto, imagen y audio) completa varias misiones **retroactivamente** — ¡quizás ya tengas Pollen gratis esperando!\n\n👉 Revisa y reclama tus recompensas en el [panel](https://enter.pollinations.ai). _Reclamar solo se hace en el panel._\n\n> 💡 El Pollen de misión funciona en todos los modelos estándar. Los modelos 💎 de pago requieren Pollen comprado.",
116
+ "hourly_note": "> ⚠️ Las cuotas son **por hora** (recarga a las :00). La cifra diaria es una estimación (~24h × tasa horaria)."
113
117
  },
114
118
  "pricing_units": {
115
119
  "tokens": "~tokens",
116
120
  "img": "🌻/img",
117
121
  "s": "🌻/s",
118
122
  "tok": "🌻/tok"
123
+ },
124
+ "login": {
125
+ "prompt": "## 🔐 Inicio rápido (Device Flow)\n\n**1.** Abre: **{uri_complete}**\n_(o ve a {uri} e ingresa el código de abajo)_\n\n**2.** Tu código: **`{code}`**\n\n**3.** Inicia sesión con GitHub, luego en el formulario de consentimiento:\n • ✅ Mantén **Profile** + **Usage** concedidos (necesarios para cuota, misiones y always-free)\n • 💡 Para una **clave ilimitada**: vacía el campo **Budget** (→ Ilimitado) y el campo **Expiry** (→ Nunca)\n • Haz clic en **Authorize**\n\nEl plugin espera y se conecta **automáticamente** al aprobar (un aviso confirma ✅).\n\n💡 _¿Prefieres una clave creada manualmente? Usa `/poll connect sk_...`._",
126
+ "already_running": "⏳ Ya hay un inicio de sesión en curso. Termina de autorizar en tu navegador, o espera un momento.",
127
+ "code_error": "❌ No se pudo iniciar sesión: {error}\n💡 Aún puedes usar `/poll connect sk_...` manualmente.",
128
+ "expired": "⏱️ Código de inicio caducado. Ejecuta /poll login de nuevo.",
129
+ "success_toast": "✅ ¡Conectado mediante device login! Modelos Pro desbloqueados.",
130
+ "validate_error": "❌ Falló la validación de la clave: {error}",
131
+ "nothing_pending": "ℹ️ No hay inicio de sesión en curso. Ejecuta primero polli_login (sin wait) para obtener un código.",
132
+ "opened": "🌐 Abriendo tu navegador para autorizar…",
133
+ "still_waiting": "⏳ Esperando tu autorización en el navegador. Una vez aprobada, vuelve a llamar polli_login con wait:true para confirmar.",
134
+ "success_limited": "⚠️ Conectado, pero tu clave parece limitada (no concediste Profile/Usage). La visualización de cuota, el respaldo always-free y el control de billetera podrían no funcionar. Vuelve a iniciar sesión concediendo Profile + Usage, o usa una clave completa."
119
135
  }
120
136
  },
121
137
  "proxy": {
@@ -350,6 +366,70 @@
350
366
  "err_auth": "❌ Clave API inválida.",
351
367
  "err_large": "❌ Audio demasiado grande.",
352
368
  "err_stt": "❌ Error transcripción: {error}"
369
+ },
370
+ "polli_quests": {
371
+ "desc": "Lista tus Misiones de Pollinations y muestra cuánto Pollen gratis puedes reclamar. Solo lectura. Completar misiones (incluso solo usando este plugin) gana Pollen; reclamar se hace en el panel.",
372
+ "arg_filter": "Filtro: 'all' (predeterminado), 'available' (misiones abiertas) o 'claimable' (ganadas pero no reclamadas).",
373
+ "no_key": "🔑 No hay clave API configurada. Usa primero `/poll connect <clave>`.",
374
+ "error": "⚠️ No se pudieron obtener las misiones: {error}",
375
+ "empty": "No se encontraron misiones para esta cuenta.",
376
+ "title": "## 🎯 Misiones de Pollinations",
377
+ "claimable": "> 🎁 **¡Tienes {count} recompensa(s) = {pollen} 🌻 esperando ser reclamadas!**",
378
+ "none_claimable": "✅ Nada que reclamar ahora. ¡Sigue usando el plugin para ganar más!",
379
+ "claim_hint": "👉 Reclama tus recompensas en el [panel](https://enter.pollinations.ai) (reclamar solo en el panel).",
380
+ "legend": "_Leyenda: 🎁 por reclamar · ✅ reclamada · ✔️ completada · 🔜 próximamente · ⬜ abierta_"
381
+ },
382
+ "gen_edit_image_free": {
383
+ "desc": "🆓 BONUS — Generación y edición de imágenes siempre gratis. No requiere clave Pollinations, funciona con cualquier modelo. Genera desde un prompt, o EDITA 1-3 imágenes pasándolas en `images`. Mediante un playground público desde tu propia IP: ~20 solicitudes gratis/día (generación y edición COMPARTEN el mismo contador diario). Superada la cuota, usa `polli_gen_image` (Pollinations).",
384
+ "arg_prompt": "Descripción de la imagen a generar, o la instrucción de edición al editar.",
385
+ "arg_images": "Opcional. 1 a 3 imágenes para EDITAR (ruta local, URL http(s) o data: URI). Si se proporciona, cambia a modo edición.",
386
+ "arg_aspect": "Relación de aspecto para generar (16:9 por defecto, 1:1, 9:16). Ignorado al editar.",
387
+ "arg_save_to": "Directorio de salida o ruta de archivo completa.",
388
+ "arg_filename": "Nombre de archivo personalizado (sin extensión).",
389
+ "too_many_images": "❌ El modo edición acepta de 1 a 3 imágenes como máximo.",
390
+ "quota_exhausted": "🆓 Cuota gratuita diaria alcanzada ({max}/día para esta IP, gen+edición compartidos). Se reinicia cada 24h.\n💡 Mientras tanto, usa `polli_gen_image` con tu clave Pollinations.",
391
+ "working": "{mode} gratuita en curso…",
392
+ "failed": "Imagen gratuita fallida: {error}",
393
+ "api_error": "⚠️ El servicio de imagen gratuito devolvió un error: {error}\n💡 Inténtalo de nuevo, o usa `polli_gen_image` (Pollinations).",
394
+ "res_title_gen": "🆓 Imagen Gratuita Generada",
395
+ "res_title_edit": "🆓 Imagen Gratuita Editada",
396
+ "res_prompt": "Prompt: {prompt}",
397
+ "res_file": "Archivo: {path}",
398
+ "res_size": "Tamaño: {size}",
399
+ "res_quota": "Cuota gratuita restante hoy: {remaining}/{max} (gen+edición compartidos, por IP)",
400
+ "res_note": "_🆓 Herramienta bonus — gratis, fuera de la economía Pollinations. Resolución 1344×768. Superada la cuota, usa `polli_gen_image`._",
401
+ "success": "{mode} gratuita lista ✓",
402
+ "degraded": "⚠️ Servicio de imagen gratuito no disponible ({error}).\n💡 Alternativa: usa `polli_gen_image` / `polli_gen_video` con tu clave Pollinations."
403
+ },
404
+ "gen_video_free": {
405
+ "desc": "🆓 BONUS — Generación de vídeo siempre gratis. No requiere clave Pollinations, funciona con cualquier modelo. Texto-a-vídeo, con `image` de primer fotograma OPCIONAL y `audio` OPCIONAL para unir. Mediante un playground público de Pruna desde tu propia IP: ~5 vídeos gratis/día (separado de la cuota de imagen). Generación asíncrona (puede tardar 1-3 min). Superada la cuota, usa `polli_gen_video` (Pollinations).",
406
+ "arg_prompt": "Descripción del vídeo (movimiento, cámara, escena, indicaciones de audio).",
407
+ "arg_image": "Opcional. Imagen de primer fotograma / referencia (ruta local, URL http(s) o data: URI).",
408
+ "arg_audio": "Opcional. Pista de audio para unir (ruta local, URL http(s) o data: URI).",
409
+ "arg_duration": "Duración en segundos (predeterminado: 5, máx: 10).",
410
+ "arg_aspect": "Relación de aspecto (16:9 por defecto, 9:16, 1:1).",
411
+ "arg_resolution": "Resolución (480p, 720p por defecto, 1080p).",
412
+ "arg_save_to": "Directorio de salida o ruta de archivo completa.",
413
+ "arg_filename": "Nombre de archivo personalizado (sin extensión).",
414
+ "quota_exhausted": "🆓 Cuota diaria gratuita de vídeo alcanzada ({max}/día para esta IP). Se reinicia cada 24h.\n💡 Mientras tanto, usa `polli_gen_video` con tu clave Pollinations.",
415
+ "working": "Generación de vídeo gratuita iniciada (asíncrona, 1-3 min)…",
416
+ "failed": "Vídeo gratuito fallido: {error}",
417
+ "api_error": "⚠️ El servicio de vídeo gratuito devolvió un error: {error}\n💡 Inténtalo de nuevo, o usa `polli_gen_video` (Pollinations).",
418
+ "res_title": "🆓 Vídeo Gratuito Generado",
419
+ "res_prompt": "Prompt: {prompt}",
420
+ "res_params": "Params: {duration}s · {resolution} · {aspect}",
421
+ "res_image": "Imagen: ✅ usada como referencia",
422
+ "res_audio": "Audio: ✅ unido",
423
+ "res_file": "Archivo: {path}",
424
+ "res_size": "Tamaño: {size}",
425
+ "res_quota": "Cuota gratuita restante hoy: {remaining}/{max} (vídeos, por IP)",
426
+ "res_note": "_🆓 Herramienta bonus — gratis, fuera de la economía Pollinations. Superada la cuota, usa `polli_gen_video`._",
427
+ "success": "Vídeo gratuito listo ✓",
428
+ "degraded": "⚠️ Servicio de vídeo gratuito no disponible ({error}).\n💡 Alternativa: usa `polli_gen_video` con tu clave Pollinations."
429
+ },
430
+ "polli_login": {
431
+ "desc": "🔐 Inicia un acceso rápido a Pollinations (device flow) para el usuario. Muestra un código corto + URL; el usuario inicia sesión con GitHub en su navegador, y el plugin se conecta AUTOMÁTICAMENTE tras aprobar (un aviso confirma). No se necesita clave API para ejecutarlo. Úsalo cuando el usuario quiera conectar su cuenta de Pollinations fácilmente, sin copiar y pegar una clave. Para una clave permanente, dile que use `/poll connect sk_...`.",
432
+ "arg_wait": "Si es true, espera a que termine un inicio de sesión en curso y devuelve el resultado final (✅ conectado / caducado). Llama primero sin wait para mostrar el código, luego de nuevo con wait:true tras pedir al usuario que autorice."
353
433
  }
354
434
  },
355
435
  "connect_response": {
@@ -359,7 +439,7 @@
359
439
  "resources": "### 📚 Recursos\n* **Sitio Web:** [pollinations.ai](https://pollinations.ai)\n* **Discord:** [Únete a la comunidad](https://discord.gg/8HqSRhJVmK)\n* **Recargar saldo:** [Comprar Pollen](https://pollinations.ai/topup)",
360
440
  "free_models_success": "Modelos gratuitos disponibles: {models}",
361
441
  "free_models_error": "⚠️ No se pudieron obtener los modelos gratuitos.",
362
- "onboarding": "## 🌸 Bienvenido al Plugin Pollinations\n\n**Acceso gratuito inmediato — no se requiere clave**\nEste plugin ofrece un entorno completo para chat, generación de código y manipulación de medios (Gen. de Imagen, Video, Audio, Herramientas de extracción...).\n\nSelecciona un modelo `pollinations/free/*` de la lista y comienza a chatear.\n{freeText}\n\n---\n\n## 🚀 Agentes y Herramientas Multimedia Integradas para Desarrolladores\n\nClaude Opus, GPT-5, Gemini 3, Generación de Video Veo & Wan, ElevenLabs Music... ¡desbloquea todo el poder de la API de Pollinations!\n\nEste plugin adopta un modelo **BYOK** (Bring Your Own Key): al usar tu propia clave API, el Agente OpenCode obtiene la capacidad de interactuar directamente con herramientas Premium, creando tus archivos multimedia en tu Espacio de Trabajo.\n\n**Paso 1 — ¡Crea una cuenta con $10 Gratis!**\nApoya el plugin usando este enlace:\n👉 **https://enter.pollinations.ai/authorize?redirect_url=https://github.com/fkom13/opencode-pollinations-plugin**\n\n**Paso 2 — Genera tu clave API**\nEn la sección **API Keys** de `enter.pollinations.ai`, crea una clave **Secret** (`sk_...`).\n\n**Paso 3 — Conecta la clave**\n```bash\n/poll connect sk_tu_clave_aqui\n```\n*(¡La clave se registra de inmediato en tu entorno OpenCode, desbloqueando modelos Pro!)*\n\n---\n\n## 💰 Sistema de Pollen y Niveles\nCada desarrollador recibe un **Subsidio Diario Gratuito (Tier Grant)** para usar estos servicios Premium:\n- 🦠 **Microbe** (0.1 pollen/día) : Para desbloquear: Registrarse\n- 🍄 **Spore** (1 pollen/día) : Para desbloquear: Verificación automática (Verificado al registrarse)\n- 🌱 **Seed** (3 pollen/día) : Para desbloquear: 8+ puntos dev (Mejora automática semanal)\n- 🌸 **Flower** (10 pollen/día) : Para desbloquear: Publicar una app\n- 🍯 **Nectar** (20 pollen/día) : Próximamente 🔮\n\nUna vez agotada la cuota gratuita, consumes Pollen de tu billetera ($1 ≈ 1 Pollen, sin suscripción, sin expiración).\n\n**¿Necesitas ayuda?**\n- Escribe `/poll help` para ver la lista de comandos.\n- Discord Oficial: https://discord.gg/pollinations-ai-885844321461485618"
442
+ "onboarding": "## 🌸 Bienvenido al plugin Pollinations\n\n**Acceso gratis inmediato — sin clave**\nEste plugin ofrece un entorno completo para chat, generación de código y manipulación de medios (generación de imágenes, vídeos, audio, herramientas de extracción...).\n\nSelecciona un modelo `pollinations/free/*` de la lista y empieza a chatear.\n{freeText}\n\n**🆓 Herramientas gratis bonus (sin clave):** `gen_edit_image_free` y `gen_video_free` — genera/edita imágenes (~20/día) y vídeos (~5/día) de inmediato, para cualquier modelo.\n\n---\n\n## 🚀 Agentes y herramientas multimedia para desarrolladores\n\nClaude Opus, GPT-5, Gemini 3, generación de vídeo Veo y Wan, música ElevenLabs... ¡desbloquea todo el poder de la API de Pollinations!\n\nEste plugin usa un modelo **BYOK** (Bring Your Own Key): con tu propia clave API, el agente OpenCode puede interactuar directamente con las herramientas Premium y crear tus archivos en tu Workspace.\n\n**Paso 1 — Crea una cuenta gratis**\n👉 **https://enter.pollinations.ai**\n\n**Paso 2 — Genera tu clave API**\nEn la sección **API Keys** en `enter.pollinations.ai`, crea una clave **Secret** (`sk_...`).\n\n**Paso 3 — Conecta la clave**\n```bash\n/poll connect sk_tu_clave_aqui\n```\n*(¡La clave se registra de inmediato en tu entorno OpenCode, desbloqueando modelos Pro!)*\n\n---\n\n## 💰 Pollen, Niveles y Misiones\nTu **nivel** te da una recarga horaria de Pollen gratis (p. ej. 🌸 Flower 0.4/h). Además, las **Misiones** te recompensan con Pollen gratis ¡y usar este plugin completa varias retroactivamente! Consulta `/poll quests`.\n\nCuando se agota el Pollen gratis, gastas de tu monedero ($1 ≈ 1 Pollen, sin suscripción, sin caducidad).\n\n**¿Necesitas ayuda?** Escribe `/poll help`. Discord oficial: https://discord.gg/pollinations-ai-885844321461485618"
363
443
  },
364
444
  "cost_guard": {
365
445
  "cost_validated_max": "💰 Costo validado (Máx teórico: {maxCost})",
@@ -370,5 +450,15 @@
370
450
  "reason_fixed": "El costo estimado de esta acción ({cost}) excede el umbral definido ({limit}).",
371
451
  "estimated_max": "💰 Costo estimado promedio: {cost} (Máx: {maxCost})",
372
452
  "estimated": "💰 Costo estimado: {cost}"
453
+ },
454
+ "tier": {
455
+ "condition": {
456
+ "signup": "¡Solo regístrate!",
457
+ "auto_verify": "Verificación automática",
458
+ "community": "Miembro activo de la comunidad",
459
+ "publish_app": "Publica una app",
460
+ "top_contributor": "Principal contribuidor",
461
+ "special": "Especial / solo por invitación"
462
+ }
373
463
  }
374
464
  }
@@ -5,7 +5,7 @@
5
5
  "alias_note": "*(L'alias `/poll` est géré et recommandé à la place de `/pollinations` !)*",
6
6
  "mode_usage": "**Mode & Usage**\n- **`/poll mode [mode]`**: Change le mode (manual, alwaysfree, pro).\n- **`/poll usage [full]`**: Affiche le dashboard (full = détail).\n- **`/poll fallback <main> [agent]`**: Configure le Safety Net.",
7
7
  "configuration": "**Configuration**\n- **`/poll config [key] [value]`**:\n - `lang`: en, fr, etc.\n - `status_gui`: none, alert, all\n - `logs_gui`: none, error, verbose\n - `threshold_tier` / `threshold_wallet`: 0-100\n - `status_bar`: true/false\n - `cost_estimator`: true/false (show cost in outputs)\n - `enablePaidTools`: true/false (wallet protection)\n - `costThreshold`: seuil en pollen (défaut: 0.15)\n - `costConfirmationRequired`: true/false (confirmation coût)",
8
- "models_pricing": "**Modèles & Pricing**\n- **`/poll models [type]`**: Liste des modèles (type: image, video, audio, text)\n- **`/poll pricing`**: Tableau de pricing détaillé\n- **`/poll infos`**: Explications sur les Tiers et le Pollen\n\n> 💡 **RMBG keys**: Use the `rmbg_keys` tool (works with any model)."
8
+ "models_pricing": "**Modèles & Pricing**\n- **`/poll models [type]`**: Liste des modèles (type: image, video, audio, text)\n- **`/poll pricing`**: Tableau de pricing détaillé\n- **`/poll infos`**: Explications sur les Tiers et le Pollen\n- **`/poll quests`**: Voir vos quêtes & le Pollen gratuit à réclamer\n\n> 💡 **RMBG keys**: Use the `rmbg_keys` tool (works with any model)."
9
9
  },
10
10
  "config": {
11
11
  "title": "## ⚙️ Configuration Pollinations (v{version})",
@@ -53,7 +53,7 @@
53
53
  "tier": "- **Niveau:** {emoji} {tier} (Limite: {limit} 🌻)\n",
54
54
  "quota": "- **Période:** {remaining} dépensés / {limit} total limités\n",
55
55
  "usage_bar": "- **Utilisation:** {bar}\n",
56
- "wallet": "- **Portefeuille:** {balance} 🌻 restants\n\n",
56
+ "wallet": "- **Solde (Payé + Quêtes):** {balance} 🌻\n\n",
57
57
  "reset": "### 🕒 Infos de Réinitialisation\n- **Prochain Reset:** {date} (dans {duration})\n\n",
58
58
  "restricted_key": "⚠️ Clé API restreinte. Détails non disponibles.\n",
59
59
  "period_detail": "### 📈 Détail de la période (depuis {time})\n",
@@ -62,7 +62,9 @@
62
62
  "table_head2": "|--------|------|------|--------|\n",
63
63
  "no_history": "*Aucune activité dans la période en cours.*\n",
64
64
  "full_requires_key": "⚠️ `/poll usage full` nécessite une clé API connectée.\n",
65
- "hint_full": "💡 Utilisez `/poll usage full` pour les détails (nécessite une clé)."
65
+ "hint_full": "💡 Utilisez `/poll usage full` pour les détails (nécessite une clé).",
66
+ "source_split": "- **Consommé cette période :** 🎁 Quêtes {tier} · 💎 Payé {pack}\n",
67
+ "split": "- **Solde :** {total} 🌻 · 🎁 Quêtes ~{quest} · 💎 Payé ~{paid}\n\n"
66
68
  },
67
69
  "fallback": {
68
70
  "current": "Fallbacks actuels:\n- {free}\n- {enter}",
@@ -101,20 +103,34 @@
101
103
  "features_free": "**🛠️ Outils Gratuits Intégrés (Toujours disponibles) :**\n- `gen_qrcode` / `gen_diagram` / `gen_palette` : Outils visuels et dev.\n- `remove_background` : Détourage d'image natif.\n- `extract_frames` / `extract_audio` : Extraction rapide de contenu média.\n- `file_to_url` : Hébergement instantané de vos fichiers locaux en ligne.",
102
104
  "features_pro": "**💎 Outils Pollinations (Premium - Automatisés avec votre Clé) :**\n- `polli_gen_image` : Génération d'images (Flux, Seedream, Gemini) + support Image-to-Image.\n- `polli_gen_video` : Génération vidéo text-to-video / image-to-video (Veo, Wan, LTX...).\n- `polli_gen_audio`/`polli_stt` : Transcription Whisper, Text-to-Speech ElevenLabs.\n- `polli_gen_music` : Moteur de musique générative.\n- `polli_web_search` : Recherche connectée pour étendre la base de contexte de l'agent.",
103
105
  "features_config": "- **Une configuration granulaire**, des modes de gestions de vos tokens et de vos outils, de la sécurisation des coûts des outils consommant du pollen...",
104
- "tiers_title": "> **Your tiers:** {emoji} {tier}",
106
+ "tiers_title": "> **Votre palier :** {emoji} {tier}",
105
107
  "about": "## 🌍 Qu'est-ce que pollinations.ai ?\npollinations.ai est une plateforme d'IA open-source construite par et pour la communauté. Nous offrons une API unifiée pour les images, le texte, l'audio et la vidéo. Tout fonctionne de manière ouverte : notre code, notre feuille de route, nos conversations. Des centaines de développeurs construisent déjà des outils, des jeux, des bots et des expériences farfelues avec nous. Vous êtes les bienvenus !\n\nPas de boîtes noires. Pas de dépendance exclusive (vendor lock-in). Juste une API conviviale et un Discord rempli de personnes qui s'entraident réellement.",
106
- "levels_title": "## 📈 Évoluez votre Palier (Tier)",
108
+ "levels_title": "## 📈 Paliers & Pollen Horaire",
107
109
  "levels_list": "Pour les développeurs qui créent avec pollinations.ai. Montez de niveau pour gagner plus de Pollen.\n\n{tier_table}\n\n> ⚠️ **Nouveau (v6.2.4)** : Les quotas sont maintenant **horaires** (reset à :00). Le quota journalier est une estimation (~24h × taux horaire).",
108
110
  "beta_note": "✨ *Nous sommes en bêta ! Nous apprenons ce qui fonctionne le mieux pour notre communauté.*",
109
111
  "pollen_title": "## 💎 Qu'est-ce que le Pollen ?",
110
112
  "pollen_get": "Faire tourner des modèles d'IA coûte de l'argent. Le Pollen est notre moyen de faire fonctionner les serveurs sans publicité ni revente de vos données. Un crédit simple et unique pour tous les modèles — prévisible, transparent, sans surprises.\n\n**$1 ≈ 1 Pollen** (les prix peuvent évoluer). Vous le dépensez pour faire des appels API.",
111
- "pollen_spend": "## 🛒 Comment obtenir du Pollen ?\nIl y a plusieurs moyens d'ajouter du Pollen à votre solde : Participer à la communauté, ou l'acheter directement via le dashboard."
113
+ "pollen_spend": "## 🛒 Comment obtenir du Pollen ?\nIl y a plusieurs moyens d'ajouter du Pollen à votre solde : Participer à la communauté, ou l'acheter directement via le dashboard.",
114
+ "quests": "## 🎯 Quêtes — Gagnez du Pollen gratuit\nLe Pollen se gagne désormais surtout en complétant des **Quêtes**. Bonne nouvelle : utiliser ce plugin (modèles texte, image & audio) complète plusieurs quêtes **rétroactivement** — vous avez peut-être déjà du Pollen gratuit en attente !\n\n👉 Consultez et réclamez vos récompenses sur le [dashboard](https://enter.pollinations.ai). _La réclamation se fait uniquement sur le dashboard._\n\n> 💡 Le Pollen de quête fonctionne sur tous les modèles standard. Les modèles 💎 payants nécessitent toujours du Pollen acheté.",
115
+ "hourly_note": "> ⚠️ Les quotas sont **horaires** (recharge à :00). Le quota journalier est une estimation (~24h × taux horaire)."
112
116
  },
113
117
  "pricing_units": {
114
118
  "tokens": "~tokens",
115
119
  "img": "🌻/img",
116
120
  "s": "🌻/s",
117
121
  "tok": "🌻/tok"
122
+ },
123
+ "login": {
124
+ "prompt": "## 🔐 Connexion rapide (Device Flow)\n\n**1.** Ouvrez : **{uri_complete}**\n_(ou allez sur {uri} et entrez le code ci-dessous)_\n\n**2.** Votre code : **`{code}`**\n\n**3.** Connectez-vous avec GitHub, puis sur le formulaire de consentement :\n • ✅ Gardez **Profile** + **Usage** accordés (requis pour le quota, les quêtes et l'always-free)\n • 💡 Pour une **clé illimitée** : videz le champ **Budget** (→ Illimité) et le champ **Expiry** (→ Jamais)\n • Cliquez **Authorize**\n\nLe plugin attend et se connecte **automatiquement** dès validation (un toast confirme ✅).\n\n💡 _Vous préférez une clé créée manuellement ? Utilisez plutôt `/poll connect sk_...`._",
125
+ "already_running": "⏳ Une connexion est déjà en cours. Terminez l'autorisation dans votre navigateur, ou patientez.",
126
+ "code_error": "❌ Impossible de démarrer la connexion : {error}\n💡 Vous pouvez toujours utiliser `/poll connect sk_...` manuellement.",
127
+ "expired": "⏱️ Code de connexion expiré. Relancez /poll login.",
128
+ "success_toast": "✅ Connecté via device login ! Modèles Pro débloqués.",
129
+ "validate_error": "❌ Échec de validation de la clé : {error}",
130
+ "nothing_pending": "ℹ️ Aucune connexion en cours. Lancez d'abord polli_login (sans wait) pour obtenir un code.",
131
+ "opened": "🌐 Ouverture de votre navigateur pour autoriser…",
132
+ "still_waiting": "⏳ En attente de votre autorisation dans le navigateur. Une fois validé, rappelez polli_login avec wait:true pour confirmer.",
133
+ "success_limited": "⚠️ Connecté, mais votre clé semble limitée (Profile/Usage non accordés). L'affichage du quota, le repli always-free et le contrôle du wallet peuvent ne pas fonctionner. Relancez login en accordant Profile + Usage, ou utilisez une clé complète."
118
134
  }
119
135
  },
120
136
  "proxy": {
@@ -349,6 +365,70 @@
349
365
  "err_auth": "❌ Clé API invalide ou non autorisée.",
350
366
  "err_large": "❌ Fichier audio trop volumineux.\n💡 Essayez de compresser ou découper l'audio.",
351
367
  "err_stt": "❌ Erreur transcription: {error}"
368
+ },
369
+ "polli_quests": {
370
+ "desc": "Liste vos Quêtes Pollinations et indique combien de Pollen gratuit vous pouvez réclamer. Lecture seule. Compléter des quêtes (y compris en utilisant simplement ce plugin) rapporte du Pollen ; la réclamation se fait sur le dashboard.",
371
+ "arg_filter": "Filtre : 'all' (défaut), 'available' (quêtes ouvertes) ou 'claimable' (gagnées mais pas encore réclamées).",
372
+ "no_key": "🔑 Aucune clé API configurée. Utilisez d'abord `/poll connect <clé>`.",
373
+ "error": "⚠️ Impossible de récupérer les quêtes : {error}",
374
+ "empty": "Aucune quête trouvée pour ce compte.",
375
+ "title": "## 🎯 Quêtes Pollinations",
376
+ "claimable": "> 🎁 **Vous avez {count} récompense(s) = {pollen} 🌻 à réclamer !**",
377
+ "none_claimable": "✅ Rien à réclamer pour le moment. Continuez d'utiliser le plugin pour en gagner plus !",
378
+ "claim_hint": "👉 Réclamez vos récompenses sur le [dashboard](https://enter.pollinations.ai) (réclamation uniquement sur le dashboard).",
379
+ "legend": "_Légende : 🎁 à réclamer · ✅ réclamée · ✔️ complétée · 🔜 bientôt · ⬜ ouverte_"
380
+ },
381
+ "gen_edit_image_free": {
382
+ "desc": "🆓 BONUS — Génération & édition d'images toujours gratuites. Aucune clé Pollinations requise, fonctionne avec n'importe quel modèle. Générez depuis un prompt, ou ÉDITEZ 1 à 3 images en les passant dans `images`. Via un playground public depuis votre propre IP : ~20 requêtes gratuites/jour (génération et édition PARTAGENT le même compteur quotidien). Au-delà du quota, utilisez `polli_gen_image` (Pollinations).",
383
+ "arg_prompt": "Description de l'image à générer, ou l'instruction d'édition en mode édition.",
384
+ "arg_images": "Optionnel. 1 à 3 images à ÉDITER (chemin local, URL http(s) ou data: URI). Si fourni, bascule en mode édition.",
385
+ "arg_aspect": "Ratio pour la génération (16:9 par défaut, 1:1, 9:16). Ignoré en édition.",
386
+ "arg_save_to": "Dossier de sortie ou chemin de fichier complet.",
387
+ "arg_filename": "Nom de fichier personnalisé (sans extension).",
388
+ "too_many_images": "❌ Le mode édition accepte 1 à 3 images maximum.",
389
+ "quota_exhausted": "🆓 Quota gratuit journalier atteint ({max}/jour pour cette IP, gén+édition partagés). Il se réinitialise toutes les 24h.\n💡 En attendant, utilisez `polli_gen_image` avec votre clé Pollinations.",
390
+ "working": "{mode} gratuite en cours…",
391
+ "failed": "Image gratuite échouée : {error}",
392
+ "api_error": "⚠️ Le service d'image gratuit a renvoyé une erreur : {error}\n💡 Réessayez, ou utilisez `polli_gen_image` (Pollinations).",
393
+ "res_title_gen": "🆓 Image Gratuite Générée",
394
+ "res_title_edit": "🆓 Image Gratuite Éditée",
395
+ "res_prompt": "Prompt : {prompt}",
396
+ "res_file": "Fichier : {path}",
397
+ "res_size": "Taille : {size}",
398
+ "res_quota": "Quota gratuit restant aujourd'hui : {remaining}/{max} (gén+édition partagés, par IP)",
399
+ "res_note": "_🆓 Outil bonus — gratuit, hors économie Pollinations. Résolution 1344×768. Au-delà du quota, utilisez `polli_gen_image`._",
400
+ "success": "{mode} gratuite terminée ✓",
401
+ "degraded": "⚠️ Service d'image gratuit indisponible ({error}).\n💡 Repli : utilisez `polli_gen_image` / `polli_gen_video` avec votre clé Pollinations."
402
+ },
403
+ "gen_video_free": {
404
+ "desc": "🆓 BONUS — Génération vidéo toujours gratuite. Aucune clé Pollinations requise, fonctionne avec n'importe quel modèle. Texte-vers-vidéo, avec `image` de première frame OPTIONNELLE et `audio` OPTIONNEL à joindre. Via un playground public Pruna depuis votre propre IP : ~5 vidéos gratuites/jour (séparé du quota image). Génération asynchrone (peut prendre 1-3 min). Au-delà du quota, utilisez `polli_gen_video` (Pollinations).",
405
+ "arg_prompt": "Description de la vidéo (mouvement, caméra, scène, indices audio).",
406
+ "arg_image": "Optionnel. Image de première frame / référence (chemin local, URL http(s) ou data: URI).",
407
+ "arg_audio": "Optionnel. Piste audio à joindre (chemin local, URL http(s) ou data: URI).",
408
+ "arg_duration": "Durée en secondes (défaut : 5, max : 10).",
409
+ "arg_aspect": "Ratio (16:9 par défaut, 9:16, 1:1).",
410
+ "arg_resolution": "Résolution (480p, 720p par défaut, 1080p).",
411
+ "arg_save_to": "Dossier de sortie ou chemin de fichier complet.",
412
+ "arg_filename": "Nom de fichier personnalisé (sans extension).",
413
+ "quota_exhausted": "🆓 Quota vidéo gratuit journalier atteint ({max}/jour pour cette IP). Il se réinitialise toutes les 24h.\n💡 En attendant, utilisez `polli_gen_video` avec votre clé Pollinations.",
414
+ "working": "Génération vidéo gratuite lancée (asynchrone, 1-3 min)…",
415
+ "failed": "Vidéo gratuite échouée : {error}",
416
+ "api_error": "⚠️ Le service vidéo gratuit a renvoyé une erreur : {error}\n💡 Réessayez, ou utilisez `polli_gen_video` (Pollinations).",
417
+ "res_title": "🆓 Vidéo Gratuite Générée",
418
+ "res_prompt": "Prompt : {prompt}",
419
+ "res_params": "Params : {duration}s · {resolution} · {aspect}",
420
+ "res_image": "Image : ✅ utilisée comme référence",
421
+ "res_audio": "Audio : ✅ joint",
422
+ "res_file": "Fichier : {path}",
423
+ "res_size": "Taille : {size}",
424
+ "res_quota": "Quota gratuit restant aujourd'hui : {remaining}/{max} (vidéos, par IP)",
425
+ "res_note": "_🆓 Outil bonus — gratuit, hors économie Pollinations. Au-delà du quota, utilisez `polli_gen_video`._",
426
+ "success": "Vidéo gratuite terminée ✓",
427
+ "degraded": "⚠️ Service vidéo gratuit indisponible ({error}).\n💡 Repli : utilisez `polli_gen_video` avec votre clé Pollinations."
428
+ },
429
+ "polli_login": {
430
+ "desc": "🔐 Démarre une connexion Pollinations rapide (device flow) pour l'utilisateur. Affiche un code court + une URL ; l'utilisateur se connecte avec GitHub dans son navigateur, et le plugin se connecte AUTOMATIQUEMENT une fois approuvé (un toast confirme). Aucune clé API nécessaire pour lancer ceci. À utiliser quand l'utilisateur veut connecter son compte Pollinations facilement, sans copier-coller de clé. Pour une clé permanente, dites-lui d'utiliser `/poll connect sk_...`.",
431
+ "arg_wait": "Si true, attend la fin d'une connexion en cours et retourne le résultat final (✅ connecté / expiré). Appelez d'abord sans wait pour afficher le code, puis à nouveau avec wait:true après avoir dit à l'utilisateur d'autoriser."
352
432
  }
353
433
  },
354
434
  "connect_response": {
@@ -358,7 +438,7 @@
358
438
  "resources": "### 📚 Ressources\n* **Site Web:** [pollinations.ai](https://pollinations.ai)\n* **Discord:** [Rejoindre la communauté](https://discord.gg/8HqSRhJVmK)\n* **Recharger le Wallet:** [Top-Up Balance](https://pollinations.ai/topup)",
359
439
  "free_models_success": "Modèles gratuits disponibles : {models}",
360
440
  "free_models_error": "⚠️ Impossible de récupérer la liste des modèles gratuits.",
361
- "onboarding": "## 🌸 Bienvenue dans le Plugin Pollinations\n\n**Accès gratuit immédiat — aucune clé requise**\nCe plugin offre un environnement complet de chat, de génération de code et de manipulation de médias (Génération Image, Vidéo, Audio, Outils d'extraction...).\n\nSélectionnez un modèle `pollinations/free/*` dans la liste et discutez pour commencer.\n{freeText}\n\n---\n\n## 🚀 Agents et Outils Multimédias Intégrés au Développement\n\nClaude Opus, GPT-5, Gemini 3, Génération Vidéo Veo & Wan, ElevenLabs Music... débloquez la puissance complète de l'API Pollinations !\n\nCe plugin adopte un modèle **BYOK** (Bring Your Own Key) : en utilisant votre propre clé API, l'Agent OpenCode gagne la capacité d'interagir directement avec des outils Premium en créant vos fichiers multimédias dans votre Espace de Travail.\n\n**Étape 1 — Créer un compte avec 10$ Gratuits !**\nSoutenez le plugin en passant par ce lien :\n👉 **https://enter.pollinations.ai/authorize?redirect_url=https://github.com/fkom13/opencode-pollinations-plugin**\n\n**Étape 2 — Générer votre clé API**\nDans la section **API Keys** sur `enter.pollinations.ai`, créez une clé **Secret** (`sk_...`).\n\n**Étape 3 — Connecter la clé**\n```bash\n/poll connect sk_votre_clé_ici\n```\n*(La clé s'enregistre immédiatement dans votre environnement OpenCode, débloquant les modèles Pro !)*\n\n---\n\n## 💰 Système de Pollen et Tiers\nChaque développeur reçoit une **Subvention quotidienne gratuite (Tier Grant)** pour utiliser ces services Premium :\n- 🦠 **Microbe** (0.1 pollen/jour) : Pour débloquer : S'inscrire\n- 🍄 **Spore** (1 pollen/jour) : Pour débloquer : Vérification automatique (Vérifié à l'inscription)\n- 🌱 **Seed** (3 pollen/jour) : Pour débloquer : 8+ points dev (Mise à niveau automatique hebdomadaire)\n- 🌸 **Flower** (10 pollen/jour) : Pour débloquer : Publier une application\n- 🍯 **Nectar** (20 pollen/jour) : Bientôt disponible 🔮\n\nUne fois le quota gratuit épuisé, vous consommez le Pollen de votre portefeuille ($1 ≈ 1 Pollen, pas d'abonnement, pas d'expiration).\n\n**Besoin d'aide ?**\n- Tapez `/poll help` pour la liste des commandes.\n- Discord Officiel : https://discord.gg/pollinations-ai-885844321461485618"
441
+ "onboarding": "## 🌸 Bienvenue sur le plugin Pollinations\n\n**Accès gratuit immédiat — aucune clé requise**\nCe plugin offre un environnement complet pour le chat, la génération de code et la manipulation média (génération d'images, vidéos, audio, outils d'extraction...).\n\nSélectionnez un modèle `pollinations/free/*` dans la liste et commencez à discuter.\n{freeText}\n\n**🆓 Outils gratuits bonus (sans clé) :** `gen_edit_image_free` et `gen_video_free` — générez/éditez des images (~20/jour) et des vidéos (~5/jour) immédiatement, pour n'importe quel modèle.\n\n---\n\n## 🚀 Agents et outils multimédias pour développeurs\n\nClaude Opus, GPT-5, Gemini 3, génération vidéo Veo & Wan, musique ElevenLabs... libérez toute la puissance de l'API Pollinations !\n\nCe plugin adopte un modèle **BYOK** (Bring Your Own Key) : avec votre propre clé API, l'agent OpenCode peut interagir directement avec les outils Premium et créer vos fichiers média dans votre Workspace.\n\n**Étape 1 — Créez un compte gratuit**\n👉 **https://enter.pollinations.ai**\n\n**Étape 2 — Générez votre clé API**\nDans la section **API Keys** sur `enter.pollinations.ai`, créez une clé **Secret** (`sk_...`).\n\n**Étape 3 — Connectez la clé**\n```bash\n/poll connect sk_votre_cle_ici\n```\n*(La clé est immédiatement enregistrée dans votre environnement OpenCode, débloquant les modèles Pro !)*\n\n---\n\n## 💰 Pollen, Paliers & Quêtes\nVotre **palier** vous donne une recharge horaire de Pollen gratuit (ex. 🌸 Flower 0,4/h). En plus, les **Quêtes** vous récompensent en Pollen gratuit et utiliser simplement ce plugin en complète plusieurs rétroactivement ! Consultez `/poll quests`.\n\nUne fois le Pollen gratuit épuisé, vous puisez dans votre wallet (1 $ ≈ 1 Pollen, sans abonnement, sans expiration).\n\n**Besoin d'aide ?** Tapez `/poll help`. Discord officiel : https://discord.gg/pollinations-ai-885844321461485618"
362
442
  },
363
443
  "cost_guard": {
364
444
  "cost_validated_max": "💰 Coût validé (Max théorique: {maxCost})",
@@ -369,5 +449,15 @@
369
449
  "reason_fixed": "Le coût estimé de cette action ({cost}) dépasse le seuil défini ({limit}).",
370
450
  "estimated_max": "💰 Coût estimé moyen: {cost} (Max: {maxCost})",
371
451
  "estimated": "💰 Coût estimé: {cost}"
452
+ },
453
+ "tier": {
454
+ "condition": {
455
+ "signup": "Inscrivez-vous, c'est tout !",
456
+ "auto_verify": "Vérification automatique",
457
+ "community": "Membre actif de la communauté",
458
+ "publish_app": "Publier une app",
459
+ "top_contributor": "Contributeur de premier plan",
460
+ "special": "Spécial / sur invitation"
461
+ }
372
462
  }
373
463
  }
@@ -3,13 +3,15 @@ import fr from './fr.json' with { type: 'json' };
3
3
  import es from './es.json' with { type: 'json' };
4
4
  import de from './de.json' with { type: 'json' };
5
5
  import it from './it.json' with { type: 'json' };
6
+ import zh from './zh.json' with { type: 'json' };
6
7
  import { loadConfig } from '../server/config.js';
7
8
  const dictionaries = {
8
9
  en,
9
10
  fr,
10
11
  es,
11
12
  de,
12
- it
13
+ it,
14
+ zh
13
15
  };
14
16
  export function t(keyPath, params) {
15
17
  const config = loadConfig();
@@ -5,7 +5,7 @@
5
5
  "alias_note": "*(L'alias `/poll` è supportato e raccomandato al posto di `/pollinations` !)*",
6
6
  "mode_usage": "**Modalità e Uso**\n- **`/poll mode [modo]`**: Cambia la modalità (manual, alwaysfree, pro).\n- **`/poll usage [full]`**: Mostra la dashboard (full = dettagli).\n- **`/poll fallback <main> [agent]`**: Configura la rete di sicurezza.",
7
7
  "configuration": "**Configurazione**\n- **`/poll config [chiave] [valore]`**:\n - `lang`: en, fr, de, es, it, etc.\n - `status_gui`: none, alert, all\n - `logs_gui`: none, error, verbose\n - `threshold_tier` / `threshold_wallet`: 0-100\n - `status_bar`: true/false\n - `cost_estimator`: true/false (mostra i costi nell'output)\n - `enablePaidTools`: true/false (protezione del portafoglio)\n - `costThreshold`: limite in pollen (predefinito: 0.15)\n - `costConfirmationRequired`: true/false (conferma di spesa)",
8
- "models_pricing": "**Modelli e Prezzi**\n- **`/poll models [tipo]`**: Elenca i modelli (tipo: image, video, audio, text)\n- **`/poll pricing`**: Tabella prezzi dettagliata\n- **`/poll infos`**: Spiegazioni su Tiers e Pollen\n\n> 💡 **Chiavi RMBG**: Usa lo strumento `rmbg_keys` (funziona con qualsiasi modello)."
8
+ "models_pricing": "**Modelli e Prezzi**\n- **`/poll models [tipo]`**: Elenca i modelli (tipo: image, video, audio, text)\n- **`/poll pricing`**: Tabella prezzi dettagliata\n- **`/poll infos`**: Spiegazioni su Tiers e Pollen\n- **`/poll quests`**: Visualizza le tue quest e il Pollen gratuito da riscattare\n\n> 💡 **Chiavi RMBG**: Usa lo strumento `rmbg_keys` (funziona con qualsiasi modello)."
9
9
  },
10
10
  "config": {
11
11
  "title": "## ⚙️ Configurazione Pollinations (v{version})",
@@ -53,7 +53,7 @@
53
53
  "tier": "- **Livello:** {emoji} {tier} (Limite: {limit} 🌻)\n",
54
54
  "quota": "- **Utilizzo:** {remaining} consumati su {limit}\n",
55
55
  "usage_bar": "- **Utilizzo:** {bar}\n",
56
- "wallet": "- **Portafoglio:** {balance} 🌻 rimasti\n\n",
56
+ "wallet": "- **Saldo (Pagato + Quest):** {balance} 🌻\n\n",
57
57
  "reset": "### 🕒 Ripristino\n- **Prossimo reset:** {date} (in {duration})\n\n",
58
58
  "restricted_key": "⚠️ Chiave limitata. Dettagli non disponibili.\n",
59
59
  "period_detail": "### 📈 Dettagli periodo (dal {time})\n",
@@ -62,7 +62,9 @@
62
62
  "table_head2": "|---------|-------|-------|-------|\n",
63
63
  "no_history": "*Nessuna attività in questo periodo.*\n",
64
64
  "full_requires_key": "⚠️ `/poll usage full` richiede una chiave API.\n",
65
- "hint_full": "💡 Usa `/poll usage full` per i dettagli."
65
+ "hint_full": "💡 Usa `/poll usage full` per i dettagli.",
66
+ "source_split": "- **Consumato questo periodo:** 🎁 Quest {tier} · 💎 Pagato {pack}\n",
67
+ "split": "- **Saldo:** {total} 🌻 · 🎁 Quest ~{quest} · 💎 Pagato ~{paid}\n\n"
66
68
  },
67
69
  "fallback": {
68
70
  "current": "Current fallbacks:\n- {free}\n- {enter}",
@@ -102,20 +104,34 @@
102
104
  "features_free": "**🛠️ Strumenti gratuiti integrati (Sempre disponibili):**\n- `gen_qrcode` / `gen_diagram` / `gen_palette` : Utility visive.\n- `remove_background` : Rimozione dello sfondo nativa.\n- `extract_frames` / `extract_audio` : Estrazione rapida dei media.\n- `file_to_url` : Hosting online istantaneo di file locali.",
103
105
  "features_pro": "**💎 Strumenti Pollinations (Premium - Automatizzato con Chiave):**\n- `polli_gen_image` : Gen immagine (Flux, Gemini) + Image-to-Image.\n- `polli_gen_video` : Text-to-Video / Image-to-Video (Veo, Wan...).\n- `polli_gen_audio`/`polli_stt` : Whisper STT, ElevenLabs TTS.\n- `polli_gen_music` : Motore di musica generativa.\n- `polli_web_search` : Ricerca web connessa.",
104
106
  "features_config": "- **Configurazione granulare**, gestione di modalità/token, protezioni costi...",
105
- "tiers_title": "> **I tuoi livelli:** {emoji} {tier}",
107
+ "tiers_title": "> **Il tuo livello:** {emoji} {tier}",
106
108
  "about": "## 🌍 Cos'è pollinations.ai?\npollinations.ai è una piattaforma IA open-source costruita per la community. Offriamo un'API per Immagini, Testo, Audio e Video. Tutto è aperto: codice, roadmap, conversazioni. Unisciti a noi!\n\nNessuna scatola nera. Nessun lock-in. Solo un'API amichevole.",
107
- "levels_title": "## 📈 Aumenta il tuo livello",
109
+ "levels_title": "## 📈 Livelli e Pollen Orario",
108
110
  "levels_list": "Per gli sviluppatori che creano con pollinations. Sali di livello per guadagnare più Pollen.\n\n- 🦠 **Microbe** (0.1 pollen/giorno) : Registrati\n- 🍄 **Spore** (1 pollen/giorno) : Verifica automatica\n- 🌱 **Seed** (3 pollen/giorno) : 8+ punti dev\n- 🌸 **Flower** (10 pollen/giorno) : Pubblica un'app\n- 🍯 **Nectar** (20 pollen/giorno) : Prossimamente 🔮",
109
111
  "beta_note": "✨ *Siamo in beta! Scopriamo cosa funziona meglio.*",
110
112
  "pollen_title": "## 💎 Cos'è il Pollen?",
111
113
  "pollen_get": "L'esecuzione di modelli costa denaro. Il Pollen è il nostro modo per mantenere attivi i server senza pubblicità o vendere dati. Un credito semplice e unificato per tutti i modelli.\n\n**$1 ≈ 1 Pollen**. Lo spendi per le chiamate API.",
112
- "pollen_spend": "## 🛒 Come ottenere Pollen?\nPuoi aggiungere Pollen partecipando alla community o acquistandolo direttamente dalla dashboard."
114
+ "pollen_spend": "## 🛒 Come ottenere Pollen?\nPuoi aggiungere Pollen partecipando alla community o acquistandolo direttamente dalla dashboard.",
115
+ "quests": "## 🎯 Quest — Guadagna Pollen gratis\nIl Pollen ora si guadagna principalmente completando le **Quest**. Buone notizie: usare questo plugin (modelli di testo, immagini e audio) completa diverse quest **retroattivamente** — potresti già avere Pollen gratis in attesa!\n\n👉 Controlla e richiedi le tue ricompense sulla [dashboard](https://enter.pollinations.ai). _Il riscatto avviene solo dalla dashboard._\n\n> 💡 Il Pollen delle quest funziona su tutti i modelli standard. I modelli 💎 a pagamento richiedono comunque Pollen acquistato.",
116
+ "hourly_note": "> ⚠️ Le quote sono **orarie** (ricarica alle :00). Il valore giornaliero è una stima (~24h × tasso orario)."
113
117
  },
114
118
  "pricing_units": {
115
119
  "tokens": "~tokens",
116
120
  "img": "🌻/imm",
117
121
  "s": "🌻/s",
118
122
  "tok": "🌻/tok"
123
+ },
124
+ "login": {
125
+ "prompt": "## 🔐 Accesso rapido (Device Flow)\n\n**1.** Apri: **{uri_complete}**\n_(oppure vai su {uri} e inserisci il codice qui sotto)_\n\n**2.** Il tuo codice: **`{code}`**\n\n**3.** Accedi con GitHub, poi nel modulo di consenso:\n • ✅ Mantieni **Profile** + **Usage** concessi (necessari per quota, quest e always-free)\n • 💡 Per una **chiave illimitata**: svuota il campo **Budget** (→ Illimitato) e il campo **Expiry** (→ Mai)\n • Clicca **Authorize**\n\nIl plugin attende e si connette **automaticamente** dopo l'approvazione (un toast conferma ✅).\n\n💡 _Preferisci una chiave creata manualmente? Usa `/poll connect sk_...`._",
126
+ "already_running": "⏳ Un accesso è già in corso. Completa l'autorizzazione nel browser, o attendi un momento.",
127
+ "code_error": "❌ Impossibile avviare l'accesso: {error}\n💡 Puoi comunque usare `/poll connect sk_...` manualmente.",
128
+ "expired": "⏱️ Codice di accesso scaduto. Esegui di nuovo /poll login.",
129
+ "success_toast": "✅ Connesso tramite device login! Modelli Pro sbloccati.",
130
+ "validate_error": "❌ Validazione della chiave fallita: {error}",
131
+ "nothing_pending": "ℹ️ Nessun accesso in corso. Esegui prima polli_login (senza wait) per ottenere un codice.",
132
+ "opened": "🌐 Apertura del browser per autorizzare…",
133
+ "still_waiting": "⏳ In attesa della tua autorizzazione nel browser. Una volta approvata, richiama polli_login con wait:true per confermare.",
134
+ "success_limited": "⚠️ Connesso, ma la tua chiave sembra limitata (Profile/Usage non concessi). La visualizzazione della quota, il fallback always-free e il controllo del wallet potrebbero non funzionare. Riesegui il login concedendo Profile + Usage, o usa una chiave completa."
119
135
  }
120
136
  },
121
137
  "proxy": {
@@ -350,6 +366,70 @@
350
366
  "err_auth": "❌ Chiave API non valida.",
351
367
  "err_large": "❌ File troppo grande.",
352
368
  "err_stt": "❌ Errore trascrizione: {error}"
369
+ },
370
+ "polli_quests": {
371
+ "desc": "Elenca le tue Quest di Pollinations e mostra quanto Pollen gratuito puoi riscattare. Sola lettura. Completare le quest (anche solo usando questo plugin) fa guadagnare Pollen; il riscatto avviene dalla dashboard.",
372
+ "arg_filter": "Filtro: 'all' (predefinito), 'available' (quest aperte) o 'claimable' (guadagnate ma non ancora riscattate).",
373
+ "no_key": "🔑 Nessuna chiave API configurata. Usa prima `/poll connect <chiave>`.",
374
+ "error": "⚠️ Impossibile recuperare le quest: {error}",
375
+ "empty": "Nessuna quest trovata per questo account.",
376
+ "title": "## 🎯 Quest di Pollinations",
377
+ "claimable": "> 🎁 **Hai {count} ricompensa/e = {pollen} 🌻 da riscattare!**",
378
+ "none_claimable": "✅ Niente da riscattare ora. Continua a usare il plugin per guadagnarne altri!",
379
+ "claim_hint": "👉 Riscatta le tue ricompense sulla [dashboard](https://enter.pollinations.ai) (riscatto solo da dashboard).",
380
+ "legend": "_Legenda: 🎁 da riscattare · ✅ riscattata · ✔️ completata · 🔜 in arrivo · ⬜ aperta_"
381
+ },
382
+ "gen_edit_image_free": {
383
+ "desc": "🆓 BONUS — Generazione e modifica di immagini sempre gratuite. Nessuna chiave Pollinations richiesta, funziona con qualsiasi modello. Genera da un prompt, o MODIFICA 1-3 immagini passandole in `images`. Tramite un playground pubblico dal tuo stesso IP: ~20 richieste gratis/giorno (generazione e modifica CONDIVIDONO lo stesso contatore giornaliero). Superata la quota, usa `polli_gen_image` (Pollinations).",
384
+ "arg_prompt": "Descrizione dell'immagine da generare, o l'istruzione di modifica in modalità modifica.",
385
+ "arg_images": "Opzionale. Da 1 a 3 immagini da MODIFICARE (percorso locale, URL http(s) o data: URI). Se fornito, passa alla modalità modifica.",
386
+ "arg_aspect": "Proporzioni per la generazione (16:9 predefinito, 1:1, 9:16). Ignorato in modifica.",
387
+ "arg_save_to": "Directory di output o percorso file completo.",
388
+ "arg_filename": "Nome file personalizzato (senza estensione).",
389
+ "too_many_images": "❌ La modalità modifica accetta da 1 a 3 immagini al massimo.",
390
+ "quota_exhausted": "🆓 Quota gratuita giornaliera raggiunta ({max}/giorno per questo IP, gen+modifica condivisi). Si reimposta ogni 24h.\n💡 Nel frattempo, usa `polli_gen_image` con la tua chiave Pollinations.",
391
+ "working": "{mode} gratuita in corso…",
392
+ "failed": "Immagine gratuita fallita: {error}",
393
+ "api_error": "⚠️ Il servizio immagini gratuito ha restituito un errore: {error}\n💡 Riprova, o usa `polli_gen_image` (Pollinations).",
394
+ "res_title_gen": "🆓 Immagine Gratuita Generata",
395
+ "res_title_edit": "🆓 Immagine Gratuita Modificata",
396
+ "res_prompt": "Prompt: {prompt}",
397
+ "res_file": "File: {path}",
398
+ "res_size": "Dimensione: {size}",
399
+ "res_quota": "Quota gratuita rimasta oggi: {remaining}/{max} (gen+modifica condivisi, per IP)",
400
+ "res_note": "_🆓 Strumento bonus — gratuito, fuori dall'economia Pollinations. Risoluzione 1344×768. Superata la quota, usa `polli_gen_image`._",
401
+ "success": "{mode} gratuita completata ✓",
402
+ "degraded": "⚠️ Servizio immagini gratuito non disponibile ({error}).\n💡 Ripiego: usa `polli_gen_image` / `polli_gen_video` con la tua chiave Pollinations."
403
+ },
404
+ "gen_video_free": {
405
+ "desc": "🆓 BONUS — Generazione video sempre gratuita. Nessuna chiave Pollinations richiesta, funziona con qualsiasi modello. Testo-a-video, con `image` di primo fotogramma OPZIONALE e `audio` OPZIONALE da unire. Tramite un playground pubblico Pruna dal tuo stesso IP: ~5 video gratis/giorno (separato dalla quota immagini). Generazione asincrona (può richiedere 1-3 min). Superata la quota, usa `polli_gen_video` (Pollinations).",
406
+ "arg_prompt": "Descrizione del video (movimento, camera, scena, indicazioni audio).",
407
+ "arg_image": "Opzionale. Immagine di primo fotogramma / riferimento (percorso locale, URL http(s) o data: URI).",
408
+ "arg_audio": "Opzionale. Traccia audio da unire (percorso locale, URL http(s) o data: URI).",
409
+ "arg_duration": "Durata in secondi (predefinito: 5, max: 10).",
410
+ "arg_aspect": "Proporzioni (16:9 predefinito, 9:16, 1:1).",
411
+ "arg_resolution": "Risoluzione (480p, 720p predefinito, 1080p).",
412
+ "arg_save_to": "Directory di output o percorso file completo.",
413
+ "arg_filename": "Nome file personalizzato (senza estensione).",
414
+ "quota_exhausted": "🆓 Quota giornaliera gratuita video raggiunta ({max}/giorno per questo IP). Si reimposta ogni 24h.\n💡 Nel frattempo, usa `polli_gen_video` con la tua chiave Pollinations.",
415
+ "working": "Generazione video gratuita avviata (asincrona, 1-3 min)…",
416
+ "failed": "Video gratuito fallito: {error}",
417
+ "api_error": "⚠️ Il servizio video gratuito ha restituito un errore: {error}\n💡 Riprova, o usa `polli_gen_video` (Pollinations).",
418
+ "res_title": "🆓 Video Gratuito Generato",
419
+ "res_prompt": "Prompt: {prompt}",
420
+ "res_params": "Parametri: {duration}s · {resolution} · {aspect}",
421
+ "res_image": "Immagine: ✅ usata come riferimento",
422
+ "res_audio": "Audio: ✅ unito",
423
+ "res_file": "File: {path}",
424
+ "res_size": "Dimensione: {size}",
425
+ "res_quota": "Quota gratuita rimasta oggi: {remaining}/{max} (video, per IP)",
426
+ "res_note": "_🆓 Strumento bonus — gratuito, fuori dall'economia Pollinations. Superata la quota, usa `polli_gen_video`._",
427
+ "success": "Video gratuito completato ✓",
428
+ "degraded": "⚠️ Servizio video gratuito non disponibile ({error}).\n💡 Ripiego: usa `polli_gen_video` con la tua chiave Pollinations."
429
+ },
430
+ "polli_login": {
431
+ "desc": "🔐 Avvia un accesso rapido a Pollinations (device flow) per l'utente. Mostra un codice breve + URL; l'utente accede con GitHub nel browser, e il plugin si connette AUTOMATICAMENTE una volta approvato (un toast conferma). Nessuna chiave API necessaria per eseguirlo. Usalo quando l'utente vuole connettere il suo account Pollinations facilmente, senza copiare e incollare una chiave. Per una chiave permanente, digli di usare `/poll connect sk_...`.",
432
+ "arg_wait": "Se true, attende il completamento di un accesso in corso e restituisce il risultato finale (✅ connesso / scaduto). Chiama prima senza wait per mostrare il codice, poi di nuovo con wait:true dopo aver chiesto all'utente di autorizzare."
353
433
  }
354
434
  },
355
435
  "connect_response": {
@@ -359,7 +439,7 @@
359
439
  "resources": "### 📚 Link Útili\n* **Sito:** [pollinations.ai](https://pollinations.ai)\n* **Discord:** [Unisciti alla Community](https://discord.gg/8HqSRhJVmK)",
360
440
  "free_models_success": "Modelli disponibili: {models}",
361
441
  "free_models_error": "⚠️ Impossibile recuperare i modelli gratuiti.",
362
- "onboarding": "## 🌸 Benvenuto nel Plugin Pollinations\n\n**Accesso immediato gratuito — nessuna chiave richiesta**\nQuesto plugin offre un ambiente completo per chat, generazione di codice e manipolazione dei media (Generazione di Immagini, Video, Audio, Strumenti di estrazione...).\n\nSeleziona un modello `pollinations/free/*` dalla lista e inizia a chattare.\n{freeText}\n\n---\n\n## 🚀 Agenti e Strumenti Multimediali Integrati nello Sviluppo\n\nClaude Opus, GPT-5, Gemini 3, Generazione Video Veo & Wan, ElevenLabs Music... sblocca tutta la potenza dell'API Pollinations!\n\nQuesto plugin adotta un modello **BYOK** (Bring Your Own Key): utilizzando la tua chiave API personale, l'Agente OpenCode ottiene la capacità di interagire direttamente con strumenti Premium, creando i tuoi file multimediali all'interno del tuo Spazio di Lavoro.\n\n**Passo 1 — Crea un account con $10 Gratis!**\nSostieni il plugin utilizzando questo link:\n👉 **https://enter.pollinations.ai/authorize?redirect_url=https://github.com/fkom13/opencode-pollinations-plugin**\n\n**Passo 2 — Genera la tua chiave API**\nNella sezione **API Keys** su `enter.pollinations.ai`, crea una chiave **Secret** (`sk_...`).\n\n**Passo 3 — Connetti la chiave**\n```bash\n/poll connect sk_la_tua_chiave_qui\n```\n*(La chiave viene registrata immediatamente nel tuo ambiente OpenCode, sbloccando i modelli Pro!)*\n\n---\n\n## 💰 Sistema Pollen e Livelli (Tiers)\nOgni sviluppatore riceve una **Sovvenzione Giornaliera Gratuita (Tier Grant)** per utilizzare questi servizi Premium:\n- 🦠 **Microbe** (0.1 pollen/giorno) : Per sbloccare: Iscriviti\n- 🍄 **Spore** (1 pollen/giorno) : Per sbloccare: Verifica automatica (Verificato all'iscrizione)\n- 🌱 **Seed** (3 pollen/giorno) : Per sbloccare: 8+ punti dev (Aggiornamento automatico settimanale)\n- 🌸 **Flower** (10 pollen/giorno) : Per sbloccare: Pubblica un'applicazione\n- 🍯 **Nectar** (20 pollen/giorno) : Presto disponibile 🔮\n\nUna volta esaurita la quota gratuita, si consumano Pollen dal proprio portafoglio ($1 ≈ 1 Pollen, nessun abbonamento, nessuna scadenza).\n\n**Hai bisogno di aiuto?**\n- Digita `/poll help` per l'elenco dei comandi.\n- Discord Ufficiale: https://discord.gg/pollinations-ai-885844321461485618"
442
+ "onboarding": "## 🌸 Benvenuto nel plugin Pollinations\n\n**Accesso gratuito immediato — nessuna chiave richiesta**\nQuesto plugin offre un ambiente completo per chat, generazione di codice e manipolazione multimediale (generazione di immagini, video, audio, strumenti di estrazione...).\n\nSeleziona un modello `pollinations/free/*` dall'elenco e inizia a chattare.\n{freeText}\n\n**🆓 Strumenti gratuiti bonus (senza chiave):** `gen_edit_image_free` e `gen_video_free` — genera/modifica immagini (~20/giorno) e video (~5/giorno) subito, per qualsiasi modello.\n\n---\n\n## 🚀 Agenti e strumenti multimediali per sviluppatori\n\nClaude Opus, GPT-5, Gemini 3, generazione video Veo e Wan, musica ElevenLabs... sblocca tutta la potenza dell'API Pollinations!\n\nQuesto plugin usa un modello **BYOK** (Bring Your Own Key): con la tua chiave API, l'agente OpenCode può interagire direttamente con gli strumenti Premium e creare i tuoi file multimediali nel tuo Workspace.\n\n**Passo 1 — Crea un account gratuito**\n👉 **https://enter.pollinations.ai**\n\n**Passo 2 — Genera la tua chiave API**\nNella sezione **API Keys** su `enter.pollinations.ai`, crea una chiave **Secret** (`sk_...`).\n\n**Passo 3 — Connetti la chiave**\n```bash\n/poll connect sk_la_tua_chiave\n```\n*(La chiave viene registrata subito nel tuo ambiente OpenCode, sbloccando i modelli Pro!)*\n\n---\n\n## 💰 Pollen, Livelli e Quest\nIl tuo **livello** ti una ricarica oraria di Pollen gratuito (es. 🌸 Flower 0,4/h). Inoltre, le **Quest** ti premiano con Pollen gratuito e usare semplicemente questo plugin ne completa diverse retroattivamente! Controlla `/poll quests`.\n\nUna volta esaurito il Pollen gratuito, spendi dal tuo wallet ($1 ≈ 1 Pollen, senza abbonamento, senza scadenza).\n\n**Serve aiuto?** Digita `/poll help`. Discord ufficiale: https://discord.gg/pollinations-ai-885844321461485618"
363
443
  },
364
444
  "cost_guard": {
365
445
  "cost_validated_max": "💰 Costo convalidato (Max teorico: {maxCost})",
@@ -370,5 +450,15 @@
370
450
  "reason_fixed": "Il costo stimato di questa azione ({cost}) supera la soglia definita ({limit}).",
371
451
  "estimated_max": "💰 Costo medio stimato: {cost} (Max: {maxCost})",
372
452
  "estimated": "💰 Costo stimato: {cost}"
453
+ },
454
+ "tier": {
455
+ "condition": {
456
+ "signup": "Basta registrarsi!",
457
+ "auto_verify": "Verifica automatica",
458
+ "community": "Membro attivo della community",
459
+ "publish_app": "Pubblica un'app",
460
+ "top_contributor": "Contributore di punta",
461
+ "special": "Speciale / solo su invito"
462
+ }
373
463
  }
374
464
  }