Gids

Alles wat de Jam Jam API omzet, van een opname tot bladmuziek

De conversie-engine achter jam-jam.org/app/convert en de mobiele app is ook een publieke REST API: stuur een bestand, een link of tekst, en krijg akkoorden, songtekst, toonsoort, tempo, of een draagbare export terug. Dit is precies wat ze accepteert, wat ze teruggeeft, en hoe je haar aanroept.

Uitgelichte tool · Jouw online songbook

Een REST API achter exact dezelfde engine

De API staat op jam-jam.org/api/v1 en draait dezelfde pijplijn als de webapp, de mobiele app en jam-jam.org/app/convert: een bestand dat via een van die drie binnenkomt volgt dezelfde code en geeft hetzelfde resultaat. Volledige documentatie, met echte curl- en Python-voorbeelden en een manier om een sleutel te maken, staat op jam-jam.org/developers. De machineleesbare OpenAPI 3.1-specificatie op jam-jam.org/api/v1/openapi.json bevat een aanbevolen aanroepvolgorde voor een agent of script, en jam-jam.org/llms.txt somt elke onderstaande mogelijkheid op voor een assistent die het rechtstreeks leest. Een officiële MCP-server (Model Context Protocol), @jam-jam/convert-mcp, ontsluit dezelfde API als vijf tools, list_formats, convert_file, convert_text, get_job en get_usage, voor MCP-geschikte agents zoals Claude Desktop, Claude Code of Cursor.

Eén sleutel, één quotum, geen wachtrij

GET /formats aanroepen vraagt helemaal geen authenticatie en geeft elk formaat terug dat deze server vandaag accepteert, met de grootte- en duurlimieten, zodat een script vooraf kan checken. Al het andere verwacht een Authorization: Bearer-header, óf een Supabase-sessietoken óf een persoonlijke API-sleutel met het voorvoegsel jj_live_..., gratis aan te maken bij Instellingen > API-sleutels in de app. Zonder sleutel telt een aanroep als anoniem: 3 conversies per glijdende 24 uur. Een gratis account verhoogt dat naar 10 per week, hetzelfde glijdende quotum dat export en import van het liedboek al delen; Premium verhoogt het naar 500 per maand. Elk antwoord dat quotum verbruikt draagt X-Quota-*-headers met het exacte saldo, en zowel geüploade bestanden als resultaten worden 24 uur na het aanmaken van de job verwijderd, gelukt of niet.

Dien een job in, en volg of stream hem

Een conversie is een job, geen direct antwoord: POST /jobs met een bestand als multipart/form-data, of een URL of geplakte tekst als JSON, geeft een 202 terug met het id van de job. Vandaar peilt GET /jobs/{id} de status (met inachtneming van de Retry-After-header), of opent GET /jobs/{id}/events een Server-Sent Events-stream van dezelfde job voor een script dat liever wacht dan vraagt. Zodra de fase done bereikt, downloadt GET /jobs/{id}/result het klaargezette bestand, en geeft GET /jobs/{id}/result/songbook hetzelfde resultaat terug als Jam Jams eigen JSON-pivot, akkoorden, songtekst, secties, toonsoort, tempo, meteen leesbaar. Elke fout komt terug als een standaard application/problem+json-body in plaats van een kale statuscode.

In: een opname, een link, een scan of een foto

Een audio- of videobestand wordt een liedboek met al bepaalde akkoorden, songtekst, toonsoort en tempo, dezelfde herkenning die de app uitvoert op een live microfoon of een geüpload bestand, en van daar kan het meteen naar een gegenereerde karaokevideo of een begeleidingsspoor. Een pagina die je als URL plakt, of een zoekopdracht, wordt op dezelfde manier gelezen als een tabsite in de app. Een PDF of een foto, een afgedrukt akkoordenblad, een gescande partituur, een heel liedboek, gitaartab, zelfs een telefoonfoto van een whiteboard, gaat via OCR en optische notenherkenning naar dezelfde pivot. Ruwe audio zelf omzetten in notatie, een notenbalk of een tab, blijft voorlopig achter een kwaliteitsgrens: die richting vraagt om een bron die de melodie al draagt, geen live opname.

