@conceptcraft/mindframes

中文文档
0.3.43发布于 2026/11/05SEE LICENSE IN LICENSEES Module近 30 天下载 2475

CLI tool for creating AI-powered presentations with ConceptCraft

原始使用文档
文档目录30 节
  1. Installation
  2. Setup
  3. Usage
  4. Create a Presentation
  5. Create Options
  6. Examples
  7. List Presentations
  8. View Presentation Details
  9. Delete Presentation
  10. Export & Import
  11. Branding
  12. Configuration
  13. Check Authentication
  14. AI Coding Assistant Integration
  15. Two different video pipelines
  16. Presentation → MP4 ( presentation video )
  17. Editing the video draft
  18. Narration and speaker notes
  19. PowerPoint import and run status
  20. Video from a storyboard ( video )
  21. Poster frames
  22. Supporting video commands
  23. Video-aware music and SFX
  24. Command groups
  25. Scripting Examples
  26. Output Formats
  27. Exit Codes
  28. Environment Variables
  29. Requirements
  30. License

Mindframes CLI

Command-line tool for Mindframes — presentations, videos, avatars, audio, branding, media and research.

Run mindframes capabilities at any time for the full, always-current list of callable capabilities, and mindframes <group> --help to drill into one.

Installation

npm install -g @conceptcraft/mindframes

Or use directly with npx:

npx @conceptcraft/mindframes create "Topic" --context "your content"

Setup

Get your API key from Mindframes Settings, then configure:

# Interactive setup (recommended)
mindframes config init

# Or set directly
mindframes config set api-key YOUR_API_KEY

# Or use environment variable
export MINDFRAMES_API_KEY="your-api-key"

Usage

Create a Presentation

Context is required for meaningful presentations. Provide it via one of these methods:

# Direct text context
mindframes create "Q4 Report" --context "Revenue: $10M, Growth: 25%, New customers: 500"

# From a file (markdown, text, or JSON)
mindframes create "Research Summary" --context-file ./research.md

# Pipe content from another command (stdin is read automatically when piped)
cat notes.md | mindframes create "Meeting Notes"

# Upload source documents (PDF, PPTX, DOCX, images)
mindframes create "Competitor Analysis" --file ./competitor-report.pdf

# Brand and style the deck
mindframes create "Board Update" --branding-id <brand-id> --template <template-id>

To use a web page as context, scrape it first and pipe the text in:

mindframes scrape https://example.com/report | mindframes create "Competitor Analysis"

Create Options

OptionDescriptionDefault
-n, --slides <count>Number of slides (1-20)server default
-m, --mode <mode>Quality: best, balanced, fast, ultrafast, instant, image-min, image, image-maxfast
--image-tier <tier>Embedded-image quality for HTML modes: smart, fast, balanced, bestsmart
-t, --tone <tone>Tone: creative, professional, educational, formal, casualserver default
--amount <amount>Density: minimal, concise, detailed, extensiveserver default
--audience <text>Target audience description-
-g, --goal <type>Goal: inform, persuade, train, learn, entertain, report-
-l, --language <lang>Output language-
--branding-id <id>Saved brand profile ID (see mindframes branding list)-
--brand-domain <url>Brand the deck by website/domain of a saved brand-
--template <id>Slide template ID (see mindframes templates)auto
-c, --context <text>Inline text context-
--context-file <path>Read context from a file-
--stdinRead context from stdin (also auto-detected when piped)-
-f, --file <paths...>Upload source files (PDF, PPTX, DOCX, images)-
--styling <mode>freeform, brand-only, brand-plus-style, style-only, no-stylingserver default
--reference-url <url>Image URL used as a visual style reference-
--thinking-depth <depth>AI depth: quick, moderate, deep, profoundserver default
--theme <preset>instant mode only — blue, violet, rose, orange, green-
--primary-color <hex>instant mode only — primary color-
--decorations <style>instant mode only — none, waves-bottom-left, waves-top-right, blob-corners, minimal-
--team-id <id>Team/workspace override-
-o, --output <format>Output: human, json, quiethuman
--no-streamWait for completion without streaming progress-
--waitPoll until generation completes-
--openOpen the deck in a browser when done-
--debugEnable debug logging-

