API Reference

Programmatic access to file conversion and storage.

API Keys Authentication Convert Files Formats

Your API Keys

Loading…

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

POST /api/convert

Upload a file and start a conversion job. Returns a job ID to track progress.

Body (multipart/form-data)TypeDescription
filerequiredThe file to convert
outputFormatrequiredTarget 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"
Response
{ "jobId": "abc123", "status": "queued",
  "inputFormat": "mov", "outputFormat": "mp4",
  "originalName": "video.mov" }
GET /api/convert/:jobId

Poll conversion status. progress is 0–100. shareUrl appears once conversion completes.

curl https://c.krl.kr/api/convert/abc123 \
  -H "Authorization: Bearer fcs_..."
Response
{ "jobId": "abc123", "status": "completed",
  "progress": 100, "outputFormat": "mp4",
  "shareUrl": "https://c.krl.kr/share/xyz789" }

Possible status values: queued, processing, completed, failed

GET /api/convert/:jobId/download

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
GET /api/convert/:jobId/progress

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

GET /api/files

List all files in your session, including auto-saved conversion results.

curl https://c.krl.kr/api/files \
  -H "Authorization: Bearer fcs_..."
Response
{ "files": [
    { "id": "...", "name": "output.mp4",
      "size": 1048576, "created_at": 1700000000,
      "shareUrl": "https://c.krl.kr/share/abc" }
  ] }
POST /api/files/upload

Upload one or more files to your storage.

Body (multipart/form-data)TypeDescription
filesrequiredOne or more files (field name: files)
curl -X POST https://c.krl.kr/api/files/upload \
  -H "Authorization: Bearer fcs_..." \
  -F "[email protected]"
GET /api/files/file/:id/download

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
POST /api/files/file/:id/share

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_..."
Response
{ "token": "abc123", "shareUrl": "https://c.krl.kr/share/abc123" }
DELETE /api/files/file/:id/share

Revoke a file's share link.

curl -X DELETE https://c.krl.kr/api/files/file/FILE_ID/share \
  -H "Authorization: Bearer fcs_..."
DELETE /api/files/file/:id

Permanently delete a file.

curl -X DELETE https://c.krl.kr/api/files/file/FILE_ID \
  -H "Authorization: Bearer fcs_..."

Formats

GET /api/convert/formats

Returns all supported input formats grouped by category. No auth required.

curl https://c.krl.kr/api/convert/formats
Response
{ "Video": { "type": "video", "inputs": ["mp4","mkv","avi",...] },
  "Audio": { "type": "audio", "inputs": ["mp3","wav",...] },
  ... }
GET /api/convert/formats/:ext

Returns available output formats for a given input extension. No auth required.

curl https://c.krl.kr/api/convert/formats/mp4
Response
{ "extension": "mp4", "type": "video", "group": "Video",
  "outputs": ["mp3","wav","avi","mkv",...],
  "engines": { "mp3": "ffmpeg", "wav": "ffmpeg", ... } }

API Keys endpoints

GET /api/keys

List your API keys. Key values are masked — only a prefix is returned.

curl https://c.krl.kr/api/keys \
  -H "Authorization: Bearer fcs_..."
POST /api/keys

Create a new API key. The full key value is returned only in this response — save it immediately.

Body (JSON)TypeDescription
nameoptionalA 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"}'
Response
{ "id": "...", "name": "My Script",
  "key": "fcs_a1b2c3..." }
DELETE /api/keys/:id

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_..."