In: tekst en notatie die je al hebt

ChordPro- en OnSong-bestanden, platte tekst met akkoorden of songtekst of een ASCII-tab, een Word- of RTF-document, presentatiedia's, een spreadsheet of een setlist in CSV, en de HTML van een geplakte webpagina zetten allemaal om naar hetzelfde liedboek, want een akkoordenblad komt zelden in maar één vorm binnen. MusicXML- en MIDI-bestanden brengen hun eigen noten mee en, als ze die hebben, hun songtekst; een Guitar Pro- of MuseScore-projectbestand (.gp, .gpx, .mscz en verwante extensies) bereikt het liedboek op dezelfde manier, in bèta; een bestand met gesynchroniseerde songtekst (.lrc, .srt, .vtt, .ass) brengt zijn timing mee; en een .jamsong-bestand of een gezipte export wordt verliesvrij opnieuw geïmporteerd, precies zoals het Jam Jam verliet.

Uit: welk formaat de job echt nodig heeft

Vanuit datzelfde liedboek exporteert de API een PDF van de akkoorden, de songtekst of een leeg raster; een PNG-afbeelding, een HTML-pagina, platte tekst, ChordPro, een chords-lab- of chords-csv-akkoordannotatie, of gewoon de toonsoort en het tempo; een getransponeerde versie of een met kapo; akkoorddiagrammen voor gitaar, ukelele, piano en de andere instrumenten die Jam Jam dekt; gesynchroniseerde songtekst als .lrc of .srt; een karaokevideo; een gegenereerd begeleidingsspoor; of het verliesvrije .jamsong-bestand, op verzoek afdrukklaar. Zodra er echt een melodie aanwezig is, geïmporteerd uit MusicXML, MIDI, een Guitar Pro-project, een gescande partituur of een tab in plaats van ruwe audio, exporteert datzelfde liedboek ook als bladmuziek, als gitaartab-PDF, als MIDI of als MusicXML, de laatste twee met Premium.

Voor het volledige beeld van Jam Jams conversiepijplijn, lees het artikel over universele bestandsconversie.

Veelgestelde vragen over de API

Wat is de Jam Jam API?

Een publieke REST API op jam-jam.org/api/v1 die Jam Jams eigen conversie-engine aandrijft: stuur een audiobestand, een PDF, een foto, een link, MIDI, MusicXML, ChordPro of platte tekst, en krijg een gestructureerd liedboek terug (akkoorden, songtekst, toonsoort, tempo) of een draagbare export zoals een PDF, een karaokevideo of een begeleidingsspoor.

Is de API gratis?

Ja, tot een quotum. Anonieme aanroepen krijgen 3 conversies per glijdende 24 uur, een gratis account 10 per week, en Premium verhoogt dat naar 500 per maand. Geüploade bestanden en resultaten worden 24 uur na het draaien van de job verwijderd.

Kan de API een audiobestand omzetten in akkoorden en songtekst?

Ja. Een audio- of videobestand insturen met output: songbook geeft akkoorden met tijdstempel, de toonsoort, het tempo en de songtekst terug, dezelfde herkenning die de app zelf uitvoert. Volledige melodienotatie uit ruwe audio (MIDI, MusicXML, een notenbalk of een tab) hoort daar niet bij: dat vraagt om een bron die de melodie al draagt.

Is er een MCP-server voor AI-agents?

Ja, @jam-jam/convert-mcp ontsluit dezelfde API als vijf tools, list_formats, convert_file, convert_text, get_job en get_usage, zodat een MCP-geschikte agent zoals Claude Desktop, Claude Code of Cursor haar rechtstreeks kan aanroepen.

Waar krijg ik een API-sleutel?

Maak een gratis Jam Jam-account, open dan Instellingen > API-sleutels in de app (mobiel of web) en genereer er een. Hij wordt maar één keer getoond, begint met jj_live_, en kan op elk moment worden ingetrokken; tot 5 sleutels per account.

Lees de volledige referentie, met echte curl- en Python-voorbeelden, op jam-jam.org/developers: