Screenplay processing — parse, check, and convert scripts server-side.
Base URL: https://api.fountain.plus
All endpoints except GET /v1/health require an API key in the request header:
x-api-key: your-api-key-here
To request an API key, contact api@fountain.plus.
429 Too Many Requests with a Retry-After header.
| Method | Path | Auth | Description |
|---|---|---|---|
GET |
/v1/health |
No | Server health and uptime |
GET |
/v1/keys/verify |
Yes | Verify an API key is valid |
POST |
/v1/detect |
Yes | Detect the format of a screenplay file |
POST |
/v1/check |
Yes | Parse and analyse a screenplay — returns stats, heuristics, and warnings |
POST |
/v1/convert |
Yes | Convert a screenplay to another format (PDF, FDX, Fountain, Fade In, TXT) |
| Format | Value | Notes |
|---|---|---|
| Fountain | fountain | Plain-text screenplay format |
| Mangaplay | mangaplay | .mangaplay / .mangaplay.md |
| Final Draft | fdx | .fdx (v8 and v10-11) |
| Fade In | fadein | Binary ZIP — upload as file |
| Plain Text | txt | Structured plain text |
/v1/convert)| Format | outputFormat value |
|---|---|
pdf | |
| Fountain | fountain |
| Final Draft (FDX v4) | fdx or fdx4 |
| Final Draft (FDX v1) | fdx1 |
| Fade In | fadein |
| Plain Text | txt |
Send screenplay text as JSON:
curl -X POST https://api.fountain.plus/v1/check \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{"text":"INT. COFFEE SHOP - DAY\n\nJANE\nThe usual, please."}'
Or upload a file with multipart/form-data:
curl -X POST https://api.fountain.plus/v1/check \ -H "x-api-key: your-api-key-here" \ -F "file=@script.fountain"
curl -X POST https://api.fountain.plus/v1/convert \
-H "x-api-key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{"text":"INT. COFFEE SHOP - DAY\n\nJANE\nThe usual, please.","outputFormat":"pdf"}' \
--output script.pdf