Where pipelines live
Task definitions live in config/tasks.yml. Pipelines are composed of
tasks at submission time — as JSON in an API call, or as a preset in the
admin UI.
Task catalogue
Out of the box:
| Task | Input | Output |
|---|---|---|
convert-fdx-to-screenjson | .fdx | ScreenJSON |
convert-fountain-to-screenjson | .fountain | ScreenJSON |
convert-fadein-to-screenjson | .fadein | ScreenJSON |
convert-pdf-to-screenjson | .pdf | ScreenJSON |
export-to-fdx | .json | Final Draft |
export-to-fountain | .json | Fountain |
export-to-fadein | .json | FadeIn |
export-to-pdf | .json | |
validate-screenjson | .json | Report |
encrypt-screenjson | .json | Encrypted |
decrypt-screenjson | .json | Plain |
zip-output | any | ZIP |
Example pipelines
FDX → validated ScreenJSON:
{ "tasks": ["convert-fdx-to-screenjson", "validate-screenjson"] }
ScreenJSON → multi-format ZIP:
{
"tasks": [
"export-to-fdx",
"export-to-fountain",
"export-to-pdf",
"zip-output"
]
}
Convert from Fountain, then encrypt for distribution:
{
"tasks": ["convert-fountain-to-screenjson", "encrypt-screenjson"],
"vars": { "encrypt_key": "mysecretkey123" }
}
Shared variables
vars is a free-form map handed to every task. Useful for keys,
destination buckets, metadata to stamp into each document, and
pipeline-wide timestamps.