Dokumentasi API Mixanalytic
Referensi API resmi untuk https://mixanalytic.com. Gunakan API ini untuk mengunggah audio dan menerima analisis mix berbasis AI dengan pilihan modul dan mode respons ringkas atau lengkap.
URL dasar: https://mixanalytic.com/api
Autentikasi
Kirim kunci API Anda dalam header X-API-Key pada setiap permintaan.
- 401 kunci tidak ada atau tidak valid
- 403 kunci paket gratis tanpa akses API
- 429 batas permintaan terlampaui
Cakupan: write digunakan untuk unggah dan analisis Mix Analyzer. content membaca data riset konten dengan informasi sensitif disamarkan. content_write menyimpan draf konten nonpublik. Cakupan konten hanya untuk admin.
Endpoint
| Metode | Jalur | Tujuan |
|---|---|---|
| GET | /api/test-data | Pemeriksaan koneksi dan autentikasi. |
| POST | /api/upload | Unggah dan analisis berkas audio. |
| GET | /api/analyze/<file_id> | Analisis ulang berdasarkan ID berkas (jika berkas asli masih ada). |
| GET | /api/content/analysis-feed | Feed riset dengan informasi sensitif disamarkan untuk agen konten, hanya untuk admin. |
| POST | /api/content/drafts | Endpoint penyimpanan dan pembaruan draf untuk agen konten, hanya untuk admin. |
| GET | /api/ai-stats?days=30 | Statistik penggunaan analisis AI. |
Permintaan unggah
POST/api/upload
| Kolom | Jenis | Wajib | Catatan |
|---|---|---|---|
| file | multipart file | Ya | Diizinkan: mp3, wav, flac, m4a, aac, ogg. Maksimum 100MB. |
| modules | string/list | Tidak | Semua modul digunakan secara default jika tidak dicantumkan. |
| detail_level | string | Tidak | full (default) atau summary. |
detail_level yang tidak valid menghasilkan 400. Berkas yang terlalu besar menghasilkan 413.
Pemilihan modul
Tentukan modul analisis yang dikembalikan dan dihitung dengan modules.
Format yang didukung:
- String yang dipisahkan koma: modules=frequency_balance,clarity,mood
- String array JSON: modules=["frequency_balance","clarity","mood"]
- Kunci berulang (kueri/formulir): modules=frequency_balance&modules=clarity
- Semua modul: modules=all atau modules=*
| Modul | Deskripsi |
|---|---|
| frequency_balance | Penilaian frekuensi dan keseimbangan pada 7 pita. |
| dynamic_range | Rentang dinamis, faktor puncak, PLR. |
| stereo_field | Metrik lebar, fase, dan korelasi. |
| clarity | Metrik kejernihan dan definisi spektral. |
| harmonic_content | Nada dasar dan kompleksitas harmonik. |
| transients | Data attack, kepadatan transien, dan punch frekuensi rendah. |
| 3d_spatial | Konsistensi tinggi, kedalaman, dan lebar. |
| surround_compatibility | Kompatibilitas mono + skor fase. |
| headphone_optimization | Skor pengoptimalan pemutaran melalui headphone. |
| speaker_optimization | Skor pengoptimalan pemutaran melalui speaker. |
| genre | Klasifikasi genre dan tingkat keyakinan. |
| voice | Kehadiran vokal dan karakteristik suara. |
| instruments | Deteksi instrumen dan informasi aransemen. |
| mood | Profil suasana dengan energi dan valensi. |
| keywords | Kata kunci dan tag semantik. |
| loudness | Ukur LUFS, true peak, clipping, dan target streaming agar master cukup keras tanpa distorsi, puncak akibat codec, atau kejutan pada platform. |
| noise | Ukur noise floor, dengung listrik, desis, dan artefak agar rekaman dapat dibersihkan sebelum mastering membuatnya lebih keras, lebih cerah, dan lebih sulit disembunyikan. |
| format_quality | Periksa encoding lossy, batas spektral, dan bit depth agar Anda tidak tanpa sengaja melakukan mastering dari sumber MP3, AAC, atau audio yang ditingkatkan resolusinya tetapi sudah terdegradasi sebelum rilis. |
| reference | Referensi |
| visualizations | URL untuk aset visual analisis yang dihasilkan. |
| ai_insights | Ringkasan dan rekomendasi yang dihasilkan LLM. |
Pengaturan ukuran respons
Gunakan detail_level:
- full (default): payload lengkap
- summary: payload ringkas untuk klien frontend atau seluler
Contoh
1) Unggah + analisis lengkap
2) Unggah + modul terpilih
3) Unggah + modul terpilih + payload ringkasan
4) Endpoint uji
5) JavaScript sisi klien
Metadata respons standar
Respons analisis yang berhasil mencakup:
- requested_modules
- returned_modules
- detail_level
- available_modules
Kode kesalahan
| Status | Makna | Penyebab umum |
|---|---|---|
| 400 | Permintaan tidak valid | Modul/detail_level tidak valid, kolom file tidak ada, berkas kosong. |
| 401 | Tidak berwenang | Kunci API tidak ada, tidak valid, atau kedaluwarsa. |
| 403 | Dilarang | Akses API tidak diizinkan untuk tingkat akun ini. |
| 404 | Tidak ditemukan | /api/analyze/<file_id> berkas tidak lagi tersedia (dihapus demi privasi). |
| 413 | Payload terlalu besar | Berkas lebih besar dari 100MB. |
| 429 | Batas permintaan terlampaui | Terlalu banyak permintaan per menit, jam, atau hari. |
| 500 | Kesalahan server | Kegagalan analisis atau runtime. |
Catatan frontend
- Untuk klien web atau seluler, utamakan detail_level=summary.
- Minta hanya modul yang dibutuhkan untuk tampilan awal untuk mengurangi latensi dan ukuran payload.
- Tangani 429 dan 500 dengan percobaan ulang dan jeda yang makin lama.
- Jangan memaparkan kunci produksi berumur panjang dalam bundle publik.