Skip to content

Image generation with AiService using Gemini #1710

@zbhavyai

Description

@zbhavyai

I am using quarkus-langchain4j version 1.1.1 and trying to write a service that generates images based on the given prompt using Gemini API. My service is like this:

@RegisterAiService
@ApplicationScoped
public interface ImageGenerator {

  @UserMessage(
      """
      Generate an image that visually represents the following quote:
      "{quoteText}"
      """)
  Image generateImage(String quoteText);
}

I have quarkus-langchain4j-ai-gemini dependency in my pom.xml. My application.properties is like this:

quarkus.langchain4j.ai.gemini.api-key=XXXXXXXXXXXX
quarkus.langchain4j.ai.gemini.chat-model.enabled=true
quarkus.langchain4j.ai.gemini.chat-model.model-id=gemini-2.5-flash
quarkus.langchain4j.image-model.provider=ai-gemini
quarkus.langchain4j.ai.gemini.log-requests=true
quarkus.langchain4j.ai.gemini.log-responses=false
quarkus.langchain4j.ai.gemini.timeout=30s

When running the app in dev mode, I get this error:

2025-08-25 00:46:08,014 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkiverse.langchain4j.deployment.BeansProcessor#handleProviders threw an exception: io.quarkus.runtime.configuration.ConfigurationException: A ImageModel bean was requested, but no langchain4j providers were configured. Consider adding an extension like 'quarkus-langchain4j-openai'
	at io.quarkiverse.langchain4j.deployment.BeansProcessor.selectProvider(BeansProcessor.java:498)
	at io.quarkiverse.langchain4j.deployment.BeansProcessor.handleProviders(BeansProcessor.java:314)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:255)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
	at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.jboss.threads.JBossThread.run(JBossThread.java:501)

So, is the Image generation supported for Gemini, or are there plans for it? I don't see image related properties listed in the documentation, but looking at the PR #1325 I thought its supported.

Thank you in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions