""" Simple script to test Eric's downbeats API """ import json import sys import requests def fetch_downbeats(clip_id: str) -> dict: url = f"https://suno-ai--eric-downbeats-dev-web.modal.run/downbeats/{clip_id}" print(f"Fetching downbeats for clip: {clip_id}") print(f"URL: {url}\n") response = requests.get(url) response.raise_for_status() data = response.json() if data.get("error"): raise Exception(data["error"]) return data def main(): clip_id = sys.argv[1] if len(sys.argv) > 1 else "4caf7456-ef0b-4411-928d-8c2078c62b82" try: result = fetch_downbeats(clip_id) print("=== Results ===") print(f"BPM: {result.get('bpm')}") print(f"Number of downbeats: {len(result.get('downbeats', []))}\n") print("=== Downbeat Timestamps (seconds) ===") timestamps = [time for time, _ in result.get("downbeats", [])] for i, time in enumerate(timestamps, 1): print(f"{i}. {time:.5f}s") print("\n=== Full Response ===") print(json.dumps(result, indent=2)) except Exception as e: print(f"Error: {e}", file=sys.stderr) sys.exit(1) if __name__ == "__main__": main()