{
  "@context": {
    "@vocab": "https://hanolab.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "hanolab": "https://hanolab.com/schema#",
    "PostApiV1AgentEstimateRequest": "hanolab:PostApiV1AgentEstimateRequest",
    "duration": {
      "@id": "hanolab:duration",
      "@type": "xsd:integer"
    },
    "PostApiV1AudioSeparateRequest": "hanolab:PostApiV1AudioSeparateRequest",
    "input_url": {
      "@id": "hanolab:input_url",
      "@type": "xsd:string"
    },
    "mode": {
      "@id": "hanolab:mode",
      "@type": "xsd:string"
    },
    "PostApiV1MusicGenerateRequest": "hanolab:PostApiV1MusicGenerateRequest",
    "tier": {
      "@id": "hanolab:tier",
      "@type": "xsd:string"
    },
    "prompt": {
      "@id": "hanolab:prompt",
      "@type": "xsd:string"
    },
    "lyrics": {
      "@id": "hanolab:lyrics",
      "@type": "xsd:string"
    },
    "GetApiV1TasksIdResponse": "hanolab:GetApiV1TasksIdResponse",
    "status": {
      "@id": "hanolab:status",
      "@type": "xsd:string"
    },
    "output_urls": {
      "@id": "hanolab:output_urls"
    },
    "PostApiV1UploadRequest": "hanolab:PostApiV1UploadRequest",
    "filename": {
      "@id": "hanolab:filename",
      "@type": "xsd:string"
    },
    "content_type": {
      "@id": "hanolab:content_type",
      "@type": "xsd:string"
    },
    "size": {
      "@id": "hanolab:size",
      "@type": "xsd:integer"
    },
    "PostApiV1UploadResponse": "hanolab:PostApiV1UploadResponse",
    "upload_url": {
      "@id": "hanolab:upload_url",
      "@type": "xsd:string"
    },
    "key": {
      "@id": "hanolab:key",
      "@type": "xsd:string"
    },
    "PostApiV1UploadCompleteRequest": "hanolab:PostApiV1UploadCompleteRequest",
    "PostApiV1UploadCompleteResponse": "hanolab:PostApiV1UploadCompleteResponse",
    "audio_sha256": {
      "@id": "hanolab:audio_sha256",
      "@type": "xsd:string"
    },
    "download_url": {
      "@id": "hanolab:download_url",
      "@type": "xsd:string"
    },
    "PostApiV1VoiceConvertRequest": "hanolab:PostApiV1VoiceConvertRequest",
    "voice_model_id": {
      "@id": "hanolab:voice_model_id",
      "@type": "xsd:string"
    },
    "pitch_shift": {
      "@id": "hanolab:pitch_shift",
      "@type": "xsd:decimal"
    },
    "index_rate": {
      "@id": "hanolab:index_rate",
      "@type": "xsd:decimal"
    },
    "filter_radius": {
      "@id": "hanolab:filter_radius",
      "@type": "xsd:integer"
    },
    "rms_mix_rate": {
      "@id": "hanolab:rms_mix_rate",
      "@type": "xsd:decimal"
    },
    "protect": {
      "@id": "hanolab:protect",
      "@type": "xsd:decimal"
    },
    "full_song": {
      "@id": "hanolab:full_song",
      "@type": "xsd:boolean"
    },
    "PostApiV1VoiceConvertFlashRequest": "hanolab:PostApiV1VoiceConvertFlashRequest",
    "GetApiV1VoiceModelsResponse": "hanolab:GetApiV1VoiceModelsResponse",
    "items": {
      "@id": "hanolab:items",
      "@container": "@list"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "HanoLab API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects HanoLab'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-11) from openapi/_ae-authored/hanolab-com-openapi-generated.yml.",
  "dcterms:created": "2026-11-11",
  "dcterms:source": [
    "openapi/_ae-authored/hanolab-com-openapi-generated.yml"
  ]
}