It could be just me, but a music lyric app I created for my own use has become much slower these days. Then again, I haven’t used it for about a month.
It was created using AI Studio, and the purpose is to generate a title, list of instruments and styles and lyrics to create a song on Suno. It has a lot of functions built-in to allow some very original results, but the AI still generates most of the lyrics based on my input. A lot of input. This generally took about a minute, but these days it’s closer to five minutes or more.
Really annoying. But it could be just me.
Then again, I did not make any changes to the app in months either, and as a React app, it completely operates outside my own server.
Well, update. When I posted this question, I also started a new API call from my app. It’s still waiting for a response after an hour of processing.
Or rather, my app keeps asking the API to generate lyrics and the API tells me: “STOP”.
So the request is:
[2025-09-12T20:42:10.575Z] [GEMINI] Request: Generate Title & Lyrics
{
"model": "gemini-2.5-pro",
"contents": "You are an expert songwriter creating lyrics for a song.\n\n**Primary Directive:** The song's narrative, story, and core subject matter MUST be derived exclusively from the \"Song's Theme\" provided below. The musical style, instruments, and other qualities are for tonal and structural guidance only; they should influence the *feeling* and *rhythm* of the lyrics, but **not** the story itself. For example, if the style is 'Merfolk/Siren' but the topic is 'a robot finding a friend', the lyrics must be about the robot, with a haunting or alluring *tone*, not about the sea.\n\n**Content Rating:** The song must adhere to a \"PG-13\" rating.\n- G: Suitable for all audiences. No mature themes.\n- PG: Parental guidance suggested. May contain mild thematic elements.\n- PG-13: Parents strongly cautioned. May contain some suggestive themes, brief strong language, or non-graphic allusions to mature topics.\n- R: Restricted. May contain strong language, mature themes, and non-explicit references to violence or sensuality.\n- NC-17: Adults only. Can explore themes of violence and eroticism in an artistic, non-gratuitous way. Polite but explicit names for body parts and specific acts can be used.\n\nThe song is for a female choir of 4. Performer Roles: Miranda Noor and Annelies Brink are main singers. Emma Vermeer and Fannie de Jong are background singers and will perform any rap lyrics. Clearly label all parts (e.g., [Miranda], [Annelies], [Choir]).\nThis is a bilingual choir song. The primary language is English, and the title must be in English.\n- Annelies Brink (Alto) should sing her solo parts in Old English.\n- All other singers sing in English.\n**IMPORTANT RULE:** Before each singer's part, you MUST specify the language in brackets. Example: \"[English] [Miranda]\" or \"[Old English] [Annelies]\".\nFor full choir parts, use the primary language, English.\nA consistent underlying theme for all their songs is a subtle sapphic sensibility; the lyrics should reflect this, exploring themes of love, connection, and identity from a female perspective, regardless of the main topic. The group consists of two pairs: the romantic couple Miranda and Annelies, and the playful, close friends Fannie and Emma. The lyrics can explore the dynamics within and between these pairs.\n\nThe song should be written in the *tonal spirit* of: Crwth Drone Folk.\nThe song's *rhythmic feel* should be compatible with: Crwth, Bodhrán, Female Vocals (Welsh/Old English), Soprano (Miranda), Alto (Annelies), Low Whistle.\n\nThe song's theme, which dictates the story, is based on this:\n---\nThe epic Amazons of Darkwood Forest! \n---\nAlso, consider these qualities for the song's overall feel:\n- Narrative Dynamic: Not specified\n- Mood: Awe-inspiring\n- Genre Context: Dance\n- Pace: Crescendo\n- Texture: Not specified\n- Lyrical Theme: Adventure\n- Vocal Style: Chanted\n- Drum Style: Not specified\n- Snare Sound: Not specified\n- Special Instrument Feature: Crwth\nThese should influence the lyrical tone, the structure, and the performance directions you provide in brackets.\n\nYour task is to generate a suitable song title and the full song lyrics. To ensure the song fits within typical generation limits (around 2-3 minutes including instrumentals), please create a concise song structure.\nFor example, a good structure would be: [Intro], [Verse 1], [Chorus], [Verse 2], [Chorus], [Bridge], [Instrumental Solo], [Chorus], [Outro].\nAvoid overly long verses or too many repeating sections.\n\n**Crucial First Step:** Before any other content, the VERY FIRST lines of the generated lyrics MUST be the introductions for all singers, each on a new line, exactly as specified below:\n[Miranda Noor is a female soprano]\n[Annelies Brink is a female alto]\n[Emma Vermeer is a female feminine baritone]\n[Fannie de Jong is a female mezzo-soprano]\n \nFollow these strict formatting rules for Suno AI:\n- Use tags like [Intro], [Verse], [Chorus], [Bridge], [Outro], etc., to structure the song.\n- Indicate non-lyrical vocalizations like (oohs), (aahs).\n- Use [Spoken Word] for spoken parts.\n- Use *sound effect* for sound effects, like *thunder clap*.\n- Clearly label parts for each singer or group (e.g., [Miranda], [Annelies], [Emma], [Fannie], [Duet], [Choir]).\n \n**Critically Important:** All musical or performance instructions MUST be enclosed in `[]` brackets. Do NOT write descriptive sentences about the music within the lyrics, such as 'The guitar comes in here'. Instead, use bracketed tags like `[Acoustic guitar intro]` or `[Music fades out]`. The lyrics should only contain the words to be sung and the bracketed instructions.\n\nOutput a JSON object with two keys: \"title\" and \"lyrics\". The title must be in English. The lyrics must follow the language instructions provided above.\nDo not include any other text or explanation outside of the JSON object.",
"safetySettings": [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE"
}
],
"config": {
"responseMimeType": "application/json",
"responseSchema": {
"type": "OBJECT",
"properties": {
"title": {
"type": "STRING",
"description": "A creative and fitting title for the song, in English."
},
"lyrics": {
"type": "STRING",
"description": "The full lyrics of the song, following all language and formatting rules. The structure should be concise (e.g., 2 verses, a bridge) to fit a 2-3 minute runtime. All instructions must be in brackets."
}
}
}
}
}
And the response is:
[2025-09-12T20:42:51.117Z] [GEMINI] Response: Generate Title & Lyrics
{
"sdkHttpResponse": {
"headers": {
"content-encoding": "gzip",
"content-length": "324",
"content-type": "application/json; charset=UTF-8",
"date": "Fri, 12 Sep 2025 20:42:50 GMT",
"server": "scaffolding on HTTPServer2",
"vary": "Origin, X-Origin, Referer"
}
},
"candidates": [
{
"content": {
"parts": [
{
"text": "{\n \"title\": \"Wardens of the Darkwood\"\n}"
}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0
}
],
"modelVersion": "gemini-2.5-pro",
"responseId": "yoXEaP-3LJjkkdUPtdjE8Qo",
"usageMetadata": {
"promptTokenCount": 1166,
"candidatesTokenCount": 16,
"totalTokenCount": 3278,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 1166
}
],
"thoughtsTokenCount": 2096
}
}
(All names in this are fictional, btw.)
And because the Gemini API did not generate a correct result, my app just tries again. (I should fix that!)
Anyways, Gemini seems to be ignoring my input instead of being slow. It is told to generate a structured output, but completely ignores this now, causing my app to fail. (And thus eat up a lot of my quota!)