analyze_track
Run audio analysis on a public audio URL. Requires estimate_cost to be called first (job_estimate_id). Requires PULSE_API_KEY. Before calling, you MUST confirm with the user that they have a lawful basis to submit this audio for analysis. For a user-requested folder, project, playlist, or batch, one confirmation can cover every track in that scope. Returns job_id — poll get_job_status for results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tools | Yes | Analysis tools to run. Available in v1.0: bpm, key, waveform. Coming soon: structure, chords. | |
| audio_url | Yes | Public URL of the audio file. | |
| job_estimate_id | Yes | The job_estimate_id returned by estimate_cost. Must not be expired (30 min TTL). | |
| attestation_confirmed | Yes | Set to true ONLY after the user has confirmed they have rights, permission, lawful access, or another legal basis to submit this audio, or the current user-requested batch/folder/project containing it, for analysis. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | True when analysis was accepted. | |
| error | No | Machine-readable error code. | |
| job_id | No | Pulse analysis job id. | |
| status | No | Current job status. | |
| details | No | Additional structured context from Pulse. | |
| message | No | Human-readable recovery guidance. | |
| poll_url | No | Relative status polling URL. | |
| retryable | No | Whether the caller may retry after changing state or waiting. | |
| cache_hits | No | Tools served from cache. | |
| stream_url | No | Relative SSE status URL. | |
| account_type | No | Account type used for the request. | |
| upgrade_path | No | ||
| conversion_note | No | ||
| tokens_estimated | No | Estimated token charge. | |
| cost_usd_estimated | No | Estimated USD value. |