Content Engine

by Elliott's AI

ContentEngine
Elliott's AI

Create a Post

Describe your idea and we'll generate platform-native content.

Your Content

Click any text to edit. Copy or save to your calendar.

Content Calendar

All your saved drafts, scheduled, and posted content.

No content yet. Generate some first.

Batch Plan

Generate a multi-day content calendar in one click.

AI will create varied content across your pillars. Takes about 30 seconds.

Platform Setup

Connect your accounts to enable direct posting. Everything works as copy/paste without API keys.

X / Twitter

Easiest to connect

Free tier: 500 posts/month. No approval process, just a developer account.

  1. Go to developer.x.com and sign in with your X account
  2. Click "Sign up for Free Account"
  3. Describe your use case: "Posting content to my own business account"
  4. Once approved (usually instant), go to your Project & App settings
  5. Under "Keys and tokens", generate:
    • API Key (also called Consumer Key)
    • API Secret (also called Consumer Secret)
    • Bearer Token
    • Access Token and Access Token Secret (under Authentication Tokens > Generate)
  6. Important: Set app permissions to Read and Write (default is Read only). Go to Settings > User authentication settings > Edit > set to Read and Write

Add these to your .env file:

TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_BEARER_TOKEN=your_bearer_token
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_token_secret

LinkedIn

Copy/paste for now

Company page posting requires a formal API review (takes weeks). Personal profile posting is simpler.

  1. Go to linkedin.com/developers and create an app
  2. You'll need a LinkedIn Company Page to associate with the app
  3. Request the w_member_social scope for personal posts
  4. For company page posts, apply for the Community Management API (requires LLC/business entity, formal review)
  5. OAuth 2.0 three-legged flow required for token generation
Recommendation: Use copy/paste for now. The approval process for company page posting is slow and requires a registered business entity. Personal profile posting via n8n's LinkedIn node is the fastest path.

Facebook

Needs app review

Post to Facebook Pages via Graph API. Requires Meta App Review (1-2 weeks).

  1. Go to developers.facebook.com and create an app (type: Business)
  2. Add the "Facebook Login" product to your app
  3. Request permissions: pages_manage_posts, pages_read_engagement
  4. Submit for App Review with a screencast showing your use case
  5. Once approved, generate a Page Access Token (long-lived) via the Graph API Explorer

Add these to your .env file:

FACEBOOK_PAGE_ID=your_page_id
FACEBOOK_PAGE_TOKEN=your_page_access_token

Instagram

Needs app review

Same Meta App Review as Facebook. One approval covers both platforms.

  1. Your Instagram account must be a Business or Creator account
  2. Link it to your Facebook Page (Instagram Settings > Accounts Center)
  3. In the same Meta developer app, add instagram_basic and instagram_content_publish
  4. Instagram posting is a 2-step API: create media container, then publish it
  5. Limit: 25 posts per 24 hours

Add these to your .env file:

INSTAGRAM_USER_ID=your_ig_business_user_id
INSTAGRAM_TOKEN=your_instagram_access_token

TikTok

Scripts only (copy/paste)

TikTok's Content Posting API requires an audit (2-4 weeks, no guarantee). Not worth it for a single business account.

How to use: The bot generates video scripts with [HOOK], [BODY], and [CTA] sections plus captions and hashtags. Record the video yourself (or use AI video tools), then copy/paste the caption when posting on TikTok.

Workflow:

  1. Generate content here (select TikTok)
  2. Copy the script, record yourself or use a tool like CapCut
  3. Copy the caption + hashtags when uploading to TikTok
  4. Mark as "Posted" in the Calendar tab

YouTube

Easy to connect

YouTube Data API v3 is free with a Google Cloud project. 6 uploads/day on default quota.

  1. Go to console.cloud.google.com and create a project
  2. Enable the YouTube Data API v3
  3. Go to Credentials > Create Credentials > OAuth 2.0 Client ID
  4. Set up the OAuth consent screen (External, add your email as test user)
  5. Create a "Web application" credential with redirect URI
  6. Use the OAuth playground or your app to get a refresh token

Add these to your .env file:

YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
YOUTUBE_REFRESH_TOKEN=your_refresh_token
For now: The bot generates titles, descriptions, tags, and script outlines. Copy these when uploading to YouTube Studio manually.