--secondary-color, --accent-color, --background-color, --foreground-color, --id and --studio are also available; run mindframes create --help for the full list.

Examples

# High-quality investor pitch
mindframes create "Series A Pitch" -m best -t formal --slides 12 \
  --audience "Venture capitalists" --context-file ./pitch-notes.md

# Quick internal update
mindframes create "Weekly Update" -m instant -t casual --slides 5 \
  --context "Shipped 3 features, fixed 12 bugs, 2 new hires joining Monday"

# Educational content built from uploaded research
mindframes create "AI in Healthcare" -t educational --amount detailed \
  --file ./research-paper.pdf

# JSON output for scripting
URL=$(mindframes create "Demo" --context "..." -o json | jq -r '.viewUrl')

List Presentations

mindframes presentation list                 # List recent presentations
mindframes presentation list --sort title    # Sort by title
mindframes presentation list --json          # JSON for scripting
mindframes presentation list --limit 50      # More results

View Presentation Details

mindframes get <id>                # Get presentation details
mindframes get <id> --format json  # JSON format

Delete Presentation

mindframes delete <id>             # Delete with confirmation
mindframes delete <id> --force     # Skip confirmation

Export & Import

# Export to ZIP
mindframes export <id> -o presentation.zip

# Import from ZIP
mindframes import presentation.zip
mindframes import presentation.zip --dry-run  # Validate only

Branding

mindframes branding list                 # List brand profiles
mindframes branding find "acme"          # Find a saved brand by name or URL
mindframes branding get <id>             # Brand profile details
mindframes branding extract <url>        # Extract a brand profile from a website
mindframes branding status <run-id>      # Check an extraction run
mindframes branding set-default <id>     # Make a brand the workspace default
mindframes branding profile [brand-id]   # Read design tokens
mindframes branding set [brand-id] ...   # Write design tokens (key=value or design.md)
mindframes branding logo set ...         # Set logo, dark variant, or favicon
mindframes branding competitor list|add  # Competitors
mindframes branding social add ...       # Social handles

Configuration

mindframes config init             # Interactive setup
mindframes config show             # Show current config
mindframes config set api-key KEY  # Set API key
mindframes config set api-url URL  # Set custom API URL
mindframes config refresh          # Refresh feature flags (unlocks gated commands)
mindframes config pull             # Pull workspace config
mindframes config path             # Show config file path
mindframes config clear            # Clear all config

Check Authentication

mindframes whoami                  # Show current user and team

AI Coding Assistant Integration

Install the skill for Claude Code, Cursor, and other AI coding assistants:

mindframes skill install           # Auto-detect and install to all editors
mindframes skill install --local   # Install to current project only
mindframes skill show              # View skill content
mindframes skill uninstall         # Remove skill from editors

Supported editors: Claude Code, GitHub Copilot, Cursor, Codex, OpenCode, Windsurf, Agent

Two different video pipelines

The CLI has two unrelated video paths. Picking the wrong one is the most common mistake:

You wantUse
Turn a finished presentation into an MP4 with narration, avatar, music and captionsmindframes presentation video
Build a video from a brief/storyboard with stock + generated footagemindframes video

They share no state: presentation video renders slides you already have, video produces a new film.

Presentation → MP4 (presentation video)

# 1) Create (or reuse) a video project for a deck
mindframes presentation video prepare <presentation-id> --yes

# 2) Inspect the project and its ordered scene timeline
mindframes presentation video inspect <project-id>

# 3) Optional: persist render settings for the project
mindframes presentation video settings <project-id> --settings ./settings.json --yes

# 4) Render the MP4
mindframes presentation video <presentation-id> --render-engine remotion --yes
mindframes presentation video <presentation-id> --render-engine hyperframes --yes

# 5) Poll the render
mindframes presentation video status <run-id>

prepare accepts --force-new, --team-id, --idempotency-key and requires --yes.

The render itself takes either a <presentation-id> argument or --project-id <id> (never both), plus --settings <json-or-path>, --force-new, --force-rerender, --render-engine <remotion|hyperframes> (remotion = Standard, hyperframes = Premium), --team-id, --idempotency-key, and --yes to confirm. --settings and --force-new only work with a presentation id, not --project-id.

Editing the video draft

