본문으로 건너뛰기
cccskills
무료GitHub에 공개

banana-cli

Create presentations from ideas or outlines through the Banana Slides API, then export them as PPTX, PDF, or images. Also supports batch generation, redesigning existing presentations, and editing slide images with written instructions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

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.

연동 도구PowerPoint
설치 방법 보기

이럴 때 유용합니다

  • Generate a presentation from an idea or outline
  • Export slides as PPTX, PDF, or images
  • Generate multiple presentations in a batch
  • Redesign an existing PPT or PDF
  • Edit slide images using written instructions

포함된 파일(2)

  • SKILL.md4.2 KB
  • references/setup.md1.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

banana-cli

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

Environment Check

Before running any command, verify the backend is reachable:

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

If this fails, the backend is not running. Read 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

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

# 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):

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:

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.

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

Export with auto-download

# Download directly to local path
banana-cli exports pptx --output ./slides.pptx
banana-cli exports pdf --output ./report.pdf

# Without --output, returns a server-side download URL
banana-cli exports pptx

Batch generation

cat > jobs.jsonl << 'EOF'
{"job_id":"t1","job_type":"full_generation","creation_type":"idea","idea_prompt":"AI Intro","language":"zh","export":{"formats":["pptx"]}}
{"job_id":"t2","job_type":"full_generation","creation_type":"idea","idea_prompt":"ML Basics","language":"zh","export":{"formats":["pptx","pdf"]}}
EOF

banana-cli run jobs --file jobs.jsonl --report report.json --state-file state.json

Renovate existing PPT

banana-cli renovation create --file /absolute/path/to/slides.pptx --language zh

JSON output for scripting

banana-cli --json projects list | jq '.data.projects[].project_id'

Important Notes

  • File path arguments (--file, --image) require absolute paths
  • Async tasks (descriptions, images, editable export) wait by default and show progress on stderr. Pass --no-wait to get a task_id immediately
  • --wait / tasks wait can be interrupted (Ctrl+C) and resumed anytime — backend tasks are unaffected
  • Progress lines go to stderr (format: [PROGRESS] STAGE STATUS completed/total), keeping stdout JSON clean
  • --help output is plain text when piped (non-TTY) — safe for agent consumption
  • Config priority: CLI args > env vars (BANANA_CLI_*) > TOML config (~/.config/banana-slides/cli.toml) > defaults

Discovering Commands

Run banana-cli --help for the top-level command list, and banana-cli <command> --help for subcommand options. Help output is plain text when piped (non-TTY).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

이 스킬의 문제 신고