screenjson-cli is the full, production-grade ScreenJSON toolchain. One Go binary exposes nine subcommands.
Commands
| Command | Purpose |
|---|---|
convert | Read FDX, Fountain, FadeIn, or PDF → emit ScreenJSON (or YAML). |
export | Read ScreenJSON → emit FDX, Fountain, FadeIn, PDF, JSON, or YAML. |
validate | Check against the ScreenJSON JSON Schema. |
encrypt | AES-256-CTR encrypt every text run. |
decrypt | Decrypt an encrypted ScreenJSON document. |
serve | Start the REST API server. |
formats | List supported formats and their capabilities. |
version | Print version. |
help | Print top-level help. |
Supported formats
| Format | Extensions | Import | Export |
|---|---|---|---|
| Final Draft | .fdx | ✅ | ✅ |
| FadeIn | .fadein | ✅ | ✅ |
| Fountain | .fountain, .spmd | ✅ | ✅ |
.pdf | ✅ (via Poppler) | ✅ | |
| ScreenJSON | .json | ✅ | ✅ |
| YAML | .yaml, .yml | ✅ | ✅ |
| Celtx | .celtx | — | — (placeholder) |
Global patterns
Every command accepts long and short forms for input and output paths:-i·--input <path>-o·--output <path>-f·--format <name>(where applicable)-q·--quiet--verbose
REST API
screenjson serve exposes the same engine over HTTP. See API Reference → screenjson-cli server.
License
Commercial — contact[email protected]. For the free OSS subset (writer-format import only), use screenjson-export.