mindframes presentation video edit <project-id> --edit ./edit.json     # one atomic draft edit
mindframes presentation video refresh <project-id>                     # re-pull slides from the deck
mindframes presentation video versions <project-id>                    # list saved draft versions
mindframes presentation video restore <project-id> <version-number>    # restore a version
mindframes presentation video presenter <project-id> <slide-id> --avatar-id <id>
mindframes video library list <project-id>                              # reusable clips/recordings

presenter takes exactly one of --avatar-id, --cast-preset-id or --inherit; --render-tier <basic|standard|premium> is only valid with --avatar-id, and --no-apply-preset-voice keeps the scene's current voice when applying a cast preset. Avatar and voice IDs come from mindframes avatar options.

Narration and speaker notes

# Regenerate one slide's narration inside a video draft
mindframes presentation video-narration <project-id> --slide-id <id> --instructions "warmer, shorter"
mindframes presentation video-narration-status <run-id>

# Persisted deck speaker notes
mindframes presentation speaker-notes <presentation-id> --mode ensure --style concise
mindframes presentation speaker-notes <presentation-id> --mode regenerate --slide-id <id> --language de
mindframes presentation speaker-notes-status <run-id>

Both follow the run by default; pass --no-follow (or -f json) to get the run ID back immediately.

PowerPoint import and run status

mindframes presentation import --file deck.pptx --mode preserve
mindframes presentation import --file deck.pptx --mode rebrand --branding-id <id>
mindframes presentation import transform <import-id>
mindframes presentation import status <run-id>
mindframes presentation import transform-status <run-id>
mindframes presentation status <run-id>          # deck generation run

Video from a storyboard (video)

The hosted pipeline builds a video from a Markdown storyboard revision.

# Optional: analyze a reference video and reuse it as a media binding
mindframes video reference analyze --file ./ref.mp4 --idempotency-key ref-1
mindframes video reference status <run-id>

# 1) Create a versioned Markdown storyboard
mindframes video storyboard create --file ./storyboard.md --duration 30 --aspect 16:9 \
  --idempotency-key sb-1 --title "Launch teaser"

# 2) Revise it (immutable revisions)
mindframes video storyboard revise <storyboard-id> --base-revision <rev-id> \
  --file ./storyboard-v2.md --duration 30 --aspect 16:9 --idempotency-key sb-2

# 3) Read it back
mindframes video storyboard show <storyboard-id> --json

# 4) Render from a pinned revision (this is the terminal step)
mindframes video create --storyboard-revision <rev-id> --idempotency-key run-1 --yes

# 5) Poll
mindframes video status <run-id>

video create also accepts --source-video <id>, --release (720p; the default render is 480p) and --team-id. Leave out --yes (or run video quote with the same flags) to print the most the video can charge, and what that covers, without starting anything.

Poster frames

To attach a poster frame to a finished MP4:

mindframes video thumbnail inject -i out/video.mp4 -t out/thumb.png -o out/final.mp4

Supporting video commands

mindframes video find "city timelapse"                      # stock/web video search
mindframes video lipsync --source-video-id <uuid> --audio-url <url> -o out.mp4
mindframes video translate --source-video-id <uuid> --output-dir ./translated
mindframes video translate-languages                        # supported target languages
mindframes video library list <project-id>                  # reusable clips

Video-aware music and SFX

Generate TTS and finalize the timeline first. Then pass factual video data to the backend; the CLI does not author provider prompts or music plans.

mindframes music generate --request music-request.json --output public/audio/music.mp3
mindframes sfx generate --request sfx-request.json --output public/audio/logo-lock.mp3

Both JSON files use schema_version: 1, video_description, duration_s, and narration. An SFX request also includes one visual_event; include narration word timings when TTS provides them. Gemini turns those final facts into the provider-ready music or SFX prompt on the backend.

Command groups

mindframes capabilities lists every callable capability with its exact command path, and mindframes <group> --help drills into any group below. Some groups appear only after mindframes login + mindframes config refresh (feature-flag gated — derive is the clearest example).

