API Reference
Programmatic access to file conversion and storage.
Your API Keys
Authentication
Pass your API key as a Bearer token in the Authorization header. All authenticated endpoints return data scoped to the session that created the key.
Authorization: Bearer fcs_your_api_key_here
Base URL:
Convert
Upload a file and start a conversion job. Returns a job ID to track progress.
| Body (multipart/form-data) | Type | Description |
|---|---|---|
| file | required | The file to convert |
| outputFormat | required | Target format extension, e.g. mp4, pdf, mp3 |
curl -X POST https://c.krl.kr/api/convert \ -H "Authorization: Bearer fcs_..." \ -F "[email protected]" \ -F "outputFormat=mp4"
{ "jobId": "abc123", "status": "queued",
"inputFormat": "mov", "outputFormat": "mp4",
"originalName": "video.mov" }
Poll conversion status. progress is 0–100. shareUrl appears once conversion completes.
curl https://c.krl.kr/api/convert/abc123 \ -H "Authorization: Bearer fcs_..."
{ "jobId": "abc123", "status": "completed",
"progress": 100, "outputFormat": "mp4",
"shareUrl": "https://c.krl.kr/share/xyz789" }
Possible status values: queued, processing, completed, failed
Download the converted file directly. Only available when status is completed.
curl -L https://c.krl.kr/api/convert/abc123/download \ -H "Authorization: Bearer fcs_..." \ -o output.mp4
Server-Sent Events stream for real-time progress. Each event has status, progress, and optionally shareUrl when done.
curl -N https://c.krl.kr/api/convert/abc123/progress \ -H "Authorization: Bearer fcs_..."
Files
List all files in your session, including auto-saved conversion results.
curl https://c.krl.kr/api/files \ -H "Authorization: Bearer fcs_..."
{ "files": [
{ "id": "...", "name": "output.mp4",
"size": 1048576, "created_at": 1700000000,
"shareUrl": "https://c.krl.kr/share/abc" }
] }
Upload one or more files to your storage.
| Body (multipart/form-data) | Type | Description |
|---|---|---|
| files | required | One or more files (field name: files) |
curl -X POST https://c.krl.kr/api/files/upload \ -H "Authorization: Bearer fcs_..." \ -F "[email protected]"
Download a file by its ID.
curl -L https://c.krl.kr/api/files/file/FILE_ID/download \ -H "Authorization: Bearer fcs_..." -o file.pdf
Generate a public share link for a file. Idempotent — returns the same link if already shared.
curl -X POST https://c.krl.kr/api/files/file/FILE_ID/share \ -H "Authorization: Bearer fcs_..."
{ "token": "abc123", "shareUrl": "https://c.krl.kr/share/abc123" }
Revoke a file's share link.
curl -X DELETE https://c.krl.kr/api/files/file/FILE_ID/share \ -H "Authorization: Bearer fcs_..."
Permanently delete a file.
curl -X DELETE https://c.krl.kr/api/files/file/FILE_ID \ -H "Authorization: Bearer fcs_..."
Formats
Returns all supported input formats grouped by category. No auth required.
curl https://c.krl.kr/api/convert/formats
{ "Video": { "type": "video", "inputs": ["mp4","mkv","avi",...] },
"Audio": { "type": "audio", "inputs": ["mp3","wav",...] },
... }
Returns available output formats for a given input extension. No auth required.
curl https://c.krl.kr/api/convert/formats/mp4
{ "extension": "mp4", "type": "video", "group": "Video",
"outputs": ["mp3","wav","avi","mkv",...],
"engines": { "mp3": "ffmpeg", "wav": "ffmpeg", ... } }
API Keys endpoints
List your API keys. Key values are masked — only a prefix is returned.
curl https://c.krl.kr/api/keys \ -H "Authorization: Bearer fcs_..."
Create a new API key. The full key value is returned only in this response — save it immediately.
| Body (JSON) | Type | Description |
|---|---|---|
| name | optional | A label for the key |
curl -X POST https://c.krl.kr/api/keys \
-H "Authorization: Bearer fcs_..." \
-H "Content-Type: application/json" \
-d '{"name":"My Script"}'
{ "id": "...", "name": "My Script",
"key": "fcs_a1b2c3..." }
Permanently delete an API key. Requests using this key will immediately return 401.
curl -X DELETE https://c.krl.kr/api/keys/KEY_ID \ -H "Authorization: Bearer fcs_..."