Brandly CLI
AI product video orchestrator — add image, video, and sound generation capability to any AI tool (OpenCode, Codex, Qwen Code, Claude Code, etc.) via a CLI and Director agent.
What is Brandly?
Brandly is an autonomous video production pipeline that turns product ideas into platform-ready marketing videos. It provides:
- Image generation via Agnes AI (text-to-image, image-to-image)
- Video generation via Agnes AI (text-to-video, keyframe-controlled, reference-based)
- Audio generation via MiniMax Audio (background music, TTS voiceover)
- Multi-agent pipeline — automated workflow from idea → trends → concept → script → assets → audio → validate → publish
- Director orchestrator — an autonomous agent that guides the entire production process
- Credit budgeting — track spend per phase against a project budget
- Style presets — avoid AI slop with photorealistic, cinematic, editorial, commercial, and documentary presets
v0.3.0 New Features
| Feature | Description |
|---|---|
| Stitch | Multi-shot video assembly with transitions (fade, dissolve, wipe, slide) and color grading |
| Export Platforms | Platform-optimized exports for TikTok, Instagram, YouTube, Facebook |
| Thumbnails | AI-generated thumbnails with text overlays and platform-specific sizing |
| Dubbing | Multi-language video dubbing via MiniMax TTS (10 languages) |
| Beat Sync | Music-reactive editing with beat detection |
| Auto-Director | Script-to-video pipeline automation |
| Trends | Trending format research database (5 categories) |
| Analyzer | Video performance prediction with scoring |
| Templates | Reusable project configurations |
| Webhook | CI/CD integration with job queue |
| Sharing | Cloud export with pluggable providers |
Installation
pip install brandly-cli
Configure API Keys
# Agnes AI (image + video generation)
export AGNES_API_KEY="your-agnes-api-key"
# MiniMax Audio (music + TTS)
export MINIMAX_API_KEY="your-minimax-api-key"
Or create a .env file in your project root:
AGNES_API_KEY=your_key_here
MINIMAX_API_KEY=your_key_here
AGNES_BASE_URL=https://apihub.agnes-ai.com/v1
MINIMAX_BASE_URL=https://api.minimaxi.com/v1
Quick Start
1. Initialize a Project
brandly init \
--name "SuperWidget Pro" \
--idea "A revolutionary widget that organizes your desk with AI" \
--style cinematic \
--budget 500 \
--shots 5 \
--platforms tiktok instagram youtube
2. Run the Pipeline
# Check cost estimate first
brandly estimate --style cinematic --shots 5
# Run each phase
brandly run <project-id> # Start the current phase
brandly approve <project-id> <phase> # Approve and advance
# Or run the full pipeline at once
brandly director # Shows Director prompt for AI tools
3. Generate Media Directly
# Image generation
brandly image --prompt "product on marble surface, studio lighting" \
--style-preset cinematic
# Video generation
brandly video <project-id> --prompt "sleek wireless earbuds rotating" \
--duration 5 --wait
# Audio generation
brandly music --prompt "upbeat electronic background music" --duration 30
brandly tts "Welcome to SuperWidget Pro"
4. Export & Share
# Export for platforms
brandly export <project-id> --platforms tiktok youtube
# Generate thumbnails
brandly thumbnail <project-id>
# Stitch clips together
brandly stitch clip1.mp4 clip2.mp4 --transition fade
# Dub to another language
brandly voice-match input.mp4 --source en --target es
# Share to cloud
brandly share output.mp4 --provider local
CLI Reference
Project Management
| Command | Description |
|---|---|
brandly init / brandly start |
Start a new video project |
brandly status <id> |
Show project status |
brandly list |
List all projects |
brandly run <id> |
Run the next pipeline phase |
brandly approve <id> <phase> |
Approve a phase and advance |
brandly cancel / pause / resume <id> |
Control project state |
brandly cost <id> |
Show cost summary |
brandly record-cost <id> <phase> <action> <credits> |
Record credit spend |
Media Generation
| Command | Description |
|---|---|
brandly image |
Generate an image via Agnes AI |
brandly video <id> |
Generate a video via Agnes AI |
brandly music |
Generate background music via MiniMax Audio |
brandly tts <text> |
Generate voiceover via TTS |
brandly voices |
List available TTS voices |
Post-Production
| Command | Description |
|---|---|
brandly stitch <clips...> |
Multi-shot video assembly with transitions |
brandly export <id> --platforms <p> |
Export for specific platforms |
brandly thumbnail <id> |
Generate thumbnails from video |
brandly voice-match <video> --source <lang> --target <lang> |
Dub video to another language |
brandly beat-sync <video> <audio> |
Cut video to match beat timestamps |
brandly analyze <video> |
Predict video performance metrics |
brandly share <file> |
Upload to cloud for sharing |
Intelligence
| Command | Description |
|---|---|
brandly trend <category> |
Research trending video formats |
brandly template list |
List available templates |
brandly template use <name> |
Create project from template |
brandly validate <id> |
Run virality validation |
brandly progress <id> |
Show detailed progress |
brandly director |
Show Director agent prompt |
System
| Command | Description |
|---|---|
brandly estimate |
Estimate credit cost |
brandly memory |
View/update user preferences |
brandly config |
Show configuration |
brandly webhook |
Start webhook server (CI/CD) |
Pipeline Phases
init → trends → concept → script → asset → audio → re_edit → validate → publish → done
Each phase has a corresponding agent prompt that defines the task for the AI orchestrator:
| Phase | Agent | Purpose |
|---|---|---|
init |
— | Project initialization |
trends |
trends_agent | Research viral formats for the product category |
concept |
concept_agent | Create 3 video concepts using STAMP framework |
script |
script_agent | Write shot-by-shot script with 8-Layer prompts |
asset |
asset_agent | Select models and generate visual assets |
audio |
audio_agent | Generate music, SFX, and voiceover |
re_edit |
script_agent | Review and refine the script |
validate |
validation_agent | Run virality scoring (requires Higgsfield MCP) |
publish |
publish_agent | Generate platform-specific metadata |
done |
— | Pipeline complete |
Video Styles
| Style | Credits (base) | Best For |
|---|---|---|
cinematic |
250 | Premium brand stories |
ugc |
150 | User-generated content style |
montage |
200 | Fast-paced highlight reels |
multi_shot |
300 | Complex multi-scene videos |
continuous |
200 | Single-take seamless shots |
unboxing |
180 | Product reveal videos |
lifestyle |
170 | Contextual product usage |
collage_motion_graphic |
350 | Animated collage sequences |
brand_short_video |
280 | Short-form brand content |
explainer_video |
400 | Educational/instructional |
Style Presets (Avoid AI Slop)
| Preset | Description |
|---|---|
photorealistic |
Camera/lens/grain, natural skin texture |
editorial |
Magazine look, studio lighting |
cinematic |
Anamorphic, film grade, teal & orange |
commercial |
Product photography, clean studio |
documentary |
Photojournalism, available light |
Director Mode
The Director is an autonomous orchestrator agent. When invoked by an AI tool, it:
- Gathers product info (name, idea, style, budget, platforms)
- Creates a project via
brandly init - Runs the pipeline phase by phase
- Checks virality, manages budget, and exports final assets
To use it with any AI tool, copy the output of:
brandly director
Project Structure
.brandly/
├── projects/
│ └── {project-id}/
│ ├── project.json # Project state
│ ├── cost.json # Credit spend log
│ └── artifacts/
│ └── {phase}/ # Phase outputs (.md, .json)
├── user-preferences.json # Liked/disliked hooks, style prefs
└── templates/ # Custom saved templates
Generated media is stored in:
imagen/{project-id}/— generated imagesvidegen/{project-id}/— generated videosaudgen/{project-id}/— generated audio
Development
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Run tests with coverage
pytest --cov=src/brandly_cli
# Lint
ruff check src/
ruff check src/ --fix
# Syntax check
python -m py_compile src/brandly_cli/*.py
# Build
python -m build
Integration with AI Tools
OpenCode
Add to .opencode/package.json:
{ "dependencies": { "brandly": "github:Dream-Pixels-Forge/brandly-plugin" } }
Register in opencode.json:
{ "$schema": "https://opencode.ai/config.json", "plugin": ["brandly"] }
Codex / Qwen Code / Claude Code
Use the CLI directly — all commands are designed to be called by agent subprocesses. The Director prompt provides the orchestration logic.
License
MIT — Dream Pixels Forge
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brandly_cli-0.3.0.tar.gz.
File metadata
- Download URL: brandly_cli-0.3.0.tar.gz
- Upload date:
- Size: 212.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a386603fe7b9bcf4dc80d9cc6e4f399b3bb631c8d3aab249048f5629bfbf47f
|
|
| MD5 |
5cd7279f5ad045e822bf674c6093cf5e
|
|
| BLAKE2b-256 |
737446ce0c5a855f67fedbd7670cdd70ee51e2d5ec52cc9ab4248c9056ea50ab
|
Provenance
The following attestation bundles were made for brandly_cli-0.3.0.tar.gz:
Publisher:
release.yml on Dream-Pixels-Forge/brandly-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
brandly_cli-0.3.0.tar.gz -
Subject digest:
8a386603fe7b9bcf4dc80d9cc6e4f399b3bb631c8d3aab249048f5629bfbf47f - Sigstore transparency entry: 2753304829
- Sigstore integration time:
-
Permalink:
Dream-Pixels-Forge/brandly-cli@131489c1b3ac12c4fa43fb156945d032f0da2c4f -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Dream-Pixels-Forge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@131489c1b3ac12c4fa43fb156945d032f0da2c4f -
Trigger Event:
release
-
Statement type:
File details
Details for the file brandly_cli-0.3.0-py3-none-any.whl.
File metadata
- Download URL: brandly_cli-0.3.0-py3-none-any.whl
- Upload date:
- Size: 99.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
334f74e4604a3448114665bcb13479599f80d41e85b4f5923ef9c984af9bc745
|
|
| MD5 |
3b313fe7ba9f58b2de9e0e10fea48dea
|
|
| BLAKE2b-256 |
e9630f40b04964de6c1d5081af68c62306d4331343790184a196e91c63887b24
|
Provenance
The following attestation bundles were made for brandly_cli-0.3.0-py3-none-any.whl:
Publisher:
release.yml on Dream-Pixels-Forge/brandly-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
brandly_cli-0.3.0-py3-none-any.whl -
Subject digest:
334f74e4604a3448114665bcb13479599f80d41e85b4f5923ef9c984af9bc745 - Sigstore transparency entry: 2753304853
- Sigstore integration time:
-
Permalink:
Dream-Pixels-Forge/brandly-cli@131489c1b3ac12c4fa43fb156945d032f0da2c4f -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Dream-Pixels-Forge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@131489c1b3ac12c4fa43fb156945d032f0da2c4f -
Trigger Event:
release
-
Statement type: