magicslides
v1.0.3
Published
Create stunning AI-powered presentations from your terminal
Downloads
54
Maintainers
Readme
MagicSlides CLI
Command-line interface for MagicSlides - the ai ppt maker that helps you create stunning presentations in seconds
Agent Skill
Enable AI coding assistants (Claude Code, Cursor, Codex, etc.) to create presentations:
npx skills add IndianAppGuy/magicslides-cliOnce installed, your AI agent can automatically generate presentations from topics or URLs.
Features
- 🚀 Fast: Create presentations in seconds without leaving your terminal
- 🤖 AI-Powered: Leverage advanced AI to generate professional slides
- 🌍 Multi-Language: Support for 40+ languages
- 🔗 URL Support: Create presentations from any web article or blog post
- 💻 Developer-Friendly: Perfect for automation and AI assistants
- 🎨 Customizable: Control slide count, language, and topics
Installation
Global Installation (Recommended)
npm install -g magicslides
# or
yarn global add magicslidesLocal Installation
npm install magicslides
# or
yarn add magicslidesQuick Start
1. Get Your API Key
- Visit MagicSlides Dashboard
- Navigate to Settings → API Keys
- Generate a new API key
2. Login
magicslides loginYou'll be prompted to enter your API key. Alternatively, provide it directly:
magicslides login --key sk_your_api_key_here3. Create Your First Presentation
magicslides create --topic "Introduction to Quantum Computing" --slides 10Usage
Commands Overview
magicslides --help # Show all commands
magicslides login # Configure API key
magicslides create # Create from topic
magicslides create-url # Create from URLLogin Command
Authenticate with your MagicSlides API key:
# Interactive prompt
magicslides login
# With API key flag
magicslides login --key sk_your_api_key_hereOptions:
-k, --key <apiKey>- Provide API key directly
Create Command
Create a presentation from a topic:
# Basic usage
magicslides create --topic "Climate Change Solutions"
# With custom options
magicslides create --topic "AI in Healthcare" --slides 15 --language es
# Interactive mode
magicslides create --interactiveOptions:
-t, --topic <topic>- Required (unless interactive): Presentation topic-s, --slides <number>- Number of slides (1-50, default: 5)-l, --language <code>- Language code (default: en)-i, --interactive- Enable interactive mode with prompts
Examples:
# Create a 5-slide presentation in English
magicslides create --topic "Getting Started with Docker"
# Create a 20-slide presentation in Spanish
magicslides create --topic "Inteligencia Artificial" --slides 20 --language es
# Create in French with 8 slides
magicslides create -t "Introduction à Python" -s 8 -l fr
# Interactive mode (prompts for all options)
magicslides create -iCreate from URL Command
Create a presentation from a web article or blog post:
# Basic usage
magicslides create-url --url "https://techcrunch.com/ai-article"
# With custom options
magicslides create-url --url "https://example.com/blog" --slides 12 --language de
# Interactive mode
magicslides create-url --interactiveOptions:
-u, --url <url>- Required (unless interactive): URL to create presentation from-s, --slides <number>- Number of slides (1-50, default: 5)-l, --language <code>- Language code (default: en)-i, --interactive- Enable interactive mode with prompts
Examples:
# Create from TechCrunch article
magicslides create-url --url "https://techcrunch.com/2024/01/15/ai-news"
# Create from blog with 10 slides
magicslides create-url -u "https://medium.com/@author/article" -s 10
# Interactive mode
magicslides create-url -iSupported Languages
The CLI supports 40+ languages using ISO 639-1 codes:
| Language | Code | Language | Code | Language | Code |
|----------|------|----------|------|----------|------|
| English | en | Spanish | es | French | fr |
| German | de | Italian | it | Portuguese | pt |
| Russian | ru | Japanese | ja | Korean | ko |
| Chinese | zh | Arabic | ar | Hindi | hi |
| Turkish | tr | Polish | pl | Dutch | nl |
| Swedish | sv | Finnish | fi | Danish | da |
Configuration
The CLI stores your API key securely in:
- macOS/Linux:
~/.config/configstore/magicslides-cli.json - Windows:
%APPDATA%/configstore/magicslides-cli.json
To reset your configuration:
# Remove the config file manually
rm ~/.config/configstore/magicslides-cli.json
# Then login again
magicslides loginUse with AI Assistants
The CLI is designed to work seamlessly with AI coding assistants like Claude, ChatGPT, and GitHub Copilot.
Example prompt for Claude:
Create a presentation about "Machine Learning Basics" with 10 slides using MagicSlides CLIExample for automation:
#!/bin/bash
# Create multiple presentations
topics=("AI Basics" "Deep Learning" "Neural Networks")
for topic in "${topics[@]}"; do
magicslides create --topic "$topic" --slides 8
doneAPI Rate Limits
- Free tier: 10 presentations/month
- Pro tier: 100 presentations/month
- Enterprise: Unlimited
Check your usage at Dashboard
Troubleshooting
Authentication Issues
Problem: "Authentication required" error
Solution:
- Make sure you've run
magicslides login - Verify your API key is correct
- Check that your API key hasn't expired
API Key Not Working
Problem: "Invalid API key" error
Solution:
- Ensure your API key starts with
sk_ - Generate a new API key from the dashboard
- Run
magicslides loginagain with the new key
Network Errors
Problem: "No response from server" error
Solution:
- Check your internet connection
- Verify you can access https://magicslides.app
- Try again in a few minutes (server might be temporarily down)
Rate Limit Exceeded
Problem: "Rate limit exceeded" error
Solution:
- Check your current usage at Dashboard
- Upgrade your plan if needed
- Wait until your limit resets (monthly)
Examples
Create Multiple Presentations
# From a list of topics
for topic in "AI" "ML" "DL"; do
magicslides create --topic "$topic" --slides 5
doneCreate from Multiple URLs
# From a file containing URLs
while read url; do
magicslides create-url --url "$url" --slides 8
done < urls.txtUse in Node.js Scripts
const { exec } = require('child_process')
exec('magicslides create --topic "Node.js Basics" --slides 10', (error, stdout) => {
if (error) {
console.error(`Error: ${error.message}`)
return
}
console.log(stdout)
})Development
Building from Source
# Clone the repository
git clone https://github.com/magicslides/magicslides-cli.git
cd magicslides-cli
# Install dependencies
yarn install
# Build
yarn build
# Link locally for testing
npm linkProject Structure
magicslides-cli/
├── src/
│ ├── index.ts # CLI entry point
│ ├── commands/ # Command implementations
│ │ ├── login.ts
│ │ ├── create.ts
│ │ └── create-url.ts
│ ├── lib/ # Core functionality
│ │ ├── api-client.ts
│ │ ├── config.ts
│ │ ├── auth.ts
│ │ └── utils.ts
│ ├── ui/ # UI utilities
│ │ ├── spinner.ts
│ │ ├── format.ts
│ │ └── prompts.ts
│ └── types/ # TypeScript types
│ └── index.ts
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── README.mdContributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT © MagicSlides
Support
- 📧 Email: [email protected]
- 💬 Discord: Join our community
- 📖 Documentation: docs.magicslides.app
- 🐛 Bug Reports: GitHub Issues
Links
Made with ❤️ by the MagicSlides team
