{
  "@context": {
    "@vocab": "https://textshuffle.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "addshuffle": "https://textshuffle.com/schema#",
    "Error": "addshuffle:Error",
    "error": {
      "@id": "addshuffle:error",
      "@type": "xsd:string"
    },
    "ChainSettings": "addshuffle:ChainSettings",
    "model": {
      "@id": "addshuffle:model",
      "@type": "xsd:string"
    },
    "resolution": {
      "@id": "addshuffle:resolution",
      "@type": "xsd:string"
    },
    "aspectRatio": {
      "@id": "addshuffle:aspectRatio",
      "@type": "xsd:string"
    },
    "generateAudio": {
      "@id": "addshuffle:generateAudio",
      "@type": "xsd:boolean"
    },
    "clipDurationSeconds": {
      "@id": "addshuffle:clipDurationSeconds",
      "@type": "xsd:integer"
    },
    "creditCostPerClip": {
      "@id": "addshuffle:creditCostPerClip",
      "@type": "xsd:integer"
    },
    "Progress": "addshuffle:Progress",
    "currentStep": {
      "@id": "addshuffle:currentStep",
      "@type": "xsd:integer"
    },
    "totalSteps": {
      "@id": "addshuffle:totalSteps",
      "@type": "xsd:integer"
    },
    "completedSteps": {
      "@id": "addshuffle:completedSteps",
      "@type": "xsd:integer"
    },
    "failedSteps": {
      "@id": "addshuffle:failedSteps",
      "@type": "xsd:integer"
    },
    "percentComplete": {
      "@id": "addshuffle:percentComplete",
      "@type": "xsd:integer"
    },
    "CreditBalance": "addshuffle:CreditBalance",
    "balance": {
      "@id": "addshuffle:balance",
      "@type": "xsd:integer"
    },
    "reserved": {
      "@id": "addshuffle:reserved",
      "@type": "xsd:integer"
    },
    "available": {
      "@id": "addshuffle:available",
      "@type": "xsd:integer"
    },
    "hasPaymentMethod": {
      "@id": "addshuffle:hasPaymentMethod",
      "@type": "xsd:boolean"
    },
    "CreditTransaction": "addshuffle:CreditTransaction",
    "id": {
      "@id": "addshuffle:id",
      "@type": "xsd:string"
    },
    "amount": {
      "@id": "addshuffle:amount",
      "@type": "xsd:integer"
    },
    "type": {
      "@id": "addshuffle:type",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "addshuffle:description",
      "@type": "xsd:string"
    },
    "balanceAfter": {
      "@id": "addshuffle:balanceAfter",
      "@type": "xsd:integer"
    },
    "createdAt": {
      "@id": "addshuffle:createdAt",
      "@type": "xsd:dateTime"
    },
    "L402Offer": "addshuffle:L402Offer",
    "title": {
      "@id": "addshuffle:title",
      "@type": "xsd:string"
    },
    "currency": {
      "@id": "addshuffle:currency",
      "@type": "xsd:string"
    },
    "payment_methods": {
      "@id": "addshuffle:payment_methods",
      "@container": "@list"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Shuffle API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Shuffle'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-10-31) from openapi/addshuffle-com-openapi.json.",
  "dcterms:created": "2026-10-31",
  "dcterms:source": [
    "openapi/addshuffle-com-openapi.json"
  ]
}