Skip to content

CaptainFredric/ContentForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ContentForge — Content Intelligence API

45 endpoints · 12 platforms · Deterministic scoring in <50ms · No AI hallucinations

Score content before you post. ContentForge is a Content Intelligence API — a before-publish quality gate that grades every tweet, LinkedIn post, headline, and ad copy with a deterministic A–F score, actionable suggestions, and a PASSED | REVIEW | FAILED verdict in under 50ms — no LLM involved in the scoring layer.

Think of it as a digital ruler for content quality. A ruler doesn't need a dataset to tell you something is 12 inches long — it just needs to be correctly calibrated. ContentForge's heuristic engine is that ruler: zero variance on the same input, zero hallucinations, fully auditable open-source logic. AI (Ollama or Gemini) kicks in only for generation endpoints like rewrites, hooks, and subject lines.

import requests

HEADERS = {"X-RapidAPI-Key": "YOUR_KEY", "X-RapidAPI-Host": "contentforge1.p.rapidapi.com"}

r = requests.post("https://contentforge1.p.rapidapi.com/v1/score_tweet",
    headers=HEADERS,
    json={"text": "I'm working on a new project."})
# → {"score": 32, "grade": "C", "quality_gate": "FAILED", "suggestions": [...]}

r = requests.post("https://contentforge1.p.rapidapi.com/v1/score_tweet",
    headers=HEADERS,
    json={"text": "Got 100 signups in 24 hours 🚀 Here's the copy that converted: #buildinpublic"})
# → {"score": 91, "grade": "A", "quality_gate": "PASSED", "suggestions": []}

Start free on RapidAPI — no credit card required, 300 requests/month on BASIC.


Current Status (v1.9.0)

Component Status Notes
ContentForge API ✅ Live https://contentforge-api-lpp9.onrender.com
RapidAPI Listing ✅ Public 45 endpoints, 4-tier pricing
Keep-warm cron ✅ Active cron-job.org pings /health every 10 min, 60s timeout
Gemini backend ✅ Configured gemini-2.5-flash on Render (AI generation fallback)
Ollama local ✅ Running Scoring uses zero AI calls — pure heuristics
Twitter bots ✅ Active Multi-account state machine, health scoring
Legal docs ✅ Done docs/TERMS_OF_USE.md, docs/TERMS_AND_CONDITIONS.md

Why Deterministic Scoring?

Every LLM-based scorer has the same flaw: ask it to score the same tweet twice and you'll get two different answers. For a professional content workflow, that's not a tool — that's a vibe check.

ContentForge's scoring layer is pure Python heuristics. Same input → same output, every time. The logic is open source; you can read exactly why a post scored 74 and not 83. This is the Deterministic Advantage:

ContentForge LLM-based scoring
Response time <50ms 1–5 seconds
Variance on same input 0% ~15–30%
Explainability Full — every deduction itemised Black box
Cost per call Free (heuristics) $0.001–0.01 per call
Self-hostable ✅ (python scripts/api_prototype.py) Depends on provider

All 45 Endpoints

Instant Scorers (no AI, <50ms)

Endpoint What It Does
POST /v1/score_tweet Score a tweet 0–100 with grade + quality gate
POST /v1/score_linkedin_post Score a LinkedIn post for professional engagement
POST /v1/score_instagram Score an Instagram caption for saves and reach
POST /v1/score_youtube_title Score a YouTube title for CTR and SEO
POST /v1/score_youtube_description Score a YouTube description for watch time
POST /v1/score_email_subject Score an email subject line for open rate
POST /v1/score_readability Flesch–Kincaid + grade level + suggestions
POST /v1/score_threads Score a Threads post
POST /v1/score_facebook Score a Facebook post
POST /v1/score_tiktok Score a TikTok caption
POST /v1/score_pinterest Score a Pinterest pin description
POST /v1/score_reddit Score a Reddit post/title
POST /v1/analyze_headline Headline power word detection + CTR scoring
POST /v1/analyze_hashtags Hashtag strategy audit across platforms
POST /v1/score_content Single unified endpoint — pass platform param
GET /v1/analyze_headline GET variant for quick headline scoring

