Repository navigation
Automation
Every action the buttons perform is a command with an id, such as capture.fullscreen or doc.export. The window, the command-line tool, the control channel, and the MCP server all call the same list. If you can click it, you can script it. A number of commands have no button yet. Those are listed at the end of this page.
screenit-cli is built beside the application (cargo build --release -p screenit-cli) and is included when you package a release.
screenit-cli commands --ids
screenit-cli exec capture.fullscreen
screenit-cli exec doc.export '{"path":"C:\\Users\\Public\\shot.png"}'exec prints a JSON result. Unknown fields are rejected and nothing is applied. Bad parameters return an error. They do not crash the process.
screenit-cli run '[["capture.fullscreen",{}],["doc.export",{"path":"shot.png"}]]'While screenit.exe is open it listens on 127.0.0.1 and an ephemeral port. %LOCALAPPDATA%\screenIt\control.json contains port, token, and pid. Every request must carry that token. Requests run on the UI thread, so the window updates immediately. A reply times out after 60 seconds.
$c = Get-Content "$env:LOCALAPPDATA\screenIt\control.json" | ConvertFrom-Json
$tcp = [System.Net.Sockets.TcpClient]::new("127.0.0.1", $c.port)
$w = [System.IO.StreamWriter]::new($tcp.GetStream()); $w.AutoFlush = $true
$r = [System.IO.StreamReader]::new($tcp.GetStream())
$w.WriteLine((@{ id = 1; token = $c.token; method = "engine.execute";
params = @{ command = "capture.fullscreen"; params = @{} } } | ConvertTo-Json -Depth 5 -Compress))
$r.ReadLine()Two methods matter:
| Method | Purpose |
|---|---|
engine.commands |
Lists every command: id, label, menu path, shortcut, parameter doc, and whether a document must be open. |
engine.execute |
Runs one command. Body: {"command","params"}. |
screenit-cli serve speaks the same JSON, one object per line on stdin/stdout, in a fresh headless session with no token. screenit-cli mcp serves the same commands as Model Context Protocol tools on stdio, for an agent that should call screenIt directly.
The protocol is specified in docs/control-protocol.md in the repository.
These work. They are not in the capture bar or the editor.
| Command | What it does |
|---|---|
capture.scroll.begin, .add_frame, .finish, .cancel
|
Stitch a scrolling capture. |
capture.freehand, capture.multi_area, capture.fixed, capture.last_region
|
Other selection shapes, and a repeat of the previous rectangle. |
capture.preset.save, .list, .delete, .run
|
Named capture setups, including delay and whether to open the editor. |
doc.export with a .jpg, .gif, .bmp, .tif, .webp, or .pdf path |
Flatten the open document to that format. The editor button itself always asks for PNG. |
image.border, image.shadow, image.edges, image.reflection, image.spotlight, image.watermark, image.perspective, image.pagecurl, image.fade, image.canvas, image.trim, image.combine
|
Borders, shadows, torn edges, reflection, spotlight, watermark, perspective, page curl, and related effects. |
image.grayscale, image.invert, image.sepia, image.blur, image.pixelate, image.sharpen, image.resize, image.rotate, image.flip_horizontal, image.flip_vertical
|
Pixel adjustments. |
editor.smart_redact |
Find emails, phone numbers, card numbers (Luhn), IP addresses, URLs, and your own terms, then pixelate or blur them. Quality follows the OCR. |
image.remove_background |
Colour-based background removal from the corners. It is not a segmentation model. |
video.trim, video.cut, video.combine, video.gif, video.from_images
|
Trim, cut, or join recordings, write an animated GIF, or build an MP4 from stills. Trim re-encodes. |
record.devices |
List cameras and related recording devices. |
settings.get, settings.set, settings.reset, settings.open
|
Read and write the settings file. |
ocr.info |
Report the active text-recognition engine and installed languages. |
Pass parameters as JSON. screenit-cli commands prints the parameter string for each id. A missing required document returns an error from commands marked as needing one, such as doc.export before any capture.
screenIt 0.2.14 · Windows 10 (1903+) and Windows 11 · MIT or Apache-2.0