import requests
API_KEY = "mk_your_api_key"
BASE = "https://api.mosaic.so"
# 1. Get upload URL
data = requests.post(f"{BASE}/uploads/audio/get_upload_url",
headers={"Authorization": f"Bearer {API_KEY}"}).json()
# 2. Upload file
with open("music.mp3", "rb") as f:
requests.post(data["upload_url"], data=data["upload_fields"], files={"file": f})
# 3. Finalize
result = requests.post(f"{BASE}/uploads/audio/finalize_upload",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"audio_id": data["audio_id"]}).json()
# 4. Use in update_params
run = requests.post(f"{BASE}/agent/YOUR_AGENT_ID/run",
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json={
"video_urls": ["https://youtube.com/watch?v=dQw4w9WgXcQ"],
"update_params": {
"AUDIO_NODE_ID": {"audio_id": result["audio_id"]}
}
}).json()
print(f"Run ID: {run['run_id']}")