GroupPurpose
createCreate a presentation
list / get / deleteList, inspect and delete presentations
export / importExport a deck to ZIP; import one back (import is admin-only)
templatesList slide design templates for create --template
ideasGenerate presentation topic ideas
presentationDeck → MP4, speaker notes, PowerPoint import, run status
videoStoryboard-driven video generation, stock search, lipsync, translation, analysis
deriveDerivative content from a deck (blog, tweets, LinkedIn, red-team questions, cheat sheet) — feature-flag gated
brandingBrand profiles, design tokens, logos, competitors, social handles
avatarPresenter clips and looks (avatar options lists avatars and voices)
castThe faces and voices your videos can use, incl. saved presets
tts / music / sfx / mixVoiceover, video-aware music, sound effects, audio mixing
imageImage search and AI image generation
searchWeb, news, image and stock-video search
scrape / content / transcriptExtract text from a URL, a file, or a YouTube video
mediaIngest and transcribe recordings you already own
documentCreate, read and edit Library documents (with versions/restore)
libraryLibrary folders and filing
knowledgeSearch the workspace Knowledge Hub and read knowledge bundles
agentScheduled agents; read, edit or erase agent memory
pollStandalone polls
micrositeShareable multi-section web microsite from a brief
ad-setAd creatives (hooks, copy, visuals) from a campaign brief
visual-abstractOne-page visual abstract graphic from a dense brief
capabilitiesList every callable capability and its parity state
config / login / logout / whoamiAuth and configuration
skillInstall the agent skill into Claude Code, Cursor, Codex, …
runnerRun agent work locally with your own Claude Code / Codex login

Scripting Examples

# Batch export all presentations
mindframes presentation list --json | jq -r '.[].id' | xargs -I {} mindframes export {} -o {}.zip

# Filter presentations by JSON
mindframes presentation list --json | jq '.[] | select(.numberOfSlides > 10)'

# Generate from file and open URL
mindframes create "Report" --context-file data.md -o json | jq -r '.viewUrl' | xargs open

Output Formats

  • human (default): Colored, formatted output for terminal
  • json: Machine-readable JSON
  • quiet: Minimal output, just errors
  • table: Tabular format for list commands

Exit Codes

CodeMeaning
0Success
1General error
2Authentication error
3Not found
4Rate limit exceeded
5Network error
6Invalid input
7Approval required: the request is held until a person approves it in the browser; retry with the receipt or --wait-for-approval

Environment Variables

VariableDescription
MINDFRAMES_API_KEYAPI key for authentication; takes precedence over a saved login
MINDFRAMES_API_URLCustom API URL (default: https://www.mindframes.app)

A saved mindframes login is sent only to the server that issued it, and a key saved with mindframes config set api-key only to the API URL it was saved for. When the API URL points elsewhere and no other credential applies, a command that needs to sign in prints a message naming both servers and exits with code 2. Credentialed requests never follow a redirect to another server. mindframes whoami and mindframes config show report the credential in use without printing it. After upgrading the CLI, log in again: credentials saved by earlier versions are not used.

Requirements

  • Node.js 22.22.x

License

Proprietary - Copyright (c) 2024-present Mindframes. All rights reserved.

版本与发布记录

@conceptcraft/mindframes 共发布 84 个版本,首次发布于 2026/01/21;过去 12 个月发布了 84 个版本。

版本发布日期距今
0.3.43latest2026/11/055 天前
0.3.422026/11/037 天前
0.3.412026/11/028 天前
0.3.402026/10/2912 天前
0.3.392026/10/2913 天前
0.3.382026/10/2516 天前

关于 @conceptcraft/mindframes 的常见问题

@conceptcraft/mindframes 是什么?

CLI tool for creating AI-powered presentations with ConceptCraft

如何安装 @conceptcraft/mindframes?

在项目目录运行 npm install @conceptcraft/mindframes,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mf、mindframes,可以用 npx mf 直接运行。

@conceptcraft/mindframes 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/conceptcraft__mindframes 是否存在。

@conceptcraft/mindframes 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@conceptcraft/mindframes 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.23.4 <23。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@conceptcraft/mindframes 可以商用吗?

@conceptcraft/mindframes 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@conceptcraft/mindframes 的下载量有多少?

根据 npm 官方下载统计,@conceptcraft/mindframes 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,475 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@conceptcraft/mindframes 还在维护吗?

最新版本 0.3.43 发布于 2026/11/05(5 天前);至今共发布 84 个版本,其中过去 12 个月发布了 84 个;首次发布于 2026/01/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。