Skip to main content

Overview

MoneyPrinter V2 uses a config.json file in the root directory for all configuration settings. Copy config.example.json to config.json and customize the values to match your setup.
cp config.example.json config.json

Configuration Parameters

General Settings

verbose
boolean
default:true
Enable verbose logging output. When true, the application prints detailed information about operations.
headless
boolean
default:false
Run browser automation in headless mode. When true, the browser window will not be visible during automation tasks.
threads
number
default:2
Number of threads to use for parallel operations, such as video rendering with MoviePy.

Browser Profile

firefox_profile
string
default:""
Path to your Firefox profile directory. This allows the application to use your logged-in social media accounts without requiring re-authentication each time.Example (Windows): C:\\Users\\YourName\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\xyz.defaultExample (Linux/macOS): /home/username/.mozilla/firefox/xyz.default

Language Models

ollama_base_url
string
default:"http://127.0.0.1:11434"
Base URL of your local Ollama server for text generation.
ollama_model
string
default:""
Ollama model to use for text generation (e.g., llama3.2:3b, mistral, phi3).If left empty, the application will query Ollama at startup and prompt you to select from available models interactively.

Image Generation (Nano Banana 2 / Gemini)

nanobanana2_api_base_url
string
API base URL for Nano Banana 2 (Gemini image generation API).
nanobanana2_api_key
string
default:""
API key for Nano Banana 2 (Gemini image API).If empty, MPV2 falls back to the GEMINI_API_KEY environment variable. See Environment Variables below.
nanobanana2_model
string
default:"gemini-3.1-flash-image-preview"
Model name for Nano Banana 2 image generation.
nanobanana2_aspect_ratio
string
default:"9:16"
Aspect ratio for generated images. Common values: 9:16 (vertical), 16:9 (horizontal), 1:1 (square).

Social Media

twitter_language
string
default:"English"
Language to use for generating and posting tweets.

YouTube Settings

is_for_kids
boolean
default:false
Mark uploaded YouTube videos as “made for kids”. When true, videos comply with COPPA regulations.
zip_url
string
default:""
URL to a ZIP file containing background music for YouTube Shorts. The application will download and extract songs for use in automated videos.

Text-to-Speech

tts_voice
string
default:"Jasper"
Voice for KittenTTS text-to-speech generation.Available voices: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo

Speech-to-Text (Subtitles)

stt_provider
string
default:"local_whisper"
Provider for subtitle transcription.Options:
  • local_whisper - Use local Whisper model (free, runs on your machine)
  • third_party_assemblyai - Use AssemblyAI API (requires API key)
whisper_model
string
default:"base"
Whisper model for local transcription.Available models: base, small, medium, large-v3Larger models provide better accuracy but require more resources.
whisper_device
string
default:"auto"
Device for local Whisper inference.Options:
  • auto - Automatically select best available device
  • cpu - Force CPU usage
  • cuda - Use NVIDIA GPU (requires CUDA)
whisper_compute_type
string
default:"int8"
Compute type for local Whisper inference.Options: int8, float16, float32Lower precision (int8) is faster but may reduce accuracy slightly.
assembly_ai_api_key
string
default:""
Your AssemblyAI API key (required if using third_party_assemblyai provider).Get your API key from AssemblyAI.

Video Generation

script_sentence_length
number
default:4
Number of sentences in the generated video script. Controls the length of automatically generated video content.
font
string
default:"bold_font.ttf"
Font file to use for generating text overlays on images. The font file should be a .ttf file located in the fonts/ directory.
imagemagick_path
string
default:""
Path to the ImageMagick binary. MoviePy uses ImageMagick for image manipulation.Windows: Path to magick.exe (e.g., C:\\Program Files\\ImageMagick\\magick.exe)Linux/macOS: Path to convert binary (usually /usr/bin/convert)Install ImageMagick from imagemagick.org.

Google Maps Scraper

google_maps_scraper
string
URL to the Google Maps scraper tool. Used to scrape Google Maps for local business information.It is recommended to use the default value unless you have a specific version requirement.
google_maps_scraper_niche
string
default:""
The business niche to scrape from Google Maps (e.g., “restaurants”, “plumbers”, “dentists”).
scraper_timeout
number
default:300
Timeout in seconds for the Google Maps scraper. Increase if scraping large areas or many results.

Email Outreach

email
object
SMTP configuration for sending outreach emails to scraped businesses.
outreach_message_subject
string
default:"I have a question..."
Subject line for outreach emails. Use {{COMPANY_NAME}} as a placeholder that will be replaced with the actual company name.
outreach_message_body_file
string
default:"outreach_message.html"
HTML file containing the email body template. Use {{COMPANY_NAME}} as a placeholder for dynamic company name insertion.

Environment Variables

Some configuration values can be set via environment variables as fallbacks:
GEMINI_API_KEY
string
Used when nanobanana2_api_key is empty in config.json.
export GEMINI_API_KEY="your_api_key_here"

Example Configuration

{
  "verbose": true,
  "firefox_profile": "",
  "headless": false,
  "ollama_base_url": "http://127.0.0.1:11434",
  "ollama_model": "",
  "twitter_language": "English",
  "nanobanana2_api_base_url": "https://generativelanguage.googleapis.com/v1beta",
  "nanobanana2_api_key": "",
  "nanobanana2_model": "gemini-3.1-flash-image-preview",
  "nanobanana2_aspect_ratio": "9:16",
  "threads": 2,
  "zip_url": "",
  "is_for_kids": false,
  "google_maps_scraper": "https://github.com/gosom/google-maps-scraper/archive/refs/tags/v0.9.7.zip",
  "email": {
    "smtp_server": "smtp.gmail.com",
    "smtp_port": 587,
    "username": "",
    "password": ""
  },
  "google_maps_scraper_niche": "",
  "scraper_timeout": 300,
  "outreach_message_subject": "I have a question...",
  "outreach_message_body_file": "outreach_message.html",
  "stt_provider": "local_whisper",
  "whisper_model": "base",
  "whisper_device": "auto",
  "whisper_compute_type": "int8",
  "assembly_ai_api_key": "",
  "tts_voice": "Jasper",
  "font": "bold_font.ttf",
  "imagemagick_path": "Path to magick.exe or on linux/macOS just /usr/bin/convert",
  "script_sentence_length": 4
}

Next Steps

Account Setup

Configure YouTube and Twitter accounts

Scheduling

Set up CRON jobs for automation

Build docs developers (and LLMs) love