Was der Kunde brauchte
hitdlaciebie.pl ("ein Hit fur dich" auf Polnisch) ist ein personalisierter Musikgeschenk-Service. Ein Nutzer beschreibt, fur wen der Song ist, den Anlass, die Stimmung — und erhalt einen vollstandigen Originalsong: individuelle Liedtexte, KI-generierter Gesang, MP3 zum Teilen bereit.
Das Produkt musste ohne manuelle Eingriffe von Ende zu Ende funktionieren: Nutzer zahlt per Shopify, Liedtexte werden generiert, Musik produziert, Datei landet im personlichen Kabinett des Nutzers. Alles auf Polnisch, alles automatisiert.
Die technische Herausforderung war nicht das Bauen eines Formulars. Es war das Bauen einer zuverlassigen Pipeline, bei der drei externe KI-Dienste (LLM fur Liedtexte, Musik-API, Shopify fur Abrechnung) unter realen Bedingungen korrekt aneinander ubergeben: Webhooks, die zweimal ankommen, CDN-Links, die ablaufen, Testmodus, der still nichts tut.
Warum ein LLM nicht genug ist, um KI Musik erstellen zu lassen
Einzel-Modell-Versuche scheiterten in beide Richtungen. Hohe Temperatur (kreativer Modus): die Liedtexte waren vorstellungskraftig, aber strukturell kaputt — falsche Vers-Langen, fehlende Chorus-Marker, inkonsistentes Reimschema. Niedrige Temperatur (strukturierter Modus): die Liedtexte waren korrekt formatiert, aber flach und unvergesslich. Die Losung war eine zweistufige Pipeline: zuerst Kreativitat, dann Struktur.
Warum zwei Modelle statt eines
Suno V5.5 — der in Produktion eingesetzte KI-Musikgenerator — erfordert spezifische Formatierung: [Verse], [Chorus], [Bridge]-Tags mit konsistenten Zeilenlangen und Reimmustern. Inkonsistente Liedtexte fuhren zu strukturell fehlerhaften Ausgaben.
Sowohl Kreativitat als auch Struktur aus einem einzigen LLM-Aufruf zu erhalten, erforderte Temperatur-Tuning, das in entgegengesetzte Richtungen zog. Die Losung war, damit aufzuhoren.
↓
Gemini 2.5 Flash — Temperatur 0,8
↓ kreativer Entwurf: lebhafte Bilder, emotionale Sprache, rohe Ideen
Claude Sonnet 4.6 — Temperatur 0,35
↓ Struktur-Editing: erzwingt [Verse]/[Chorus]-Tags, Reimschema, Zeilenanzahl
Finale Liedtexte → Suno V5.5 API → MP3
Gemini 2.5 Flash bei 0,8 ubernimmt die kreative Schicht: es generiert emotional resonante Rohinhalte ohne Formatierungssorgen. Claude Sonnet bei 0,35 ubernimmt die editorische Schicht: es nimmt den Entwurf und erzwingt genau die Struktur, die Suno erwartet.
Beide Aufrufe laufen uber OpenRouter, was bedeutet, dass dieselbe Pipeline Modelle tauschen kann, ohne die API-Integration zu andern. Erscheint ein besseres polnischsprachiges Modell, wird es mit einer Config-Anderung in Stufe eins eingesetzt.
Vier getestet, eine geliefert
Die falsche Musik-API beim Launch zu wahlen bedeutet, die Pipeline spater neu zu bauen. Ich habe alle vier Kandidaten getestet, bevor ich mich fur die Produktion entschied. Die Architektur ist provider-agnostisch — alle vier bleiben registriert. Den aktiven Anbieter zu wechseln ist eine Config-Anderung, kein Rewrite.
| API | Polnischer Gesang | Struktur | Zuverlassigkeit | Entscheidung |
|---|---|---|---|---|
| fal.ai / Minimax | Schwach — vokalreiche Worter klangen synthetisch | Gut | Stabil | Abgelehnt |
| ElevenLabs Music | Guter Klang | Kein Vers/Chorus-Bewusstsein — behandelt alle Texte als einen Block | Stabil | Abgelehnt |
| Udio | Vielversprechende Qualitat | Gut | Stille Fehler beim Testen | Abgelehnt |
| Suno V5.5 | Naturliche polnische Phonetik | Korrekte [Verse]/[Chorus]-Interpretation | Konsistent | Geliefert |
Drei echte Produktionsprobleme
/proxy-audio-Route, die Audio on Demand vom CDN erneut ausliefert. Die erste Version akzeptierte jede URL als Eingabe — eine klassische Server-Side Request Forgery (SSRF)-Lucke. Behoben mit strikter URL.hostname-Validierung: nur *.suno.ai uber HTTPS erlaubt. Das brach altere fal.ai-URLs, die bereits in der Datenbank gespeichert waren — die Whitelist wurde fur Abwartskompatibilitat erweitert.orders/paid-Ereignis zweimal ankommen. Das Ergebnis ohne Schutz: Nutzer erhalten doppeltes Token-Guthaben, Bestellungen werden zweimal verarbeitet, Datenbankeintrags-Duplikate entstehen. Behoben mit einem einzigartigen Constraint auf shopify_order_id und ON CONFLICT DO NOTHING beim Insert. Die Pipeline wurde durch Design idempotent — dasselbe Webhook erneut auszufuhren hat nach dem ersten erfolgreichen Schreibvorgang keine Wirkung.Was geliefert wurde
- 2 Wochen vom ersten Commit bis zum Live-Produkt
- 4 Musikgenerations-APIs evaluiert
- 2 LLM-Modelle in Sequenz fur Liedtexte
- 3 echte Sicherheits- und Zuverlassigkeitsprobleme vor dem Launch gefunden
- Vollstandige Shopify-Zahlungsintegration mit HMAC-Verifizierung
- Personliches Nutzer-Kabinett mit Bestellverlauf und Audio-Wiedergabe
- Provider-agnostische Musik-Pipeline — API wechseln ohne Rewrite
Was es zum Erfolg gemacht hat
- Zwei-Modell-Lyrics-Pipeline: Kreativitat und Struktur als getrennte Belange
- OpenRouter als LLM-Gateway: modell-agnostisch, ein API-Schlussel
- Idempotente Webhook-Verarbeitung: einzigartiger Constraint auf Shopify-Order-ID
- SSRF-sicherer Audio-Proxy: Hostname-Whitelist, nur HTTPS
- Status-Tracking bei jeder Bestellung: keine stillen Fehler
- Provider-agnostische Musik-API-Schicht: alle vier registriert, eine aktiv
Haufige Fragen zu KI Musik erstellen
Eingesetzte Technologien
Ich baue Full-Stack-KI-Applikationen von Grund auf: Musikgeneratoren, Content-Pipelines, Automatisierungstools, SaaS-Produkte. Zwei Wochen vom Briefing bis live. Standort Munchen, Kunden in ganz Europa.