{
  "name": "AudD Music Recognition",
  "description": "Identifies the song in an audio or video clip and returns artist, title, album, release date and streaming-service links. Send an audio URL or the file itself. This A2A agent is a thin wrapper over the AudD music recognition API: the standard endpoint scans the first 12 seconds of the audio. Authenticate with an AudD OAuth access token (scope api:request) or with your AudD api_token in the X-Api-Token header. The same recognition is available directly over plain HTTPS at https://api.audd.io/ (long files: https://enterprise.audd.io/), documented at https://docs.audd.io/ with an OpenAPI description at https://audd.io/openapi.json, and over MCP at https://mcp.audd.io. The same AudD api_token works for the REST API and for this agent.",
  "supportedInterfaces": [
    {
      "url": "https://dashboard-api.audd.io/a2a/",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "AudD",
    "url": "https://audd.io"
  },
  "version": "1.0.0",
  "documentationUrl": "https://docs.audd.io/",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extensions": [
      {
        "uri": "https://audd.io/a2a/extensions/direct-api/v1/",
        "description": "Data-only: describes AudD's plain HTTPS recognition API (not an A2A interface), which accepts the same api_token.",
        "required": false,
        "params": {
          "endpoints": [
            {
              "url": "https://api.audd.io/",
              "purpose": "standard recognition; scans the first 12 seconds",
              "params": [
                "url",
                "file",
                "return",
                "market",
                "api_token"
              ]
            },
            {
              "url": "https://enterprise.audd.io/",
              "purpose": "long files, recognized in 12-second chunks",
              "params": [
                "url",
                "file",
                "skip",
                "every",
                "limit",
                "skip_first_seconds",
                "use_timecode",
                "accurate_offsets",
                "api_token"
              ]
            }
          ],
          "openapi": "https://audd.io/openapi.json",
          "apiCatalog": "https://audd.io/.well-known/api-catalog",
          "docs": "https://docs.audd.io/",
          "mcp": "https://mcp.audd.io",
          "agentSkills": "https://audd.io/.well-known/agent-skills/index.json",
          "auth": {
            "param": "api_token",
            "in": [
              "form",
              "query"
            ],
            "obtain": "https://dashboard.audd.io/"
          }
        }
      }
    ]
  },
  "securitySchemes": {
    "oauth2_code": {
      "oauth2SecurityScheme": {
        "description": "AudD account sign-in (authorization code + PKCE). Request scope api:request.",
        "oauth2MetadataUrl": "https://dashboard-api.audd.io/.well-known/oauth-authorization-server",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://dashboard.audd.io/api/oauth2/authorize",
            "tokenUrl": "https://dashboard-api.audd.io/oauth2/token",
            "refreshUrl": "https://dashboard-api.audd.io/oauth2/token",
            "pkceRequired": true,
            "scopes": {
              "api:request": "Run music recognition requests on your AudD account"
            }
          }
        }
      }
    },
    "api_token": {
      "apiKeySecurityScheme": {
        "description": "Your AudD API token from https://dashboard.audd.io/ (the same api_token the REST API takes).",
        "location": "header",
        "name": "X-Api-Token"
      }
    }
  },
  "defaultInputModes": [
    "text/plain",
    "application/json",
    "audio/mpeg"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "recognize-music",
      "name": "Recognize music",
      "description": "Identify the song playing in a short audio or video clip (the first 12 seconds are scanned). Input, one clip per message: an audio URL (a url part, a link in a text part, or {\"url\": ...} in a data part) or the file itself as a raw part (keep the file under about 700 KB; send a URL for larger files). Optional data part: {\"return\": \"apple_music,spotify,deezer,musicbrainz\", \"market\": \"us\"}. Output: a completed task whose artifact has a one-line text summary and a JSON data part with AudD's response (status, and result with artist, title, album, release_date, label, timecode, song_link, plus any requested metadata; result is null when nothing matched, and the task still completes). Tasks stay retrievable with GetTask and ListTasks for one hour.",
      "tags": [
        "music",
        "audio",
        "song-identification",
        "music-recognition"
      ],
      "examples": [
        "What song is this? https://audd.tech/example.mp3",
        "{\"url\": \"https://audd.tech/example.mp3\", \"return\": \"apple_music,spotify\"}"
      ]
    }
  ],
  "iconUrl": "https://audd.io/images/icon-180x180.png"
}
