# Social Media Automation Open-Source Research

Date: 2026-07-08

## Summary

If the requirement is:

- closed-source commercial product
- no obligation to open-source our own code
- no software-license payments to upstream open-source authors

then the answer is **yes, but not as one perfect project**.

The safest path is a permissive-license stack built around:

- `@cline/sdk` for agent orchestration
- official social-platform APIs for publishing
- permissive media and ML libraries for asset understanding and content generation support

The answer is **not** "pick any popular self-hosted social scheduler." Several well-known options are blocked by AGPL, non-OSI licensing, or paid tiers for the exact features we would want.

There is also an important business reality:

- "No money to anyone" is **not realistic** for the full target if X is included, because X's current developer platform is billed and relevant endpoints require plan enrollment.
- AI inference is also not free unless we run local models ourselves through something like Ollama or vLLM, and every chosen model license still needs separate review.

## Bottom Line

What I would actually use for Zonegaze:

1. `@cline/sdk` as the control plane.
2. Official platform adapters for Instagram/Facebook/Threads, TikTok, YouTube, LinkedIn, and Pinterest.
3. Local asset-understanding pipeline for videos/images/text.
4. A queue/workflow layer in our own app.
5. Optional self-hosted reference products only as inspiration or sidecar services, not as the core product.

If the requirement is **strict zero license fees and closed-source safety**, I would **not** base the product on Postiz, n8n, or paid Mixpost tiers.

## Best-Fit Building Blocks

| Project | License / status | Why it fits | Notes |
| --- | --- | --- | --- |
| `@cline/sdk` | Apache-2.0 | Agent runtime with plugins, MCPs, cron jobs, subagents, checkpoints | Good control plane; model cost is separate |
| BullMQ | MIT | Node-native background jobs and retries | Best simple fit if we stay in TS/Node |
| Temporal | MIT | Stronger durable workflows for long-running pipelines | Heavier than BullMQ, but very solid |
| FFmpeg | LGPL by default, GPL if built with GPL parts | Best backbone for video transcoding and normalization | Use an LGPL-safe build only |
| `sharp` | Apache-2.0 | Fast server-side image processing | Good Node fit |
| `faster-whisper` | MIT | Local video/audio transcription | Good for reels, videos, hooks, subtitles |
| OpenCV | Apache-2.0 | Vision utilities and frame analysis | Use for visual signals if needed |
| PySceneDetect | BSD-3-Clause | Shot/scene boundary detection for long videos | Useful for clip extraction |
| `sentence-transformers` | Apache-2.0 | Embeddings for trend matching and retrieval | Model licenses must be checked separately |
| BERTopic | MIT | Topic clustering from transcripts/captions/trend text | Good for market-angle discovery |
| Qdrant | Apache-2.0 | Self-hosted vector store | Good for asset/trend memory |
| Langfuse core | MIT outside `ee/` folders | LLM tracing and evaluation | Optional, but useful once the agent loop grows |

## Off-The-Shelf Products Worth Looking At

### Mixpost

Closest real product fit if we want a self-hosted social manager quickly.

- The GitHub repo is MIT-licensed.
- The product has an API.
- The product also ships an MCP server.

But it is **not a perfect zero-cost all-platform answer**:

- Mixpost also sells paid Pro and Enterprise editions.
- Its Lite package does **not** support several major targets such as YouTube, LinkedIn, Threads, and Pinterest.
- Its X integration documentation explicitly references the new pay-as-you-go X API platform.

Practical conclusion:

- Mixpost is a good **reference or sidecar**.
- Mixpost Lite is **not enough** for the "all platforms with minimum effort" goal.
- Paid Mixpost tiers break the "without paying anyone" requirement.

### Activepieces Community Edition

Potentially useful as an internal automation UI, not as the core social product.

- Community Edition is MIT.
- Enterprise pieces are commercial.

Practical conclusion:

- Acceptable if we want a workflow console.
- I would still keep the real product logic in our own code.

## Projects I Would Not Use As The Core

| Project | Why I would not use it |
| --- | --- |
| Postiz | AGPL-3.0; not a good fit for a closed-source product core |
| n8n | Sustainable Use License; not the permissive OSS profile this repo wants |
| Remotion | Current licensing/pricing is not "free forever for commercial automation" |

## Platform Reality As Of 2026-07-08

There is no single permissive open-source project that legally and reliably gives us every major platform with full automation. The reliable path is official APIs per platform.

| Platform | Official publishing support | Cost / access reality |
| --- | --- | --- |
| Instagram | Official Content Publishing API supports publishing images, videos, reels, and carousel posts | Free API access, but business/account constraints and publish limits apply |
| Facebook Pages | Official Pages API + Video API support posts, photos, videos, and Reels on Pages | Free API access, but app review/permissions apply |
| Threads | Threads API supports image, video, text, and carousel posts | Free API access, but API scope/access rules still apply |
| TikTok | Official Content Posting API supports direct post and draft flows | Free API product, but app setup, domain verification, and creator auth are required |
| YouTube | Official Data API supports uploads and metadata updates | Free quota exists, but upload quota is limited |
| LinkedIn | Official Posts API supports image, video, article, poll, and multi-image posts | Free API access in principle, but product/scope approval matters |
| Pinterest | Official API supports creating Pins and media upload | Review flow exists; initial access can be sandbox/trial style |
| X | Official API requires plan enrollment; platform is consumption billed | Breaks strict "no money to anyone" requirement |

Practical product implication:

- A v1 that claims "all platforms" should either exclude X or make X a paid/optional connector.
- If we insist on "all platforms" from day one, the no-payment requirement already fails.

## What The Product Should Actually Do