Multi-Content & Comparison

Endpoint What It Does
POST /v1/score_multi Score one post across all platforms simultaneously
POST /v1/ab_test Head-to-head score comparison of two drafts

AI Generation (Ollama → Gemini fallback)

Endpoint What It Does
POST /v1/improve_headline Rewrite a weak headline N times, sorted by score
POST /v1/generate_hooks Scroll-stopping openers for any topic/style
POST /v1/rewrite Rewrite for Twitter, LinkedIn, email, or blog
POST /v1/compose_assist Full draft generation with platform constraints
POST /v1/tweet_ideas Tweet ideas for a niche with hashtags
POST /v1/content_calendar 7-day content calendar with ready-to-post drafts
POST /v1/thread_outline Full Twitter thread: hook + body + CTA close
POST /v1/generate_bio Optimised social bio, auto-trimmed to platform limits
POST /v1/generate_ad_copy Google/Meta ad copy with CTA and compliance signals
POST /v1/generate_subject_line AI email subject line with open-rate optimisation

Quality Operations (QOps)

Endpoint What It Does
POST /v1/quality_gate Batch PASSED/REVIEW/FAILED verdict for up to 10 posts
GET /v1/platform_friction Real-time platform state (rate limits, algo signals)
POST /v1/proof_export Export scored posts + engagement delta as proof report

Utility

Endpoint What It Does
GET /health Service health: LLM backend, usage stats
GET /v1/status Lightweight ping — version, endpoint count

(Full 45-endpoint list with request/response schemas: RapidAPI docs)


Self-Hosting

ContentForge runs fully locally with Ollama. No external AI calls needed for scoring.

git clone https://github.com/CaptainFredric/ContentForge.git
cd ContentForge
pip install -r requirements.txt
python scripts/api_prototype.py
# → Listening on http://localhost:5000

What runs locally with zero external calls:

  • All 12 platform scorers (deterministic, <50ms)
  • Quality gate evaluation (PASSED / REVIEW / FAILED)
  • Rate limiting and proof dashboard

What uses Ollama locally or falls back to Gemini:

  • Hook generation, rewrites, bio generation, subject lines, ad copy

LLM chain: Ollama first → Gemini 2.5 Flash if Ollama unavailable → model rotation. If Ollama is running locally, nothing leaves your machine for AI calls.

License: AGPL-3.0


Pricing (via RapidAPI)

Plan Price AI calls/mo Requests/mo
BASIC Free 50 300
PRO $9.99/mo 750 1,000
ULTRA $29.99/mo 3,000 4,000
MEGA $99/mo 18,000 20,000

All plans include every endpoint. Heuristic scoring calls don't count against your AI quota.

Get your free API key


Architecture

This repo contains both the ContentForge API and the MoneyPrinterV2 Twitter/YouTube automation platform that drives traffic to it.

scripts/
└── api_prototype.py         # ContentForge Flask API — all 45 endpoints
src/
├── main.py                  # Interactive CLI menu
├── cron.py                  # Headless runner for scheduled posts
├── llm_provider.py          # Ollama SDK + Gemini fallback chain
├── account_state_machine.py # Multi-account health scoring + rotation
└── classes/
    ├── Twitter.py           # Tweet generation + Selenium posting
    └── YouTube.py           # LLM script → TTS → MoviePy → upload
deploy/
├── render.yaml              # Render Blueprint
├── openapi.json             # OpenAPI 3.0.3 spec (45 paths)
└── Procfile                 # Gunicorn start command

Bot → API funnel: Twitter bots post content that drives traffic to the RapidAPI listing. The API generates subscription revenue. Zero upfront infra cost (Render free tier + Gemini free tier + RapidAPI free provider).


Contributing

PRs against main. One feature/fix per PR. Open an issue first. See CONTRIBUTING.md.

License

Affero General Public License v3.0. See LICENSE.

Attribution

Based on MoneyPrinterV2 by @DevBySami.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors