{
  "service": "klangio",
  "displayName": "Klangio",
  "categories": [
    "AI",
    "Design & Media"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "KLANGIO_API_KEY",
      "description": "Klangio API key sent with the kl-api-key header. Apply for API access on the official Klangio API page: https://klang.io/api/ ."
    }
  ],
  "homepageUrl": "https://klang.io",
  "actions": [
    {
      "id": "klangio.create_beat_tracking_job",
      "service": "klangio",
      "name": "create_beat_tracking_job",
      "description": "Create a Klangio beat and downbeat tracking job from a URL or Base64 audio file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file"
        ],
        "description": "Input payload for creating a Klangio audio analysis job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.create_chord_recognition_extended_job",
      "service": "klangio",
      "name": "create_chord_recognition_extended_job",
      "description": "Create a Klangio chord recognition job with extended key detection from a URL or Base64 audio file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "vocabulary": {
            "type": "string",
            "enum": [
              "major-minor",
              "full"
            ],
            "description": "The chord recognition vocabulary used by Klangio."
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file",
          "vocabulary"
        ],
        "description": "Input payload for creating a Klangio chord recognition job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.create_chord_recognition_job",
      "service": "klangio",
      "name": "create_chord_recognition_job",
      "description": "Create a Klangio chord recognition job from a URL or Base64 audio file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "vocabulary": {
            "type": "string",
            "enum": [
              "major-minor",
              "full"
            ],
            "description": "The chord recognition vocabulary used by Klangio."
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file",
          "vocabulary"
        ],
        "description": "Input payload for creating a Klangio chord recognition job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.create_source_separation_job",
      "service": "klangio",
      "name": "create_source_separation_job",
      "description": "Create a Klangio source separation job from a URL or Base64 audio file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "model": {
            "type": "string",
            "enum": [
              "six-stems",
              "four-stems"
            ],
            "description": "The source separation model to use."
          },
          "output": {
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "description": "The source separation audio output format."
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file"
        ],
        "description": "Input payload for creating a Klangio source separation job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.create_strum_recognition_job",
      "service": "klangio",
      "name": "create_strum_recognition_job",
      "description": "Create a Klangio guitar strum recognition job from a URL or Base64 audio file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file"
        ],
        "description": "Input payload for creating a Klangio audio analysis job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.create_transcription_job",
      "service": "klangio",
      "name": "create_transcription_job",
      "description": "Create a Klangio transcription job from a URL or Base64 audio file and requested score outputs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "fileName": {
                "type": "string",
                "minLength": 1,
                "description": "The filename sent in the multipart file field. Required when using contentBase64; optional for URL inputs."
              },
              "url": {
                "type": "string",
                "description": "A public HTTP or HTTPS URL for the audio file. When both url and contentBase64 are provided, url is used.",
                "format": "uri"
              },
              "contentBase64": {
                "type": "string",
                "description": "Base64-encoded audio file bytes, used only when url is not provided."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type sent for the uploaded audio file."
              }
            },
            "additionalProperties": false,
            "description": "An audio file uploaded to Klangio as multipart/form-data.",
            "anyOf": [
              {
                "required": [
                  "url"
                ]
              },
              {
                "required": [
                  "contentBase64",
                  "fileName"
                ]
              }
            ]
          },
          "model": {
            "type": "string",
            "enum": [
              "piano",
              "guitar",
              "bass",
              "vocal",
              "universal",
              "lead",
              "detect",
              "drums",
              "multi",
              "wind",
              "string",
              "piano_arrangement"
            ],
            "description": "The Klangio transcription model to use for the audio file."
          },
          "outputs": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "mxml",
                "midi",
                "pdf",
                "gp5",
                "json",
                "midi_quant"
              ],
              "description": "A generated output requested from Klangio."
            },
            "description": "Generated outputs to request from Klangio.",
            "minItems": 1
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The optional score title for the transcription."
          },
          "composer": {
            "type": "string",
            "minLength": 1,
            "description": "The optional score composer for the transcription."
          },
          "webhookUrl": {
            "type": "string",
            "description": "The webhook URL Klangio should call for job updates.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "file",
          "model",
          "outputs"
        ],
        "description": "Input payload for creating a Klangio transcription job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "creationDate": {
            "type": "string",
            "description": "The date when Klangio created the job.",
            "format": "date"
          },
          "deletionDate": {
            "type": "string",
            "description": "The date until Klangio keeps the job data available.",
            "format": "date"
          },
          "statusEndpointUrl": {
            "type": "string",
            "description": "The Klangio endpoint URL for polling job status."
          },
          "generatedOutputs": {
            "type": "object",
            "properties": {
              "mxml": {
                "type": "boolean",
                "description": "Whether Klangio accepted MusicXML generation."
              },
              "midi": {
                "type": "boolean",
                "description": "Whether Klangio accepted unquantized MIDI generation."
              },
              "midiQuant": {
                "type": "boolean",
                "description": "Whether Klangio accepted quantized MIDI generation."
              },
              "gp5": {
                "type": "boolean",
                "description": "Whether Klangio accepted GP5 generation."
              },
              "pdf": {
                "type": "boolean",
                "description": "Whether Klangio accepted PDF generation."
              }
            },
            "additionalProperties": false,
            "description": "Generated output flags returned for a transcription job."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId",
          "creationDate",
          "deletionDate",
          "statusEndpointUrl"
        ],
        "description": "A Klangio job creation response."
      }
    },
    {
      "id": "klangio.download_job_result",
      "service": "klangio",
      "name": "download_job_result",
      "description": "Download a generated Klangio job result file and upload it to local transit storage.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "resultType": {
            "type": "string",
            "enum": [
              "mxml",
              "midi",
              "pdf",
              "gp5",
              "json",
              "midi_quant"
            ],
            "description": "A generated output requested from Klangio."
          }
        },
        "additionalProperties": false,
        "description": "Input payload for downloading a generated Klangio job result file."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated filename."
              },
              "mimetype": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type of the generated file."
              },
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local transit download URL.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated file size in bytes."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type of the generated file."
              }
            },
            "additionalProperties": false,
            "description": "A downloadable file uploaded to connector transit storage."
          },
          "contentType": {
            "type": "string",
            "minLength": 1,
            "description": "The MIME type of the downloaded result file."
          },
          "contentLength": {
            "type": "integer",
            "minimum": 0,
            "description": "The result file size in bytes."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a downloaded Klangio result file."
      }
    },
    {
      "id": "klangio.download_source_separation_audio",
      "service": "klangio",
      "name": "download_source_separation_audio",
      "description": "Download a Klangio source separation stem audio file and upload it to local transit storage.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          },
          "stemType": {
            "type": "string",
            "enum": [
              "vocals",
              "bass",
              "drums",
              "other",
              "piano",
              "guitar"
            ],
            "description": "The source separation stem to download."
          }
        },
        "additionalProperties": false,
        "description": "Input payload for downloading a Klangio source separation stem audio file."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The generated filename."
              },
              "mimetype": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type of the generated file."
              },
              "fileId": {
                "type": "string",
                "minLength": 1,
                "description": "The local transit file identifier."
              },
              "downloadUrl": {
                "type": "string",
                "description": "The local transit download URL.",
                "format": "uri"
              },
              "sizeBytes": {
                "type": "integer",
                "minimum": 0,
                "description": "The generated file size in bytes."
              },
              "mimeType": {
                "type": "string",
                "minLength": 1,
                "description": "The MIME type of the generated file."
              }
            },
            "additionalProperties": false,
            "description": "A downloadable file uploaded to connector transit storage."
          },
          "contentType": {
            "type": "string",
            "minLength": 1,
            "description": "The MIME type of the downloaded result file."
          },
          "contentLength": {
            "type": "integer",
            "minimum": 0,
            "description": "The result file size in bytes."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a downloaded Klangio result file."
      }
    },
    {
      "id": "klangio.get_job_status",
      "service": "klangio",
      "name": "get_job_status",
      "description": "Fetch the current processing status for a Klangio job.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The Klangio transcription job UUID.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Input payload for fetching a Klangio job status."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "IN_QUEUE",
              "IN_PROGRESS",
              "COMPLETED",
              "FAILED",
              "CANCELLED",
              "TIMED_OUT"
            ],
            "description": "The Klangio job status."
          },
          "error": {
            "anyOf": [
              {
                "type": "string",
                "description": "The provider error message associated with the job status."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "status"
        ],
        "description": "The Klangio job status response."
      }
    }
  ]
}
