Skip to main content
Tasks are declared in config/tasks.yml. Each task records its accepted input extensions, the binary it requires, the handler used to run it, the output directory, and the output filename template.

Import

convert-fdx-to-screenjson

Converts Final Draft (.fdx) to ScreenJSON.

convert-fountain-to-screenjson

Converts Fountain (.fountain) plain-text screenplay to ScreenJSON.

convert-fadein-to-screenjson

Converts FadeIn Pro (.fadein) to ScreenJSON.

convert-pdf-to-screenjson

Extracts screenplay structure from a PDF via Poppler and converts to ScreenJSON. Best-effort for scanned / image PDFs.

Export

export-to-fdx

export-to-fountain

export-to-fadein

export-to-pdf

Renders the document as a screenplay PDF using the native encoder.

Validation

validate-screenjson

Schema-checks a document and emits a JSON report.

Encryption

encrypt-screenjson

AES-256 encrypts every text run. Requires an encrypt_key job variable.

decrypt-screenjson

Decrypts. Requires the same encrypt_key used to encrypt.

Packaging

zip-output

ZIPs the entire output directory.

Adding tasks

config/tasks.yml is loaded on boot. New entries follow this schema:
Restart the service to pick up changes.