# ScreenJSON > Reference documentation for the ScreenJSON toolchain — schema, CLI tools, viewer, and Greenlight batch microservice. ## Docs - [Convert a screenplay file to ScreenJSON](https://docs.screenjson.com/api-reference/cli/endpoint/conversion/convert-a-screenplay-file-to-screenjson.md): Upload a screenplay in a supported writer format. The server returns the resulting ScreenJSON document as JSON. - [Export a ScreenJSON document to a screenplay format](https://docs.screenjson.com/api-reference/cli/endpoint/conversion/export-a-screenjson-document-to-a-screenplay-format.md): POST a ScreenJSON document (JSON or YAML) and receive the exported screenplay as a binary download. - [Validate a ScreenJSON document](https://docs.screenjson.com/api-reference/cli/endpoint/conversion/validate-a-screenjson-document.md): POST a ScreenJSON document (JSON). Returns `{ valid: true }` on success, or `{ valid: false, errors: [{ path, message }] }` on failure. - [Health check](https://docs.screenjson.com/api-reference/cli/endpoint/system/health-check.md): Returns overall service health plus per-dependency status for any configured external services (Gotenberg, Tika, LLM). - [List supported formats](https://docs.screenjson.com/api-reference/cli/endpoint/system/list-supported-formats.md): Returns every format understood by the running binary, with its file extensions, MIME types, and whether it can be used as an input, an output, or both. - [Status and metrics](https://docs.screenjson.com/api-reference/cli/endpoint/system/status-and-metrics.md): Returns a service descriptor with the current queue depth, worker count, and a catalogue of exposed endpoints. - [Introduction](https://docs.screenjson.com/api-reference/cli/introduction.md): The REST API exposed by screenjson-cli when run in server mode. - [Server configuration snapshot](https://docs.screenjson.com/api-reference/greenlight/endpoint/config/server-configuration-snapshot.md) - [Server log tail](https://docs.screenjson.com/api-reference/greenlight/endpoint/debug/server-log-tail.md) - [Health check](https://docs.screenjson.com/api-reference/greenlight/endpoint/health/health-check.md) - [Queue a screenplay conversion job](https://docs.screenjson.com/api-reference/greenlight/endpoint/jobs/queue-a-screenplay-conversion-job.md) - [Get a specific job result](https://docs.screenjson.com/api-reference/greenlight/endpoint/results/get-a-specific-job-result.md) - [List recent job results](https://docs.screenjson.com/api-reference/greenlight/endpoint/results/list-recent-job-results.md) - [Browse S3/MinIO storage](https://docs.screenjson.com/api-reference/greenlight/endpoint/storage/browse-s3minio-storage.md) - [List available tasks](https://docs.screenjson.com/api-reference/greenlight/endpoint/tasks/list-available-tasks.md) - [Webhook configuration](https://docs.screenjson.com/api-reference/greenlight/endpoint/webhooks/webhook-configuration.md) - [Live worker status](https://docs.screenjson.com/api-reference/greenlight/endpoint/workers/live-worker-status.md) - [Introduction](https://docs.screenjson.com/api-reference/greenlight/introduction.md): The Greenlight REST API. - [Analysis](https://docs.screenjson.com/concepts/analysis.md): Optional derived data — embeddings, passages, summaries — attached without mutating the canonical document. - [Encryption](https://docs.screenjson.com/concepts/encryption.md): AES-256-CTR encryption of text runs. Structure, UUIDs, and metadata stay visible. - [Language maps](https://docs.screenjson.com/concepts/language-maps.md): Every user-facing text field in ScreenJSON is keyed by BCP 47 language tag. - [The ScreenJSON format](https://docs.screenjson.com/concepts/screenjson.md): A one-page orientation to the shape of a ScreenJSON document. - [UUIDs and identity](https://docs.screenjson.com/concepts/uuids.md): Every node that can be referenced from elsewhere carries an RFC 4122 UUID. - [ScreenJSON Documentation](https://docs.screenjson.com/index.md): Reference documentation for the ScreenJSON toolchain — schema, CLI tools, viewer, and Greenlight batch microservice. - [Install](https://docs.screenjson.com/install.md): Installation instructions for every ScreenJSON tool. - [Quickstart](https://docs.screenjson.com/quickstart.md): Convert a screenplay to ScreenJSON in under a minute. - [Analysis](https://docs.screenjson.com/specification/analysis.md): Derived retrieval-oriented data attached to a canonical document. - [Authors & contributors](https://docs.screenjson.com/specification/authors.md): Credit model — original authorship vs. editorial contribution. - [Characters](https://docs.screenjson.com/specification/characters.md): The character index referenced by cues and dialogue. - [Conformance](https://docs.screenjson.com/specification/conformance.md): Validation rules, versioning, and the extension contract. - [Document root](https://docs.screenjson.com/specification/document-root.md): Required and optional properties at the top of a ScreenJSON document. - [Elements](https://docs.screenjson.com/specification/elements.md): Typed scene-body elements. - [Encryption](https://docs.screenjson.com/specification/encryption.md): AES-256-CTR encryption of text runs. Structure, UUIDs, and metadata stay visible. - [Layout](https://docs.screenjson.com/specification/layout.md): Optional rendering hints under document.layout. - [Overview](https://docs.screenjson.com/specification/overview.md): The ScreenJSON schema — structure, principles, and where to find the authoritative definition. - [Revisions & notes](https://docs.screenjson.com/specification/revisions-notes.md): Editorial pass markers and anchored annotations. - [Scenes](https://docs.screenjson.com/specification/scenes.md): Scene shape — heading, body, cast, production-breakdown taxonomies. - [Shared types](https://docs.screenjson.com/specification/shared-types.md): Scalar and small-object types reused across the schema. - [Sluglines](https://docs.screenjson.com/specification/sluglines.md): The structured scene heading. - [convert](https://docs.screenjson.com/tools/cli/convert.md): Convert screenplay formats to ScreenJSON. - [decrypt](https://docs.screenjson.com/tools/cli/decrypt.md): Decrypt an encrypted ScreenJSON document. - [Docker](https://docs.screenjson.com/tools/cli/docker.md): Run screenjson-cli as a Docker container in CLI mode or server mode. - [encrypt](https://docs.screenjson.com/tools/cli/encrypt.md): Encrypt content runs in a ScreenJSON document with AES-256-CTR. - [Environment variables](https://docs.screenjson.com/tools/cli/environment.md): Every environment variable screenjson-cli reads. - [export](https://docs.screenjson.com/tools/cli/export.md): Export a ScreenJSON document to a screenplay format. - [formats](https://docs.screenjson.com/tools/cli/formats.md): List every format the running binary understands. - [Install](https://docs.screenjson.com/tools/cli/install.md): Install screenjson-cli via Docker, from source, or as a pre-built binary. - [Overview](https://docs.screenjson.com/tools/cli/overview.md): screenjson-cli is the full, commercial ScreenJSON toolchain — every format, validation, encryption, REST API. - [serve](https://docs.screenjson.com/tools/cli/serve.md): Start the REST API server. - [Storage integrations](https://docs.screenjson.com/tools/cli/storage.md): Database and blob storage drivers available on convert. - [validate](https://docs.screenjson.com/tools/cli/validate.md): Validate a ScreenJSON document against the schema. - [Install](https://docs.screenjson.com/tools/export/install.md): Install screenjson-export from a release binary, Docker, or source. - [Overview](https://docs.screenjson.com/tools/export/overview.md): screenjson-export is the free, open-source reference CLI. FDX / Fountain / FadeIn → ScreenJSON. - [Usage](https://docs.screenjson.com/tools/export/usage.md): Complete flag reference and end-to-end examples for screenjson-export. - [Configuration](https://docs.screenjson.com/tools/greenlight/configuration.md): Every environment variable Greenlight reads, grouped by subsystem. - [Deploy](https://docs.screenjson.com/tools/greenlight/deploy.md): Deploy Greenlight with Docker Compose, standalone, or on Kubernetes. - [Notifications](https://docs.screenjson.com/tools/greenlight/notifications.md): Multi-driver notification fan-out — Slack, Teams, Discord, FCM, APNs, SNS, WebPush. - [Overview](https://docs.screenjson.com/tools/greenlight/overview.md): Greenlight is a Go + Svelte job queue microservice that wraps screenjson-cli for batch operations. - [Pipelines](https://docs.screenjson.com/tools/greenlight/pipelines.md): Compose tasks into ordered pipelines submitted via POST /push. - [Storage](https://docs.screenjson.com/tools/greenlight/storage.md): S3 / MinIO / noop storage backends and key layout. - [Task catalogue](https://docs.screenjson.com/tools/greenlight/tasks.md): Every task Greenlight ships with, from config/tasks.yml. - [Webhooks](https://docs.screenjson.com/tools/greenlight/webhooks.md): Outbound HTTP webhooks fire on job lifecycle events. - [Data attributes](https://docs.screenjson.com/tools/ui/data-attributes.md): Configure the CDN-embedded viewer from attributes on the script tag — no JavaScript required. - [Encrypted documents](https://docs.screenjson.com/tools/ui/encrypted.md): Open encrypted ScreenJSON documents in the viewer. - [Install](https://docs.screenjson.com/tools/ui/install.md): Install screenjson-ui from npm or via the CDN script tag. - [JavaScript API](https://docs.screenjson.com/tools/ui/javascript.md): Embed screenjson-ui via the ScreenJSONUI class. - [Configuration options](https://docs.screenjson.com/tools/ui/options.md): The complete ScreenJSONUIConfig reference. - [Overview](https://docs.screenjson.com/tools/ui/overview.md): screenjson-ui is an embeddable JavaScript viewer for ScreenJSON documents. - [Svelte component](https://docs.screenjson.com/tools/ui/svelte.md): Drop ScreenJSONViewer into a Svelte or SvelteKit app. ## OpenAPI Specs - [openapi](https://docs.screenjson.com/api-reference/openapi.json) ## Optional - [Main site](https://screenjson.com) - [Try the demo](https://screenjson.com/try/) - [GitHub](https://github.com/screenjson)