{"spec":"magicmaster.agent-manifest/1","generated_from":"live server configuration","service":{"name":"Magic Master","version":"3.9.0","description":"Automatic audio mastering: LUFS targets, True Peak limiting (ITU-R BS.1770-5), multiband dynamics, restoration, stem mastering and Suno/Udio AI-fingerprint removal.","url":"https://magicmaster.pro","languages":["ru","en"],"support_email":"support@magicmaster.pro"},"docs":{"agent_playbook":"https://magicmaster.pro/agents.md","developer_docs":"https://magicmaster.pro/developers","openapi":"https://magicmaster.pro/openapi-public.json","facts_for_llms":"https://magicmaster.pro/llms.txt","terms":"https://magicmaster.pro/terms","privacy":"https://magicmaster.pro/privacy"},"auth":{"anonymous":{"allowed":true,"note":"Free endpoints and the guest mastering quota work without credentials."},"api_key":{"header":"X-API-Key","prefix":"mm_","issued":"in the profile after any token purchase","where":"https://magicmaster.pro/profile"},"bearer_jwt":{"header":"Authorization: Bearer <jwt>","obtain":"POST /api/auth/login"},"oauth":{"applies_to":"https://magicmaster.pro/mcp/oauth","metadata":"https://magicmaster.pro/.well-known/oauth-protected-resource","note":"OAuth 2.1 with PKCE — for MCP clients that cannot send custom headers. Details under mcp.auth.oauth."}},"formats":{"input":["wav","mp3","flac","m4a"],"output":["wav","wav24","mp3","flac","opus","aac"],"bitrate_mp3":[128,192,256,320],"bitrate_opus":[128,192]},"onboarding":{"anonymous_mastering":"guest quota only (see limits); the MCP server expects credentials","trial":{"available":true,"endpoint":"POST /api/agents/register","auth":"Authorization: Bearer <jwt of the principal's account>","how_to_get_the_jwt":{"register":"POST /api/auth/register {email, password} -> access_token","login":"POST /api/auth/login {email, password} -> access_token","note":"Both are plain API calls; the web UI is not required."},"body":{"name":"your-agent","purpose":"one line"},"grants":"3 full PRO masters + an API key","limit":"once per account"},"then":"Buy tokens — 1 token = 1 full PRO master. Payment needs the human."},"mcp":{"available":true,"name":"pro.magicmaster/mastering","version":"0.1.0","endpoint":"https://magicmaster.pro/mcp","transport":"streamable-http","protocol_versions":["2026-07-28","2025-11-25","2025-06-18"],"latest_protocol":"2026-07-28","auth":{"anonymous":"Free tools and the guest quota need no credentials.","api_key":"X-API-Key: mm_… — simplest for your own code.","oauth":{"why":"For clients that cannot send custom headers (Claude Desktop).","endpoint_requiring_auth":"https://magicmaster.pro/mcp/oauth","protected_resource_metadata":"https://magicmaster.pro/.well-known/oauth-protected-resource","authorization_server_metadata":"https://magicmaster.pro/.well-known/oauth-authorization-server","registration":"https://magicmaster.pro/oauth/register","pkce":"S256 required","scopes":["mastering"]}},"tools":["get_service_info","list_presets","get_pricing","check_limits","analyze_track","clean_ai_trace","master_track","get_job","create_topup_link"],"note":"Tools call the same public API with your credentials — same gates, same limits, same billing as any other client."},"endpoints":[{"method":"POST","path":"/api/v2/analyze","cost":"free","purpose":"LUFS, peak, duration, sample rate, stereo correlation; extended=true adds spectrum and timeline"},{"method":"POST","path":"/api/v2/clean","cost":"free","purpose":"Remove the Suno/Udio AI fingerprint without mastering"},{"method":"POST","path":"/api/v2/multipreview","cost":"free","purpose":"24 s fragment rendered in 2-6 styles for comparison"},{"method":"POST","path":"/api/v2/master","cost":"1 token","purpose":"Master one track; returns job_id","form_fields":["file","style","target_lufs","out_format","bitrate","reference","config","webhook_url"],"headers":["X-API-Key (optional)","Idempotency-Key (recommended)"]},{"method":"POST","path":"/api/v2/batch","cost":"1 token per file","purpose":"Up to 10 files; album_mode keeps relative loudness"},{"method":"POST","path":"/api/v2/master/stems","cost":"1 token","purpose":"2-8 stems summed with per-stem gains, then mastered as one track"},{"method":"GET","path":"/api/master/status/{job_id}","cost":"free","purpose":"Job status and result metrics (after_lufs, true_peak_db, lra, platform_ready)"},{"method":"GET","path":"/api/master/result/{job_id}","cost":"free","purpose":"Download the mastered file"},{"method":"GET","path":"/api/master/progress/{job_id}","cost":"free","purpose":"Server-sent events with progress (alternative to polling)"},{"method":"GET","path":"/api/v2/limits","cost":"free","purpose":"What this caller may do right now: token balance, free quota left and its reset, upload cap, retention, whether PRO modules are available"},{"method":"GET","path":"/api/presets","cost":"free","purpose":"Platform loudness presets"},{"method":"GET","path":"/api/tokens/packages","cost":"free","purpose":"Live token packs and prices — the source of truth for cost"},{"method":"GET","path":"/api/v2/chain/default","cost":"free","purpose":"Default processing chain description (RU/EN)"}],"presets":[{"key":"afrobeats","target_lufs":-12.0},{"key":"audiobook","target_lufs":-19.0},{"key":"bass","target_lufs":-12.0},{"key":"big_room","target_lufs":-8.0},{"key":"bright","target_lufs":-14.0},{"key":"classical","target_lufs":-18.0},{"key":"country","target_lufs":-14.0},{"key":"dry_vocal","target_lufs":-14.0},{"key":"edm","target_lufs":-9.0},{"key":"hiphop","target_lufs":-13.0},{"key":"house_basic","target_lufs":-10.0},{"key":"jazz","target_lufs":-16.0},{"key":"kpop","target_lufs":-11.0},{"key":"lofi","target_lufs":-18.0},{"key":"metal","target_lufs":-10.0},{"key":"podcast","target_lufs":-16.0},{"key":"pop","target_lufs":-12.0},{"key":"rnb","target_lufs":-13.0},{"key":"rock","target_lufs":-11.0},{"key":"standard","target_lufs":-14.0},{"key":"trap","target_lufs":-11.0},{"key":"unlimiter","target_lufs":-12.0},{"key":"voice","target_lufs":-16.0},{"key":"warm","target_lufs":-14.0}],"limits":{"guest_masters_per_calendar_month_per_ip":3,"free_account_masters_per_utc_day":1,"free_account_masters_first_24h":3,"multipreview_per_day":6,"paid":"1 token = 1 full PRO master; tokens never expire; no daily cap","max_upload_mb":{"free":160,"pro":1000,"studio":1000},"result_retention_days":{"guest":0,"free":1,"paid":30,"studio":30},"api_keys_max_active":10},"pricing":{"model":"wallet tokens; 1 token = 1 full PRO master; tokens never expire","live_source":"https://magicmaster.pro/api/tokens/packages","packs":[{"id":"tokens_1","tokens":1,"amount_rub":"35.00","amount_stars":75,"amount_usd":"1.49","amount_eur":"1.49","popular":false,"best_value":false},{"id":"tokens_5","tokens":5,"amount_rub":"165.00","amount_stars":250,"amount_usd":"4.99","amount_eur":"4.49","popular":false,"best_value":false},{"id":"tokens_10","tokens":10,"amount_rub":"300.00","amount_stars":450,"amount_usd":"8.99","amount_eur":"7.99","popular":true,"best_value":false},{"id":"tokens_30","tokens":30,"amount_rub":"900.00","amount_stars":1100,"amount_usd":"21.99","amount_eur":"19.99","popular":false,"best_value":false},{"id":"tokens_50","tokens":50,"amount_rub":"1400.00","amount_stars":1650,"amount_usd":"32.99","amount_eur":"29.99","popular":false,"best_value":true}],"payment_methods":[{"id":"yookassa","live":true,"currency":"RUB","audience":"Russia","how":"https://magicmaster.pro/wallet","agent_can_complete":false,"note":"Card entry and 3-D Secure require the human principal."},{"id":"telegram_stars","live":true,"currency":"XTR","audience":"worldwide","how":"https://t.me/magicmasterpro_user_bot","command":"/buy","agent_can_complete":false,"note":"The only live way to pay from outside Russia. Requires the principal's Telegram account."},{"id":"card_usd_eur","live":false,"currency":"USD/EUR","agent_can_complete":false,"note":"Not live unless the flag above says otherwise — do not promise it."},{"id":"crypto","live":false,"currency":"USDT","agent_can_complete":false,"note":"Not live unless the flag above says otherwise."}],"agent_payment_protocol":"Prepare, do not complete: read packs, ask the principal, hand over the checkout link, then poll the balance until credited."},"errors":{"envelope":{"detail":"human-readable message (Russian), unchanged for existing clients","error":{"code":"stable machine code","message":"English explanation","message_ru":"same as detail","retry_after":"seconds, when applicable","hint_url":"where the human should go, when applicable"}},"codes":{"guest_quota_exhausted":"Free guest quota exhausted (masters per calendar month per IP).","free_daily_quota_exhausted":"Free daily quota exhausted (masters per UTC day).","daily_cap_reached":"Daily cap for token holders reached.","token_charge_failed":"Could not charge a token; retry.","pro_requires_token":"PRO modules require a paid master (1 token = 1 full PRO master).","payment_required":"Plan limit reached; buy tokens to continue.","unreadable_audio":"The uploaded file could not be decoded as audio.","file_too_large":"The uploaded file exceeds the size limit for this account.","unsupported_format":"Unsupported input or output format.","invalid_target_lufs":"target_lufs is outside the physically meaningful range.","job_not_found":"Job is unknown or its result has expired.","auth_required":"Authentication required.","forbidden":"Not allowed for this account."},"headers":["Retry-After","X-RateLimit-Limit","X-RateLimit-Remaining","X-RateLimit-Reset"]},"policies":{"rights":"Rights to the source and the master stay with the user; the service claims none.","refund":"A token is refunded when a master fails through the service's fault.","governing_law":"Russian Federation","agent_use":"Agents may use the service on behalf of a human principal who holds the rights to the audio and accepts the public offer."}}