Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

AI lyric translation with Gemini not working without manually changing model

Open Beginner friendly
#2,684 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
Under an hour
Newbie friendliness
65/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
android, kotlin
Domain
ai, mobile-dev

Research direction

The payload does not name the file that holds the Gemini default. Search the Kotlin sources for the string gemini-2.0-flash and for the AI provider settings that fall back to it. Replace the default with gemini-flash-lite-latest or gemini-3.5-flash-lite, then check that translation returns lyrics on the free tier. Done when a fresh install with an empty custom model ID translates a song without error.

Written by the indexing model from the issue text.

Description

bug:unconfirmed
Duplicate Check
  • I confirm I searched for existing reports and found no duplicates.
Latest Release
  • I confirm I am on the latest release and the problem still happens.
Describe the Bug

AI lyric translation fails every time with the Gemini default model.

The default model gemini-2.0-flash was shut down by Google (June 2026). Every request returns 404 NotFound, which I confirmed in the Google AI Studio usage graph

Steps to Reproduce
  1. Settings > AI > set AI provider to Gemini
  2. Enter a valid free tier Gemini API key from Google AI Studio
  3. Leave Custom AI model ID empty (default gemini-2.0-flash)
  4. Turn on "Use AI Lyric Translation"
  5. Play any song that has lyrics and trigger translation
  6. Translation fails, error appears in logs
Expected Behavior

Translation should work out of the box with the default model.

Suggested fix: change the default model to either gemini-flash-lite-latest or gemini-3.5-flash-lite. I tested both and it works on the free tier also.

Also, it would be nice if it shows the real API error message instead of the JSON parse error in logs.

App Version

2.3.0

Android Version

Android 16

Device Model

Redmi note 13 Pro 5G

Custom ROM
  • I am using a custom ROM
Custom ROM Name (if applicable)

No response

Screenshots (optional)

No response

Log / Error Details

22:00:10.952 E/AI Translation: Error: Illegal input: Unexpected JSON token at offset 0: Expected start of the object '{', but had '[' instead at path: $
JSON input: [{
"error": {
"code": 40.....

Dominant language
Kotlin
Stars
12.4k
Forks
696
Avg merge
2d 7h
Merged PRs (30d)
4

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from maxrave-dev/SimpMusic

All issues in maxrave-dev/SimpMusic

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.