Content Generation
Overview
Generate professional content including images, diagrams, documents, and summaries using AI-powered tools.
Quick Decision Tree
What do you need? │ ├── Generate images │ └── references/images.md │ └── Script: scripts/generate_images.py │ ├── Create flowchart/diagram │ └── references/flowchart.md │ └── Script: scripts/generate_flowchart.py │ ├── Create Google Doc │ └── references/document.md │ └── Script: scripts/generate_document.py │ ├── Generate client proposal │ └── references/proposal.md │ └── Script: scripts/generate_proposal.py │ ├── Convert Markdown to PDF │ └── references/pdf.md │ └── Script: scripts/md_to_pdf.py │ └── Summarize content └── references/summarize.md └── Script: scripts/summarize_content.py
Environment Setup
Required in .env
FAL_API_KEY=fal_xxxx # For image generation OPENROUTER_API_KEY=sk-or-v1-xxx # For AI text generation
Get API keys:
-
fal.ai: https://fal.ai/dashboard/keys
-
OpenRouter: https://openrouter.ai/keys
Common Usage
Generate Images
Nano Banana Pro (best quality)
python scripts/generate_images.py "Professional product photo of smartwatch" --model nano-banana-pro
FLUX-2 (fast, cheap)
python scripts/generate_images.py "Vibrant lifestyle photo" --model flux-2 --size landscape_4_3
Create Flowchart
python scripts/generate_flowchart.py "User login: enter email, validate, check password, if correct go to dashboard"
Generate Document
python scripts/generate_document.py --input content.json --title "Q4 Report"
Generate Proposal
python scripts/generate_proposal.py --transcript-file meeting.txt --client "Acme Corp"
Cost Estimates
Tool Cost
Nano Banana Pro 1K $0.15/image
Nano Banana Pro 4K $0.30/image
FLUX-2 $0.012/megapixel
Flowchart ~$0.005/diagram
Proposal ~$0.10/doc
Security Notes
Credential Handling
-
Store FAL_API_KEY in .env file (never commit to git)
-
Store OPENROUTER_API_KEY in .env file (never commit to git)
-
Regenerate keys from respective dashboards if compromised
-
Never log or print API keys in script output
Data Privacy
-
Text prompts sent to fal.ai and OpenRouter servers
-
Generated images stored locally in .tmp/ directory
-
AI services may log prompts for service improvement
-
Avoid including sensitive/confidential data in prompts
-
Generated documents may be uploaded to Google Drive
Access Scopes
-
FAL_API_KEY
-
Full access to image generation models
-
OPENROUTER_API_KEY
-
Access to configured AI models
-
Google OAuth - Required for Google Docs creation (see google-workspace skill)
Compliance Considerations
-
AI Disclosure: Consider disclosing AI-generated content where required
-
Image Rights: Generated images subject to fal.ai terms of use
-
Copyright: AI-generated content copyright varies by jurisdiction
-
Brand Consistency: Review AI outputs against brand guidelines
-
Sensitive Content: AI image generators have content policies
-
Client Proposals: Verify accuracy before sending to clients
-
Attribution: Some contexts require AI generation disclosure
Troubleshooting
Common Issues
Issue: Image generation failed
Symptoms: fal.ai returns error or no image generated Cause: Invalid prompt, model unavailable, or API issue Solution:
-
Check prompt for policy violations (explicit content, etc.)
-
Verify model ID is correct and available
-
Try a simpler prompt to test API connectivity
-
Check fal.ai status page for outages
Issue: Content policy violation
Symptoms: "Content policy violation" or similar safety error Cause: Prompt contains flagged terms or concepts Solution:
-
Remove explicit, violent, or harmful content from prompt
-
Rephrase ambiguous terms that might trigger filters
-
Review fal.ai content policy guidelines
-
Use more general/professional language
Issue: Google Doc not created
Symptoms: Script completes but no document appears in Drive Cause: OAuth issue, folder permissions, or API error Solution:
-
Verify Google OAuth is working (see google-workspace skill)
-
Check target folder exists and is accessible
-
Delete mycreds.txt and re-authenticate
-
Look for error messages in script output
Issue: Flowchart syntax error
Symptoms: Mermaid diagram fails to render Cause: Invalid Mermaid syntax in generated diagram Solution:
-
Review generated Mermaid code for syntax errors
-
Simplify complex flows into smaller diagrams
-
Test diagram at https://mermaid.live/
-
Ensure special characters are properly escaped
Issue: PDF conversion fails
Symptoms: Error during markdown to PDF conversion Cause: Missing dependencies or invalid markdown Solution:
-
Ensure required PDF tools are installed (weasyprint, etc.)
-
Check markdown syntax is valid
-
Verify font files exist if custom fonts specified
-
Try with simpler markdown to isolate issue
Issue: OpenRouter API error
Symptoms: Text generation fails with API error Cause: Invalid API key, model unavailable, or rate limit Solution:
-
Verify OPENROUTER_API_KEY is set correctly
-
Check model availability at OpenRouter dashboard
-
Try a different model if current one is unavailable
-
Review rate limit status and add delays if needed
Resources
-
references/images.md - fal.ai image generation
-
references/flowchart.md - Mermaid diagram generation
-
references/document.md - Google Docs creation
-
references/proposal.md - Client proposal generation
-
references/pdf.md - Markdown to PDF conversion
-
references/summarize.md - Content summarization
Integration Patterns
Generate and Save
Skills: content-generation → google-workspace Use case: Create documents and store in Drive Flow:
-
Generate content (proposal, report, summary)
-
Format as Google Doc or PDF
-
Upload to appropriate Drive folder via google-workspace
Proposal to CRM
Skills: content-generation → attio-crm Use case: Link generated proposals to deal records Flow:
-
Generate client proposal from meeting transcript
-
Upload proposal to Google Drive
-
Add note to Attio CRM company record with proposal link
Images to Video
Skills: content-generation → video-production Use case: Create title slides for video courses Flow:
-
Generate branded title slide images for each lesson
-
Export images to video-compatible format
-
Use video-production to stitch with lesson videos