# Banana Slides CLI

Generates, manages, and exports AI presentations through the Banana Slides API.

- Repository: https://github.com/Anionex/banana-slides (15931 stars)
- Category: Documents
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Anionex/banana-slides --skill banana-cli -g -a claude-code -y`
Codex: `npx skills add Anionex/banana-slides --skill banana-cli -g -a codex -y`
Cursor: `npx skills add Anionex/banana-slides --skill banana-cli -g -a cursor -y`
Gemini CLI: `npx skills add Anionex/banana-slides --skill banana-cli -g -a gemini-cli -y`

## Description

CLI tool for creating, managing, and exporting AI-generated presentations via the Banana Slides API. Use when the user asks to: (1) generate a PPT/presentation/slides from an idea, outline, or description, (2) export a project to PPTX, PDF, or images, (3) batch-generate multiple presentations, (4) manage projects, pages, materials, or templates programmatically, (5) renovate/redesign an existing PPT or PDF, (6) edit slide images with natural language.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# banana-cli

CLI for creating, managing, and exporting AI-generated presentations.

## Environment Check

Before running any command, verify the backend is reachable:

```bash
curl -sf http://localhost:5011/health
```

If this fails, the backend is not running. Read [references/setup.md](references/setup.md) and follow the steps to clone the repo, configure `.env`, and start the backend. Do not proceed until the health check passes.

## Invocation

```bash
banana-cli <command> [options]
```

If `banana-cli` is not on PATH, use `uv run banana-cli` from the project root, or install globally with `uv tool install .`

## End-to-End Workflow

```bash
# 1. Create project and set as working project
result=$(banana-cli --json projects create --creation-type idea --idea-prompt "Your topic")
project_id=$(echo "$result" | jq -r '.data.project_id')
banana-cli projects use "$project_id"

# 2. Generate everything (outline → descriptions → images)
banana-cli workflows full --language zh --pages 8

# 3. Export to local file
banana-cli exports pptx --output ./slides.pptx
```

Once a working project is set, `--project-id` is optional on all subsequent commands.

## Key Patterns

### Short ID prefix matching

All `--project-id` and `--page-id` accept short prefixes (like git short hashes):

```bash
banana-cli projects get a1b2          # matches a1b2c3d4-...
banana-cli pages edit-image --page-id b9c8 --instruction "change title to red"
```

### Working project context

Avoid repeating `--project-id` by setting a working project:

```bash
banana-cli projects use a1b2     # set (accepts prefix)
banana-cli workflows outline      # uses working project
banana-cli projects use           # show current
banana-cli projects unuse         # clear
```

### Page count control

`--pages` is a hint to the AI, actual page count may differ. The CLI warns on stderr when they don't match.

```bash
banana-cli workflows outline --pages 5
banana-cli workflows full --pages 10 --language en
```

The rest: https://github.com/Anionex/banana-slides/blob/HEAD/skills/banana-cli/SKILL.md
