AI Settings
jekcms uses AI in several places — the Content Studio drafting tools, bulk generation through the content queue, content enhancement over the webhook API, and the AI image tools. All of them share one configuration: the provider keys and the active provider you set under Settings (admin/settings.php).
Provider API keys
The AI section of Settings has a password field per provider:
- Gemini (
AI...keys) — the default provider - OpenAI (
sk-...) - Groq (
gsk_...) - Claude
- Cohere
Enter keys only for the providers you use; the active provider setting (ai_provider) decides which one the generation tools call. Content Studio shows the connection at a glance — a green dot with "connected" when the active provider has a key, amber "API key missing" when it doesn't. A test call is available from the generation screens so you can verify a key before relying on it.
How keys are stored
Keys are encrypted at rest (versioned AES-256-GCM through the product's central crypto layer) and every read/write goes through a single key-vault gateway, which keeps the plaintext out of error traces, logs and export paths. Legacy installs that still carry a plaintext key are migrated on save. To rotate a key, paste the new one and save — the old value is overwritten.
What uses AI
- Content Studio (Content Studio in the admin menu) — single-post drafting, analysis and the generation queue
- Bulk generation — batches queued through the content queue (see Bulk Generation)
- Webhook API — the
ai-enhanceaction enriches incoming content with metadata (see Webhooks) - AI image tools — the bundled AI image plugin generates featured images
If the active provider has no key, these screens tell you so and generation is refused — no silent failures, no surprise API calls.