MultimodalCompletion​Multimodal​Completion

Use Multimodal completion using the Gemini Client.

See Gemini API about multimodal input for more information.

yaml
type: "io.kestra.plugin.gemini.MultimodalCompletion"

Multimodal completion using the Gemini Client

yaml
id: gemini_multimodal_completion
namespace: company.team

inputs:
  - id: image
    type: FILE

tasks:
  - id: multimodal_completion
    type: io.kestra.plugin.gemini.MultimodalCompletion
    apiKey: "{{ secret('GEMINI_API_KEY') }}"
    model: "gemini-2.5-flash"
    contents:
      - content: Can you describe this image?
      - mimeType: image/jpeg
        content: "{{ inputs.image }}"

Generate, edit and analyze an image

yaml
id: gemini_multimodal_generate_edit_analyze
namespace: company.team

inputs:
  - id: gen_prompt
    type: STRING
    defaults: "a giant library floating in the clouds with glowing bookshelves"
  - id: edit_prompt
    type: STRING
    defaults: "transform the background into a cyberpunk cityscape at night"

tasks:
  - id: generate
    type: io.kestra.plugin.gemini.MultimodalCompletion
    contents:
      - content: "{{ inputs.gen_prompt }}"

  - id: edit
    type: io.kestra.plugin.gemini.MultimodalCompletion
    contents:
      - content: "{{ inputs.edit_prompt }}"
      - mimeType: "{{ outputs.generate.images[0].mimeType }}"
        content: "{{ outputs.generate.images[0].uri }}"

  - id: analyze
    type: io.kestra.plugin.gemini.MultimodalCompletion
    contents:
      - content: "Describe the mood and style of this image."
      - mimeType: "{{ outputs.edit.images[0].mimeType }}"
        content: "{{ outputs.edit.images[0].uri }}"

pluginDefaults:
  - type: io.kestra.plugin.gemini.MultimodalCompletion
    values:
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
      model: "gemini-2.5-flash-image-preview"
Properties

Gemini API Key

The chat content prompt for the model to respond to

Model

Specifies which generative model (e.g., 'gemini-1.5-flash', 'gemini-1.0-pro') to use for the completion.

Default false

Whether the response has been blocked for safety reasons

The reason the generation has finished

Generated images stored in Kestra and exposed as URIs

When using image-generating/editing models like gemini-2.5-flash-image-preview, this field contains one or more Kestra storage URIs.

The response safety ratings

The generated response text

Default user

IANA mime type of the image, e.g. image/jpeg

Format uri

Kestra storage URI of the image