FSFluxSave

Local REST API

Every endpoint works against your own instance with no keys. Optional API-key mode can be switched on in Settings if you expose the instance beyond your network.

OpenAPI v1

Endpoints

POST/api/v1/analyzeNormalize a URL, detect the platform and return available formats.
POST/api/v1/downloadCreate a download job for a chosen format id.
GET/api/v1/jobs/:idFull job record including format, state and timestamps.
GET/api/v1/jobs/:id/statusLightweight state, progress, speed and ETA for polling.
POST/api/v1/jobs/:id/cancelCancel a queued or running job.
GET/api/v1/jobs/:id/downloadStream the finished file until its TTL expires.
GET/api/v1/platformsRegistered extractors and the media kinds they handle.
GET/api/v1/formatsContainers and codecs this instance can produce.
GET/api/v1/healthStatus of database, ffmpeg, extractors and storage.
GET/api/v1/versionApp, yt-dlp and FFmpeg versions.

POST /api/v1/analyze

Request

curl -X POST http://localhost:3000/api/v1/analyze \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://vimeo.com/759890284" }'

200 OK

Response

{
  "title": "Alpine Riverscapes — 4K Nature Study",
  "author": "Cascadia Films",
  "platform": "Vimeo",
  "duration": 252,
  "mediaType": "video",
  "formats": [
    {
      "id": "1080p",
      "container": "mp4",
      "resolution": "1920x1080",
      "fps": 60,
      "codec": "avc1 + aac",
      "bytes": 864026624,
      "remux": true
    }
  ],
  "subtitles": [{ "lang": "en", "formats": ["srt", "vtt"] }]
}

Friendly messages, technical detail in logs

Errors

UNSUPPORTED_PLATFORMThis platform is not supported.
INVALID_URLThat doesn't look like a valid link.
SOURCE_UNREACHABLEThe source could not be reached.
FORMAT_UNAVAILABLEThis format isn't available for this media.
PROCESSING_FAILEDMedia processing failed.