AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | π Star if you like it!
Crawler Summary
A 5-agent CrewAI system that researches the web, writes a podcast script, generates AI voiceovers (edge-tts), creates visuals (Flux.1), compiles an MP4, and uploads to YouTube β all via a FastAPI + Streamlit interface. ποΈ Content Creation Agent **An end-to-end AI-powered pipeline that turns any topic into a fully produced, YouTube-ready podcast video β automatically.** Built with **CrewAI**, **FastAPI**, **edge-tts**, **Flux.1**, and **MoviePy**, this multi-agent system researches the web, writes a natural podcast dialogue, generates voice-over audio, creates AI-generated visuals, compiles a video, and uploads it to YouTube β all Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Freshness
Last checked 10/9/2026
Best For
Content_Creation-Agent is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
A 5-agent CrewAI system that researches the web, writes a podcast script, generates AI voiceovers (edge-tts), creates visuals (Flux.1), compiles an MP4, and uploads to YouTube β all via a FastAPI + Streamlit interface. ποΈ Content Creation Agent **An end-to-end AI-powered pipeline that turns any topic into a fully produced, YouTube-ready podcast video β automatically.** Built with **CrewAI**, **FastAPI**, **edge-tts**, **Flux.1**, and **MoviePy**, this multi-agent system researches the web, writes a natural podcast dialogue, generates voice-over audio, creates AI-generated visuals, compiles a video, and uploads it to YouTube β all
Public facts
4
Change events
1
Artifacts
0
Freshness
Oct 9, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Oct 9, 2026
Vendor
Mohammedfathyy
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Mohammedfathyy
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
text
Topic Input
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CrewAI Pipeline β
β β
β Agent 1 Agent 2 Agent 3 β
β Search Query βββΊ Web Search βββΊ Web Scraping β
β Generator Agent Agent β
β β β
β βΌ β
β Agent 5 βββββ Agent 4 β
β Podcast Podcast Script β
β Reviewer βββββΊ + YouTube SEO β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
Text-to-Speech βββΊ Video Generation βββΊ YouTube Upload
(edge-tts) (Flux.1 + MoviePy) (YouTube Data API v3)text
Content_Creation_Agent/
βββ streamlit.py # Streamlit UI (frontend)
βββ README.md
βββ src/
βββ main.py # FastAPI app + LLM loaders + lifespan
βββ requirements.txt
βββ .env.example
βββ client_secrets.json # Google OAuth2 credentials
βββ token.pickle # Saved OAuth2 token
β
βββ controllers/
β βββ Agent_1Controller.py # Search query generation agent & task
β βββ Agent_2Controller.py # Web search agent & task
β βββ Agent_3Controller.py # Web scraping agent & task
β βββ Agent_4Controller.py # Podcast script agent & task
β βββ Agent_5Controller.py # Podcast reviewer agent & task
β βββ CrewController.py # Assembles all agents into Crew
β βββ TexttoSpeechController.py # edge-tts TTS + audio merging
β βββ VideoGenerationController.py# Flux.1 images + MoviePy video
β βββ YoutubeUploadController.py # YouTube Data API v3 upload
β
βββ routes/
β βββ crew.py # POST /create-script
β βββ audio.py # POST /generate-audio
β βββ video.py # POST /generate-video
β βββ upload.py # POST /upload-youtube
β
βββ helpers/
β βββ config.py # Pydantic output schemas for all agents
β βββ schema.py # App settings loaded from .env
β
βββ Results/ # Auto-generated output filesenv
# Output directory for generated files output_dir=Results # API Keys OPENROUTER_API_KEY=your_openrouter_api_key SERPER_API_KEY=your_serper_api_key HUGGINGFACE_API_KEY=your_huggingface_api_key LANGTRACE_API_KEY=your_langtrace_api_key # optional # Models (via OpenRouter) OPENROUTER_MODEL=openrouter/owl-alpha LLAMA_MODEL=openrouter/meta-llama/llama-3.1-8b-instruct NVIDIA_MODEL=openrouter/nvidia/nemotron-nano-9b-v2:free # Agent Behaviour num_keywords=5 # Max search queries Agent 1 generates no_keywords=5 # Same (used via Settings) score_th=0.5 # Minimum relevance score to keep a search result max_results_per_query=3 # Max results per search query min_word_count=200 # Min words for a scraped article to be kept # Quality Thresholds approval_threshold=7.5 # Score Agent 5 needs before approving script revision_threshold=6.0 # Score below which Agent 5 triggers revision max_delegations=2 # Max revision loops allowed
bash
cd src pip install -r requirements.txt
bash
cp .env.example .env # Edit .env with your API keys
bash
cd src uvicorn main:app --reload
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
A 5-agent CrewAI system that researches the web, writes a podcast script, generates AI voiceovers (edge-tts), creates visuals (Flux.1), compiles an MP4, and uploads to YouTube β all via a FastAPI + Streamlit interface. ποΈ Content Creation Agent **An end-to-end AI-powered pipeline that turns any topic into a fully produced, YouTube-ready podcast video β automatically.** Built with **CrewAI**, **FastAPI**, **edge-tts**, **Flux.1**, and **MoviePy**, this multi-agent system researches the web, writes a natural podcast dialogue, generates voice-over audio, creates AI-generated visuals, compiles a video, and uploads it to YouTube β all
An end-to-end AI-powered pipeline that turns any topic into a fully produced, YouTube-ready podcast video β automatically.
Built with CrewAI, FastAPI, edge-tts, Flux.1, and MoviePy, this multi-agent system researches the web, writes a natural podcast dialogue, generates voice-over audio, creates AI-generated visuals, compiles a video, and uploads it to YouTube β all through a simple API or Streamlit UI.
Topic Input
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CrewAI Pipeline β
β β
β Agent 1 Agent 2 Agent 3 β
β Search Query βββΊ Web Search βββΊ Web Scraping β
β Generator Agent Agent β
β β β
β βΌ β
β Agent 5 βββββ Agent 4 β
β Podcast Podcast Script β
β Reviewer βββββΊ + YouTube SEO β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
Text-to-Speech βββΊ Video Generation βββΊ YouTube Upload
(edge-tts) (Flux.1 + MoviePy) (YouTube Data API v3)
| Agent | Role | LLM | Tools | |-------|------|-----|-------| | Agent 1 | Search Query Generator | owl-alpha (OpenRouter) | β | | Agent 2 | Web Search Agent | LLaMA 3.1 8B (OpenRouter) | SerperDevTool | | Agent 3 | Web Scraping Agent | LLaMA 3.1 8B (OpenRouter) | ScrapeWebsiteTool | | Agent 4 | Podcast Script Writer + YouTube SEO | owl-alpha (OpenRouter) | β | | Agent 5 | Podcast Script Reviewer (w/ delegation) | NVIDIA Nemotron 9B (OpenRouter) | β |
Step 1 β Search Query Generation (Agent 1)
Generates targeted, multi-angle search queries from the topic (news, expert opinions, statistics, comparisons).
Step 2 β Web Search (Agent 2)
Executes each query via Serper, filters by relevance score threshold, deduplicates URLs.
Step 3 β Web Scraping (Agent 3)
Scrapes full article text from each URL, cleans boilerplate, flags failures transparently.
Step 4 β Podcast Script + YouTube Metadata (Agent 4)
Converts scraped content into a natural two-host dialogue with tones (curious, explanatory, enthusiastic, thoughtful, humorous), plus YouTube title, description, and SEO tags.
Step 5 β Quality Review (Agent 5)
Reviews the script across 6 dimensions (naturalness, engagement, content coverage, tone variety, CTA, YouTube metadata). Can delegate back to Agent 4 for revisions up to a configurable limit.
After the CrewAI pipeline completes:
| Step | Component | What it does |
|------|-----------|--------------|
| π TTS | TexttoSpeechController | Generates per-line MP3 audio using Microsoft Edge TTS with per-host voices |
| πΌοΈ Image Generation | VideoGenerationController | Generates one AI image per dialogue line using Flux.1-schnell (HuggingFace) |
| ποΈ Video Compilation | VideoGenerationController | Applies tone-based Ken Burns effects, speaker overlays, and compiles MP4 |
| π€ YouTube Upload | YoutubeUploadController | Uploads the video privately via YouTube Data API v3 with OAuth2 |
Content_Creation_Agent/
βββ streamlit.py # Streamlit UI (frontend)
βββ README.md
βββ src/
βββ main.py # FastAPI app + LLM loaders + lifespan
βββ requirements.txt
βββ .env.example
βββ client_secrets.json # Google OAuth2 credentials
βββ token.pickle # Saved OAuth2 token
β
βββ controllers/
β βββ Agent_1Controller.py # Search query generation agent & task
β βββ Agent_2Controller.py # Web search agent & task
β βββ Agent_3Controller.py # Web scraping agent & task
β βββ Agent_4Controller.py # Podcast script agent & task
β βββ Agent_5Controller.py # Podcast reviewer agent & task
β βββ CrewController.py # Assembles all agents into Crew
β βββ TexttoSpeechController.py # edge-tts TTS + audio merging
β βββ VideoGenerationController.py# Flux.1 images + MoviePy video
β βββ YoutubeUploadController.py # YouTube Data API v3 upload
β
βββ routes/
β βββ crew.py # POST /create-script
β βββ audio.py # POST /generate-audio
β βββ video.py # POST /generate-video
β βββ upload.py # POST /upload-youtube
β
βββ helpers/
β βββ config.py # Pydantic output schemas for all agents
β βββ schema.py # App settings loaded from .env
β
βββ Results/ # Auto-generated output files
Copy src/.env.example to src/.env and fill in all values:
# Output directory for generated files
output_dir=Results
# API Keys
OPENROUTER_API_KEY=your_openrouter_api_key
SERPER_API_KEY=your_serper_api_key
HUGGINGFACE_API_KEY=your_huggingface_api_key
LANGTRACE_API_KEY=your_langtrace_api_key # optional
# Models (via OpenRouter)
OPENROUTER_MODEL=openrouter/owl-alpha
LLAMA_MODEL=openrouter/meta-llama/llama-3.1-8b-instruct
NVIDIA_MODEL=openrouter/nvidia/nemotron-nano-9b-v2:free
# Agent Behaviour
num_keywords=5 # Max search queries Agent 1 generates
no_keywords=5 # Same (used via Settings)
score_th=0.5 # Minimum relevance score to keep a search result
max_results_per_query=3 # Max results per search query
min_word_count=200 # Min words for a scraped article to be kept
# Quality Thresholds
approval_threshold=7.5 # Score Agent 5 needs before approving script
revision_threshold=6.0 # Score below which Agent 5 triggers revision
max_delegations=2 # Max revision loops allowed
cd src
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your API keys
client_secrets.jsonclient_secrets.json in src/token.picklecd src
uvicorn main:app --reload
The API will be available at http://localhost:8000
# From the project root
streamlit run streamlit.py
POST /create-scriptRuns the full 5-agent CrewAI pipeline and generates a podcast script.
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| topic | str | required | The podcast topic |
| websites_list | str | required | Preferred source websites (comma-separated) |
| language | str | required | Language for search queries (e.g. English) |
| target_word_count | int | required | Approximate article length target |
| tone | str | "informative and professional" | Writing tone |
| host_1_name | str | "Alex" | Name of host 1 |
| host_2_name | str | "Sara" | Name of host 2 |
| target_duration_minutes | int | 3 | Target podcast duration in minutes |
Response: JSON with suggested search queries from Step 1.
POST /generate-audioConverts the podcast script into per-line MP3 segments and merges them.
β οΈ Requires
/create-scriptto have been run first.
Response: final_audio.mp3 file download.
POST /generate-videoGenerates one AI image per dialogue line, overlays speaker text, applies tone-based video effects, and compiles the final MP4.
β οΈ Requires
/generate-audioto have been run first.
Response: podcast_video.mp4 file download.
POST /upload-youtubeUploads the generated video to YouTube as private (safe for review before publishing).
β οΈ Requires
/generate-videoto have been run first.
Response: { "youtube_url": "https://www.youtube.com/watch?v=..." }
| Dialogue Tone | Visual Effect |
|--------------|---------------|
| curious | Slow zoom-in (discovery feeling) |
| explanatory | Pan left-to-right (steady, clear) |
| enthusiastic | Fast zoom-in + fade in (energy) |
| thoughtful | Zoom-out (reflective, pulling back) |
| humorous | Handheld camera shake (playful) |
All files are saved to output_dir (configured in .env):
| File | Description |
|------|-------------|
| step_1_suggested_search_queries.json | Agent 1 output β search queries |
| step_2_search_results.json | Agent 2 output β filtered search results |
| step_3_scraped_articles.json | Agent 3 output β scraped article content |
| step_4_podcast_script.json | Agent 4 output β podcast script + YouTube metadata |
| step_5_podcast_review.json | Agent 5 output β quality review scores |
| audio_segments/ | Per-line MP3 audio files |
| frame_images/ | Raw + overlaid PNG frames |
| final_audio.mp3 | Merged full podcast audio |
| podcast_video.mp4 | Final compiled video |
| Library | Purpose |
|---------|---------|
| crewai | Multi-agent orchestration |
| crewai-tools | SerperDevTool, ScrapeWebsiteTool |
| fastapi + uvicorn | REST API backend |
| streamlit | Frontend UI |
| edge-tts | Microsoft Neural TTS (free) |
| moviepy | Video compilation |
| Pillow | Image processing & overlays |
| huggingface_hub | Flux.1 image generation via HuggingFace Inference |
| google-api-python-client | YouTube Data API v3 |
| pydantic | Structured agent output schemas |
max_delegations times).private by default β review the video before publishing.verbose=True in agents and crew to monitor agent reasoning in the terminal.MIT License β feel free to use, modify, and extend.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | π Star if you like it!
AI Agents & MCPs & AI Workflow Automation β’ (~400 MCP servers for AI agents) β’ AI Automation / AI Agent with MCPs β’ AI Workflows & AI Agents β’ MCPs for AI Agents
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-10-10T07:39:09.640Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Mohammedfathyy",
"href": "https://github.com/mohammedfathyy/Content_Creation-Agent",
"sourceUrl": "https://github.com/mohammedfathyy/Content_Creation-Agent",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T20:05:58.897Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T20:05:58.897Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-mohammedfathyy-content-creation-agent/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub Β· GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to Content_Creation-Agent and adjacent AI workflows.