{
  "@context": {
    "@vocab": "https://ffpipe.dev/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "ffpipe": "https://ffpipe.dev/schema#",
    "ConvertRequest": "ffpipe:ConvertRequest",
    "sourceUrl": {
      "@id": "ffpipe:sourceUrl",
      "@type": "@id"
    },
    "upload": {
      "@id": "ffpipe:upload",
      "@type": "@id"
    },
    "maxWidth": {
      "@id": "ffpipe:maxWidth",
      "@type": "xsd:integer"
    },
    "maxHeight": {
      "@id": "ffpipe:maxHeight",
      "@type": "xsd:integer"
    },
    "ProbeRequest": "ffpipe:ProbeRequest",
    "outputFormat": {
      "@id": "ffpipe:outputFormat",
      "@type": "xsd:string"
    },
    "sections": {
      "@id": "ffpipe:sections",
      "@container": "@list"
    },
    "summary": {
      "@id": "ffpipe:summary",
      "@type": "xsd:boolean"
    },
    "selectStreams": {
      "@id": "ffpipe:selectStreams",
      "@type": "xsd:string"
    },
    "showFrames": {
      "@id": "ffpipe:showFrames",
      "@type": "xsd:boolean"
    },
    "showPackets": {
      "@id": "ffpipe:showPackets",
      "@type": "xsd:boolean"
    },
    "showEntries": {
      "@id": "ffpipe:showEntries",
      "@type": "xsd:string"
    },
    "readIntervals": {
      "@id": "ffpipe:readIntervals",
      "@type": "xsd:string"
    },
    "countFrames": {
      "@id": "ffpipe:countFrames",
      "@type": "xsd:boolean"
    },
    "countPackets": {
      "@id": "ffpipe:countPackets",
      "@type": "xsd:boolean"
    },
    "FramesRequest": "ffpipe:FramesRequest",
    "mode": {
      "@id": "ffpipe:mode",
      "@type": "xsd:string"
    },
    "n": {
      "@id": "ffpipe:n",
      "@type": "xsd:integer"
    },
    "fps": {
      "@id": "ffpipe:fps",
      "@type": "xsd:decimal"
    },
    "count": {
      "@id": "ffpipe:count",
      "@type": "xsd:integer"
    },
    "timestamps": {
      "@id": "ffpipe:timestamps",
      "@container": "@list"
    },
    "startTime": {
      "@id": "ffpipe:startTime",
      "@type": "xsd:decimal"
    },
    "endTime": {
      "@id": "ffpipe:endTime",
      "@type": "xsd:decimal"
    },
    "maxOutputWidth": {
      "@id": "ffpipe:maxOutputWidth",
      "@type": "xsd:integer"
    },
    "maxOutputHeight": {
      "@id": "ffpipe:maxOutputHeight",
      "@type": "xsd:integer"
    },
    "format": {
      "@id": "ffpipe:format",
      "@type": "xsd:string"
    },
    "quality": {
      "@id": "ffpipe:quality",
      "@type": "xsd:integer"
    },
    "maxFrames": {
      "@id": "ffpipe:maxFrames",
      "@type": "xsd:integer"
    },
    "FramesManifest": "ffpipe:FramesManifest",
    "source": {
      "@id": "ffpipe:source"
    },
    "params": {
      "@id": "ffpipe:params"
    },
    "frame_count": {
      "@id": "ffpipe:frame_count",
      "@type": "xsd:integer"
    },
    "frames": {
      "@id": "ffpipe:frames",
      "@container": "@list"
    },
    "JobAccepted": "ffpipe:JobAccepted",
    "jobId": {
      "@id": "ffpipe:jobId",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "ffpipe:status",
      "@type": "xsd:string"
    },
    "statusUrl": {
      "@id": "ffpipe:statusUrl",
      "@type": "@id"
    },
    "fundingSource": {
      "@id": "ffpipe:fundingSource",
      "@type": "xsd:string"
    },
    "uploadUrl": {
      "@id": "ffpipe:uploadUrl",
      "@type": "@id"
    },
    "uploadExpiresAt": {
      "@id": "ffpipe:uploadExpiresAt",
      "@type": "xsd:dateTime"
    },
    "UploadComplete": "ffpipe:UploadComplete",
    "bytes": {
      "@id": "ffpipe:bytes",
      "@type": "xsd:integer"
    },
    "JobStatus": "ffpipe:JobStatus",
    "resultUrl": {
      "@id": "ffpipe:resultUrl",
      "@type": "@id"
    },
    "thumbnailUrl": {
      "@id": "ffpipe:thumbnailUrl",
      "@type": "@id"
    },
    "durationMs": {
      "@id": "ffpipe:durationMs",
      "@type": "xsd:integer"
    },
    "frameCount": {
      "@id": "ffpipe:frameCount",
      "@type": "xsd:integer"
    },
    "errorMessage": {
      "@id": "ffpipe:errorMessage",
      "@type": "xsd:string"
    },
    "retryVoucher": {
      "@id": "ffpipe:retryVoucher",
      "@type": "xsd:string"
    },
    "FeedbackRequest": "ffpipe:FeedbackRequest",
    "type": {
      "@id": "ffpipe:type",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "ffpipe:message",
      "@type": "xsd:string"
    },
    "contact": {
      "@id": "ffpipe:contact",
      "@type": "xsd:string"
    },
    "Error": "ffpipe:Error",
    "error": {
      "@id": "ffpipe:error"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "ffpipe API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects ffpipe's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-07) from openapi/ffpipe-dev-openapi.json.",
  "dcterms:created": "2026-11-07",
  "dcterms:source": [
    "openapi/ffpipe-dev-openapi.json"
  ]
}