
Gemini StructuredOutputCompletion
CertifiedGenerate JSON with a Gemini schema
Gemini StructuredOutputCompletion
Generate JSON with a Gemini schema
Calls Gemini with a prompt and enforces a JSON response shaped by the provided JSON Schema. Response MIME type is fixed to application/json and token metrics are emitted. See Gemini API about structured output completion for more information.
type: io.kestra.plugin.gemini.StructuredOutputCompletionExamples
Structured JSON Output Completion using the Gemini Client.
id: gemini_structured_json_completion
namespace: company.team
tasks:
- id: gemini_structured_json_completion
type: io.kestra.plugin.gemini.StructuredOutputCompletion
apiKey: "{{ secret('GEMINI_API_KEY') }}"
model: "gemini-2.5-flash-lite"
prompt: What are the weather predictions for tomorrow in London?
jsonResponseSchema: |
{
"type": "object",
"properties": {
"predictions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"content": {
"type": "string"
}
}
}
}
}
}
Properties
apiKey *string
Gemini API key
Secret used for direct Gemini API calls; render from a secure variable.
jsonResponseSchema *string
Response JSON Schema
Draft-style JSON Schema string that constrains the model output.
model *string
Generative model
Gemini model identifier to call (e.g., gemini-2.5-flash, gemini-1.5-pro). Must support the requested input type.
prompt *string
Text prompt
Prompt sent to the model before JSON shaping.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150Outputs
predictions array
List of text predictions made by the model
Metrics
candidate.token.count counter
The number of candidate tokens generated by the Gemini model.
prompt.token.count counter
The number of tokens used in the input prompt.
total.token.count counter
The total number of tokens processed by the Gemini model (prompt + generated).