AI Task Configuration Reference
Each AI operation uses a task ID to load the correct model configuration.
Task → Feature Mapping
| Task ID | Endpoint | Feature |
|---|---|---|
blog_writing | /api/generate-blog-post, /api/refine-blog-content, /api/chat-blog | Blog generation/editing |
campaign_content | /api/campaigns/:id/generate-content | Campaign content generation |
campaign_planning | /api/campaigns/chat, /api/generate-content-calendar | Campaign planning AI |
image_generation | /api/generate-image | Image generation |
one_shot_refinement | /api/refine-field | Quick field refinement |
profile_analysis | /api/analyze-brand, /api/chat-brand, /api/refine-brand-field | Brand analysis |
social_assist | /api/ai/assist-post | Social post AI assist |
social_posts | /api/generate-posts | Post generation from URLs |
video_script | /api/generate-video-script | Video script generation |
Usage Pattern
typescript
import { aiService } from '../services/ai.service.js';
const result = await aiService.generateContent({
companyId,
userId,
task: 'social_assist', // Task ID determines model
userPrompt: 'Generate a LinkedIn post about...',
});Model Selection
Tasks are configured in AIModelConfig table:
- Opus: Complex reasoning (
campaign_planning) - Sonnet: Quality content (
blog_writing,social_posts,video_script) - Haiku: Fast/cheap (
social_assist,profile_analysis,one_shot_refinement)
Reserved Tasks
| Task | Status |
|---|---|
performance_analysis | Reserved for future analytics features |
test_social_posts | QA/testing only - not user-facing |