Generate Music
Pick the Kie / Suno model, samples per song, and the style weight / weirdness sliders — they are saved automatically when you change them. Then load a batch JSON and click Generate to send jobs one at a time. Set KIE_API_KEY and
KIE_PUBLIC_BASE_URL (HTTPS tunnel to this server) on the machine running the API. Audio is saved under your music library’s generated folder and added to the library.
Kie / Suno API
Default genre for the batch (each row can override with its own style). These choices are saved with your generation settings and load on any device.
JSON format
Use a root object with an items array, or a bare array of song objects.
Required per song
artist,genre,title,lyrics-
genre— parent genre (must match a catalog entry from Add genre //api/admin/genres).
Optional per song
-
genreType(ortype) — sub-type within the genre; omit or use""for presets with no type. Must match a type that exists in the catalog for that genre (load fails if there are no presets for that genre+type). - For each song, the app picks a random catalog preset among all presets with that genre+type (e.g. 30 presets → random each time). The batch Style dropdown does not apply to JSON rows unless you override per row.
-
genrePresetId— optional id of a saved genre row to override this song’s style (same as the per-row “Style override” control).
From the page (not in JSON)
- Samples per song, Suno model, style weight / weirdness sliders, and optional Style line. Batch Genre / Type / Style applies to rows without JSON
genre(or use batch-only mode). -
versionon the root object (number; batch file format only — not sent to Kie.ai)
Example file: generate-batch.example.json
{
"version": 1,
"items": [
{
"artist": "Artist name",
"genre": "Power Metal",
"genreType": "Epic",
"title": "Song title",
"lyrics": "Full lyrics…"
}
]
}
0 song(s) in this batch
| # | Artist | Preset | Title | Style override | Lyrics (preview) | Samples | Status |
|---|