Skip to main content

Overview

The Social Content Pipeline is a Trigger.dev background pipeline that generates Professor High social media content from your strain database, blog articles, and terpene data. It produces ready-to-review drafts for TikTok, Instagram, X/Twitter, YouTube, and LinkedIn — covering everything from strain breakdowns to myth-busting threads to carousel posts. All generated content saves as drafts for manual review. Nothing is auto-posted. You control what goes live and when.
This pipeline generates content text and images. Actual posting to social platforms is a manual step — the pipeline produces a queue of reviewed, approved drafts ready to publish.

Content Strategy

The pipeline follows 6 content pillars with target distribution percentages to maintain a balanced social presence:
PillarWeightDescriptionExample Formats
Strain Intel30%Deep dives into specific strainsStrain breakdowns, terpene spotlights, comparison posts
Science Drops20%Cannabis science made accessibleTerpene explainers, entourage effect, research highlights
Myth Busting15%Correcting common misconceptions”Indica vs Sativa is outdated” threads, fact-check posts
Lifestyle15%Cannabis culture and experiencesActivity pairings, consumption tips, vibe guides
App Features10%High IQ product highlightsLabel Scanner demos, stash tips, feature walkthroughs
Community10%Engagement and conversation startersPolls, “what’s in your stash” prompts, user stories

Supported Platforms

TikTok

Short-form video scripts with hooks, captions, and hashtag sets optimized for discovery.

Instagram

Feed posts, carousels (up to 10 slides), Reels scripts, and Stories sequences with visual direction.

X / Twitter

Single tweets, threads (up to 10 posts), and quote-tweet-ready takes with character-count awareness.

YouTube

Shorts scripts and long-form video outlines with chapter markers and thumbnail concepts.

LinkedIn

Professional-tone posts covering cannabis industry trends, data insights, and platform updates.

How It Works

The pipeline has 4 stages that transform source data into ready-to-review social media drafts:
1

Fetch Source Data

The pipeline pulls source material based on the content type. For strain breakdowns, it fetches the full strain profile (terpenes, effects, genetics, High Family). For science explainers, it pulls terpene data and research. For blog-based content, it fetches the full article text. All source data is assembled into a structured context package for the AI.
2

Generate Text

Claude Sonnet generates the post text using the source data, target platform, content type, and Professor High’s brand voice. The output is platform-native — threads for X, carousel slide text for Instagram, hook-first scripts for TikTok. Each generation includes the post body, hashtags, caption, and any platform-specific metadata (slide count, character counts, etc.).
3

Generate Images

Google Gemini generates visual assets with the Professor High reference image for character consistency. Instagram carousels get individual slide images. TikTok and YouTube get thumbnail concepts. X posts get optional companion images. Image prompts are derived from the text content to ensure visual-text alignment.
4

Save Draft

The complete draft — text, images, metadata, and source references — is saved to the social_content_drafts table in Supabase with status draft. Images are uploaded to the social-content Supabase Storage bucket. The draft is now ready for review in the Draft Queue.

Pipeline Architecture

Location

packages/trigger/src/tasks/social-content/
├── 01-fetch-source.ts
├── 02-generate-text.ts
├── 03-generate-images.ts
├── 04-save-draft.ts
├── orchestrator.ts
├── batch.ts
└── scheduled.ts

Task Summary

Task IDStageModel / ToolPurpose
social-content-01-fetch-source1Supabase + APIFetch strain, blog, or terpene source data
social-content-02-generate-text2Claude SonnetGenerate platform-native post text
social-content-03-generate-images3GeminiGenerate visuals with Professor High
social-content-04-save-draft4SupabaseSave draft and upload images
social-content-pipelineOrchestratorCoordinate all 4 stages for a single post
social-content-batchBatchGenerate a full day or week of content
social-content-weekly-generationCronScheduled weekly generation (disabled by default)

Running the Pipeline

Single Post (Dashboard)

Go to the Trigger.dev dashboard and run the social-content-pipeline task:
{
  "platform": "instagram",
  "contentType": "strain-breakdown",
  "sourceSlug": "blue-dream"
}

Batch Generation

Run social-content-batch to generate a full day or week of content across all platforms:
{
  "mode": "day",
  "date": "2026-04-12"
}
{
  "mode": "week",
  "startDate": "2026-04-14"
}
Batch mode uses the content pillar distribution to select the right mix of content types and platforms for the time period.

Scheduled Generation

The social-content-weekly-generation task is a cron-triggered job that runs every Sunday at 6 PM Central to generate the following week’s content. It is disabled by default — activate it from the Trigger.dev dashboard when you are ready for automated weekly generation.

Content Types

Content TypePlatformsDescription
strain-breakdownAllDeep dive into a single strain’s profile, effects, and terpenes
science-explainerAllEducational post about cannabis science (terpenes, cannabinoids, entourage effect)
myth-bustX, Instagram, TikTokDebunking a common cannabis misconception
carouselInstagramMulti-slide visual story (up to 10 slides)
threadXMulti-post thread (up to 10 tweets)
tweetXSingle tweet with optional image
terpene-spotlightAllFocus on a single terpene and its effects
strain-comparisonInstagram, XSide-by-side comparison of two strains
activity-pairingTikTok, InstagramStrain recommendation for a specific activity
app-featureAllHighlight of a High IQ feature with Professor High

Professor High Brand Voice

All generated content uses Professor High’s established voice:
  • Knowledgeable but approachable — explains complex science in plain language
  • Playful and witty — uses humor without being unprofessional
  • Data-driven — always cites specific terpene percentages, effects, and strain data
  • Community-focused — speaks to the cannabis community, not at them
  • Education-first — every post teaches something, even entertainment content

Draft-First Workflow

The pipeline is designed around a review-before-publish model:
1

Pipeline Generates

Content is generated and saved with status draft in the queue.
2

Review

Review drafts via the API. Check text, images, hashtags, and platform formatting.
3

Approve or Reject

Approve drafts that are ready. Reject or edit those that need changes. Add review notes.
4

Schedule

Set a scheduled_at timestamp for approved content to organize your posting calendar.
5

Publish Manually

Copy the approved content to your social media management tool or post directly. Mark as posted when live.
See the Draft Queue Management article for full details on the review workflow and API endpoints.

Storage

Supabase Storage

Bucket: social-content
Path PatternContent
{draft_id}/image_{index}.pngGenerated images for a draft
{draft_id}/thumbnail.pngVideo thumbnail concepts
{draft_id}/carousel/slide_{index}.pngIndividual carousel slide images

Database

Table: social_content_drafts in Supabase. See Draft Queue Management for the full schema and lifecycle.

Cost Model

Content generation costs vary by type and platform:
ComponentModelCost per Post
Source fetchSupabase + API~$0.00
Text generationClaude Sonnet~$0.02-0.05
Image generationGemini~$0.04-0.12
StorageSupabase~$0.001
Single post total~$0.06-0.17
Full week batch (~35 posts)~$2.00-6.00
Carousel posts cost more due to multiple image generations (up to 10 slides). Single-image posts are at the low end of the range.