文档
所有功能 GUI / CLI / MCP 都能用。下面是完整的命令参考。
命令名、参数、JSON key 保持英文(这就是你实际输入的内容),周边的说明翻译成中文。
快速开始
安装
下载 AI 版安装包并运行。所有依赖都打包好了,无需修改 PATH。
终端试用
# Open a file
unflick play movie.mp4
# Save a screenshot of the current frame
unflick screenshot --output frame.png
# Cut a 30-second GIF starting at 00:01:00
unflick clip 60 90 --file movie.mp4 --gif
# Generate subtitles (AI edition: zero config)
unflick subtitle generate movie.mp4 接入 AI 客户端
把下面这段配置加到你的 MCP 客户端(Claude Desktop / Cursor / Codex CLI 等),AI Agent 立即获得 39 个工具和 3 个实时资源,可以驱动播放、生成字幕、扫描媒体库等。
{
"mcpServers": {
"unflick": {
"command": "C:\\Users\\<you>\\AppData\\Local\\unflick\\unflick.exe",
"args": ["--mcp"]
}
}
} CLI 参考
所有命令都把 JSON 输出到 stdout,可以管道接 jq、脚本里解析、自由自动化。子命令首次调用时会自动启动后台 daemon。
Playback
unflick play <FILE> [--seek N] [--volume 0-100] [--speed N] | Open a file and start playback. Resumes from saved position by default. |
unflick pause | Pause the currently playing file. |
unflick resume | Resume a paused file. |
unflick stop | Stop playback and save the current position. |
unflick seek <SECONDS> | Jump to an absolute position in seconds. |
unflick volume <0-100> | Set the volume level. |
unflick speed <RATE> | Set playback speed multiplier (e.g. 1.5). |
unflick status | Print current playback state as JSON. |
Media tools
unflick info <FILE> | Probe a file for duration, codecs, fps, container — without disrupting playback. |
unflick screenshot [--output PATH] | Save the current frame as a PNG. |
unflick clip <START> <END> [--file PATH] [--output PATH] [--gif] | Extract a segment to MP4 or animated GIF (uses bundled ffmpeg). |
Tracks
unflick subtitle load <FILE> | Load an external .srt / .ass / .sub file. |
unflick subtitle list | List embedded and external subtitle tracks. |
unflick subtitle select <ID> | Switch to a subtitle track (0 disables). |
unflick subtitle generate <VIDEO> [--mode local|api] [--whisper PATH] [--model PATH] [--api-key KEY] | AI-generate subtitles. Auto-detects bundled whisper in the AI edition. |
unflick subtitle translate <SRT> --to <LANG> --api-key <KEY> | Translate an SRT file via OpenAI. |
unflick audio list | List embedded audio tracks. |
unflick audio select <ID> | Switch to an audio track (0 disables). |
Playlist
unflick playlist add <FILE> | Append a file to the playlist. |
unflick playlist remove <INDEX> | Remove an entry by index. |
unflick playlist list | Show all playlist entries with the current track marked. |
unflick playlist play <INDEX> | Jump to a specific entry. |
unflick playlist next | Advance to the next track. |
unflick playlist prev | Go back to the previous track. |
unflick playlist clear | Remove all entries. |
Library
unflick library scan <DIR> | Scan a directory for video files into the SQLite library. |
unflick library search <QUERY> | Search the library by title or path. |
unflick library list | List every entry in the library. |
unflick library remove <ID> | Remove an entry by ID. |
Filters
unflick filter list | Show current values of brightness / contrast / saturation / gamma / hue. |
unflick filter set <NAME> <-100..100> | Adjust a single filter. |
unflick filter reset | Set every filter back to 0. |
Settings
unflick settings path | Print the absolute settings.json path. |
unflick settings get [--key K] | Print all settings, or a single key. |
unflick settings set <KEY> <JSON-VALUE> | Set a key (parses as JSON; falls back to string). |
unflick settings unset <KEY> | Remove a key. |
Server
unflick daemon | Start the background daemon explicitly. Other CLI commands auto-start it on first use. |
unflick --mcp | Start the MCP server over stdio. See the MCP section below. |
unflick shutdown | Stop the running daemon. |
MCP 参考
加 --mcp 参数启动时,unflick 通过 stdio 暴露一个 Model Context Protocol 服务。所有 CLI 能力也都是 MCP 工具,外加 3 个可订阅的状态资源。
工具 (39)
play | Play a video file with optional seek/volume/speed. |
pause | Pause playback. |
resume | Resume playback. |
stop | Stop playback. |
seek | Seek to a position in seconds. |
set_volume | Set the volume (0-100). |
set_speed | Set playback speed. |
get_status | Read state, file, position, duration, volume, speed. |
file_info | Probe a media file (duration, resolution, codecs, fps, container). |
load_subtitle | Load an external subtitle file. |
subtitle_list | List subtitle tracks (embedded + external). |
subtitle_select | Switch subtitle track by ID (0 disables). |
audio_list | List embedded audio tracks. |
audio_select | Switch audio track by ID. |
generate_subtitles | Whisper-generate subtitles (local or OpenAI mode). |
translate_subtitles | Translate an SRT via OpenAI. |
playlist_add | Append a file to the playlist. |
playlist_remove | Remove a playlist entry by index. |
playlist_list | List playlist entries. |
playlist_play | Jump to a playlist entry by index. |
playlist_next | Advance to the next track. |
playlist_prev | Go back to the previous track. |
playlist_clear | Remove all entries. |
library_scan | Scan a directory for video files into the library. |
library_search | Search the library by title or path. |
library_list | List every entry. |
library_remove | Remove a library entry by ID. |
screenshot | Save the current frame as a PNG. |
clip | Extract a video segment to MP4 or GIF. |
save_position | Save a playback position for later resume. |
get_position | Look up the saved position for a file. |
settings_path | Get the path of settings.json. |
settings_get | Read all settings, or a single key. |
settings_set | Set a single settings key to any JSON value. |
settings_unset | Remove a settings key. |
filter_list | Read brightness/contrast/saturation/gamma/hue. |
filter_set | Set one of those filters to a value in -100..100. |
filter_reset | Reset all filters to 0. |
shutdown | Shut down the unflick daemon. |
资源 (3)
unflick://now-playing | Current playback state — file, position, duration, volume, speed. |
unflick://playlist | Current playlist with the active track marked. |
unflick://library | Every media file in the library. |