Given a product direction, market, local folder of videos/images, and prior performance data, the system should:

1. Ingest local assets.
2. Transcribe audio from video.
3. Extract scenes, frames, objects, on-screen text, and keywords.
4. Compare those signals to current trend and audience data.
5. Ask the Cline-driven agent to propose platform-specific hooks, titles, captions, descriptions, hashtags, thumbnails, and post timing.
6. Publish through official APIs.
7. Pull analytics and comments back into the system.
8. Learn which angles and formats actually worked.

## What I Would Build

### Control Plane

- `@cline/sdk`
- local or hosted models behind our own adapter boundary
- model choice separated from the orchestration layer

Important caveat:

- Cline SDK is the harness, not the model.
- If we truly want "pay no one," use local models through Ollama or vLLM.
- Each model license must be reviewed independently before commercial use.

### Media Understanding

- FFmpeg for conversion, cuts, normalization, thumbnails
- `faster-whisper` for transcripts
- OpenCV or PySceneDetect for clip/scene segmentation
- `sharp` for images and crops

### Trend and Angle Discovery

- `sentence-transformers` embeddings
- BERTopic topic clustering
- our own ranking layer over:
  - platform analytics from official APIs
  - allowed search/discovery surfaces
  - our own historical engagement data

This is the part I would own ourselves. I did **not** find a permissive, fully self-driving, all-platform "trend brain" that I would trust as the core of the product.

### Publishing Layer

- one adapter per platform
- normalized internal post schema
- platform capability matrix for:
  - text length
  - media types
  - reels/shorts/video rules
  - title/description/thumbnail support
  - scheduling constraints

### Workflow Layer

Use one of:

- BullMQ if we want the simplest TS/Node path
- Temporal if we want stronger long-running workflow guarantees

## Recommended Direction

If the goal is the best long-term fit for Zonegaze, I would choose this path:

1. Build our own TypeScript service around `@cline/sdk`.
2. Start with Instagram, Facebook Pages, Threads, TikTok, YouTube, and LinkedIn.
3. Exclude X from the initial "free/commercial-safe" promise.
4. Use permissive open-source media/ML components for understanding supplied assets.
5. Keep publishing on official APIs only.
6. Treat Mixpost as a reference implementation or optional sidecar, not the product core.

If the goal is fastest prototype with the least engineering:

1. Evaluate Mixpost Lite immediately.
2. Accept that major platforms and advanced features will likely push us toward paid tiers.
3. Put a Cline agent on top through Mixpost's API or MCP only if that tradeoff is acceptable.

## Sources

- Cline SDK overview: https://docs.cline.bot/sdk/overview
- Cline GitHub repository / license: https://github.com/cline/cline
- Mixpost GitHub repository / MIT license: https://github.com/inovector/mixpost
- Mixpost API docs: https://docs.mixpost.app/api/
- Mixpost MCP page: https://mixpost.app/mcp
- Mixpost pricing and paid editions: https://mixpost.app/pricing
- Mixpost service docs showing Lite limitations:
  - YouTube: https://docs.mixpost.app/services/social/google/youtube/
  - LinkedIn: https://docs.mixpost.app/services/social/linked-in/share/
  - Threads: https://docs.mixpost.app/services/social/threads/
  - Pinterest: https://docs.mixpost.app/services/social/pinterest/
  - X: https://docs.mixpost.app/services/social/x/
- Postiz AGPL license: https://github.com/gitroomhq/postiz-app/blob/main/LICENSE
- n8n license: https://github.com/n8n-io/n8n/blob/master/LICENSE.md
- Activepieces repo / CE licensing summary: https://github.com/activepieces/activepieces
- Remotion licensing FAQ: https://www.remotion.dev/docs/license-pricing-compliance/faq
- FFmpeg legal and licensing: https://www.ffmpeg.org/legal.html
- `faster-whisper` MIT license: https://github.com/SYSTRAN/faster-whisper
- `sharp` Apache-2.0 license: https://github.com/lovell/sharp
- OpenCV license: https://opencv.org/license/
- PySceneDetect BSD-3-Clause: https://github.com/Breakthrough/PySceneDetect
- BERTopic MIT license: https://github.com/MaartenGr/BERTopic
- `sentence-transformers` Apache-2.0 license: https://github.com/huggingface/sentence-transformers
- BullMQ MIT license: https://github.com/taskforcesh/bullmq
- Temporal MIT license: https://temporal.io/
- Qdrant Apache-2.0 license: https://github.com/qdrant/qdrant
- Langfuse open-source licensing notes: https://langfuse.com/handbook/chapters/open-source
- Instagram Content Publishing API: https://developers.facebook.com/documentation/instagram-platform/content-publishing
- Facebook Pages posts and video publishing:
  - https://developers.facebook.com/documentation/pages-api/posts
  - https://developers.facebook.com/documentation/video-api/guides/publishing
- Threads API:
  - https://developers.facebook.com/documentation/threads
  - https://developers.facebook.com/documentation/threads/posts
- TikTok Content Posting API:
  - https://developers.tiktok.com/products/content-posting-api/
  - https://developers.tiktok.com/doc/content-posting-api-get-started
- YouTube Data API uploads:
  - https://developers.google.com/youtube/v3/docs/videos/insert
  - https://developers.google.com/youtube/v3/guides/uploading_a_video
- LinkedIn posts:
  - https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api
  - https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares
- Pinterest API:
  - https://developers.pinterest.com/docs/api/v5/pins-create/
  - https://developers.pinterest.com/docs/key-concepts/best-practices/
- X Developer Platform:
  - https://developer.x.com/
  - https://developer.x.com/apitools/api
