This is an automated email from the ASF dual-hosted git repository.

fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f19cc54388a960080602ed9190157030f0bd2cc0
Author: Croway <[email protected]>
AuthorDate: Thu Mar 12 11:21:22 2026 +0100

    Add spring AI generated files
---
 .../org/apache/camel/catalog/components.properties |   1 +
 .../camel/catalog/components/spring-ai-image.json  |  60 +++
 .../org/apache/camel/main/components.properties    |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 +
 .../dsl/SpringAiImageComponentBuilderFactory.java  | 257 ++++++++++++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  40 ++
 .../dsl/SpringAiImageEndpointBuilderFactory.java   | 454 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 10 files changed, 829 insertions(+)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index ec3a84d7b477..a88d76a89dd5 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -335,6 +335,7 @@ splunk
 splunk-hec
 spring-ai-chat
 spring-ai-embeddings
+spring-ai-image
 spring-ai-tools
 spring-ai-vector-store
 spring-batch
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json
new file mode 100644
index 000000000000..54f289ed3034
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ai-image.json
@@ -0,0 +1,60 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "spring-ai-image",
+    "title": "Spring AI Image",
+    "description": "Spring AI Image Generation",
+    "deprecated": false,
+    "firstVersion": "4.19.0",
+    "label": "ai",
+    "javaType": 
"org.apache.camel.component.springai.image.SpringAiImageComponent",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-spring-ai-image",
+    "version": "4.19.0-SNAPSHOT",
+    "scheme": "spring-ai-image",
+    "extendsScheme": "",
+    "syntax": "spring-ai-image:imageId",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "browsable": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": 
"Configuration", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
configuration." },
+    "height": { "index": 1, "kind": "property", "displayName": "Height", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image height in pixels" 
},
+    "imageModel": { "index": 2, "kind": "property", "displayName": "Image 
Model", "group": "producer", "label": "", "required": true, "type": "object", 
"javaType": "org.springframework.ai.image.ImageModel", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "The ImageModel to use 
for generating images." },
+    "lazyStartProducer": { "index": 3, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "model": { "index": 4, "kind": "property", "displayName": "Model", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "The model to use for 
image generation" },
+    "n": { "index": 5, "kind": "property", "displayName": "N", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Number of images to 
generate" },
+    "responseFormat": { "index": 6, "kind": "property", "displayName": 
"Response Format", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Response format: url or 
b64_json" },
+    "style": { "index": 7, "kind": "property", "displayName": "Style", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image style (e.g., 
vivid, natural)" },
+    "width": { "index": 8, "kind": "property", "displayName": "Width", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image width in pixels" },
+    "autowiredEnabled": { "index": 9, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+  },
+  "headers": {
+    "CamelSpringAiImageN": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Number of images to generate", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#N" },
+    "CamelSpringAiImageWidth": { "index": 1, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Image width in pixels", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#WIDTH" },
+    "CamelSpringAiImageHeight": { "index": 2, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Image height in pixels", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#HEIGHT" },
+    "CamelSpringAiImageModel": { "index": 3, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The model to use for image generation", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#MODEL" },
+    "CamelSpringAiImageResponseFormat": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Response format: url or b64_json", 
"constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#RESPONSE_FORMAT"
 },
+    "CamelSpringAiImageStyle": { "index": 5, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "Image style (e.g., vivid, natural)", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#STYLE" },
+    "CamelSpringAiImageResponseMetadata": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "org.springframework.ai.image.ImageResponseMetadata", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The image response metadata", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#RESPONSE_METADATA"
 },
+    "CamelSpringAiImageGeneration": { "index": 7, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "org.springframework.ai.image.ImageGeneration", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The ImageGeneration object for single image results", 
"constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#IMAGE_GENERATION"
 },
+    "CamelSpringAiImageGenerations": { "index": 8, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "java.util.List<org.springframework.ai.image.ImageGeneration>", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "List of ImageGeneration objects for multiple image 
results", "constantName": 
"org.apache.camel.component.springai.image.SpringAiImageHeaders#IMAGE_GENERATIONS"
 }
+  },
+  "properties": {
+    "imageId": { "index": 0, "kind": "path", "displayName": "Image Id", 
"group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The id" },
+    "height": { "index": 1, "kind": "parameter", "displayName": "Height", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image height in pixels" 
},
+    "imageModel": { "index": 2, "kind": "parameter", "displayName": "Image 
Model", "group": "producer", "label": "", "required": true, "type": "object", 
"javaType": "org.springframework.ai.image.ImageModel", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "The ImageModel to use 
for generating images." },
+    "model": { "index": 3, "kind": "parameter", "displayName": "Model", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "The model to use for 
image generation" },
+    "n": { "index": 4, "kind": "parameter", "displayName": "N", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Number of images to 
generate" },
+    "responseFormat": { "index": 5, "kind": "parameter", "displayName": 
"Response Format", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Response format: url or 
b64_json" },
+    "style": { "index": 6, "kind": "parameter", "displayName": "Style", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image style (e.g., 
vivid, natural)" },
+    "width": { "index": 7, "kind": "parameter", "displayName": "Width", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.springai.image.SpringAiImageConfiguration", 
"configurationField": "configuration", "description": "Image width in pixels" },
+    "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
+  }
+}
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index ec3a84d7b477..a88d76a89dd5 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -335,6 +335,7 @@ splunk
 splunk-hec
 spring-ai-chat
 spring-ai-embeddings
+spring-ai-image
 spring-ai-tools
 spring-ai-vector-store
 spring-batch
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 5faa67135951..c6cfcc81e042 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -4525,6 +4525,19 @@ public interface ComponentsBuilderFactory {
     static 
SpringAiEmbeddingsComponentBuilderFactory.SpringAiEmbeddingsComponentBuilder 
springAiEmbeddings() {
         return SpringAiEmbeddingsComponentBuilderFactory.springAiEmbeddings();
     }
+    /**
+     * Spring AI Image (camel-spring-ai-image)
+     * Spring AI Image Generation
+     * 
+     * Category: ai
+     * Since: 4.19
+     * Maven coordinates: org.apache.camel:camel-spring-ai-image
+     * 
+     * @return the dsl builder
+     */
+    static SpringAiImageComponentBuilderFactory.SpringAiImageComponentBuilder 
springAiImage() {
+        return SpringAiImageComponentBuilderFactory.springAiImage();
+    }
     /**
      * Spring AI Tools (camel-spring-ai-tools)
      * Spring AI Tools and Function Calling Features
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java
new file mode 100644
index 000000000000..d0bc4d553fdf
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SpringAiImageComponentBuilderFactory.java
@@ -0,0 +1,257 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.springai.image.SpringAiImageComponent;
+
+/**
+ * Spring AI Image Generation
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface SpringAiImageComponentBuilderFactory {
+
+    /**
+     * Spring AI Image (camel-spring-ai-image)
+     * Spring AI Image Generation
+     * 
+     * Category: ai
+     * Since: 4.19
+     * Maven coordinates: org.apache.camel:camel-spring-ai-image
+     * 
+     * @return the dsl builder
+     */
+    static SpringAiImageComponentBuilder springAiImage() {
+        return new SpringAiImageComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Spring AI Image component.
+     */
+    interface SpringAiImageComponentBuilder extends 
ComponentBuilder<SpringAiImageComponent> {
+    
+        /**
+         * The configuration.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.springai.image.SpringAiImageConfiguration&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder 
configuration(org.apache.camel.component.springai.image.SpringAiImageConfiguration
 configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+    
+        /**
+         * Image height in pixels.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param height the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder height(java.lang.Integer height) 
{
+            doSetProperty("height", height);
+            return this;
+        }
+    
+        /**
+         * The ImageModel to use for generating images.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.springframework.ai.image.ImageModel&lt;/code&gt;
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param imageModel the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder 
imageModel(org.springframework.ai.image.ImageModel imageModel) {
+            doSetProperty("imageModel", imageModel);
+            return this;
+        }
+    
+        
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        /**
+         * The model to use for image generation.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param model the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder model(java.lang.String model) {
+            doSetProperty("model", model);
+            return this;
+        }
+    
+        /**
+         * Number of images to generate.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param n the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder n(java.lang.Integer n) {
+            doSetProperty("n", n);
+            return this;
+        }
+    
+        /**
+         * Response format: url or b64_json.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param responseFormat the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder responseFormat(java.lang.String 
responseFormat) {
+            doSetProperty("responseFormat", responseFormat);
+            return this;
+        }
+    
+        /**
+         * Image style (e.g., vivid, natural).
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param style the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder style(java.lang.String style) {
+            doSetProperty("style", style);
+            return this;
+        }
+    
+        /**
+         * Image width in pixels.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param width the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder width(java.lang.Integer width) {
+            doSetProperty("width", width);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class SpringAiImageComponentBuilderImpl
+            extends AbstractComponentBuilder<SpringAiImageComponent>
+            implements SpringAiImageComponentBuilder {
+        @Override
+        protected SpringAiImageComponent buildConcreteComponent() {
+            return new SpringAiImageComponent();
+        }
+        private 
org.apache.camel.component.springai.image.SpringAiImageConfiguration 
getOrCreateConfiguration(SpringAiImageComponent component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new 
org.apache.camel.component.springai.image.SpringAiImageConfiguration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((SpringAiImageComponent) 
component).setConfiguration((org.apache.camel.component.springai.image.SpringAiImageConfiguration)
 value); return true;
+            case "height": getOrCreateConfiguration((SpringAiImageComponent) 
component).setHeight((java.lang.Integer) value); return true;
+            case "imageModel": 
getOrCreateConfiguration((SpringAiImageComponent) 
component).setImageModel((org.springframework.ai.image.ImageModel) value); 
return true;
+            case "lazyStartProducer": ((SpringAiImageComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "model": getOrCreateConfiguration((SpringAiImageComponent) 
component).setModel((java.lang.String) value); return true;
+            case "n": getOrCreateConfiguration((SpringAiImageComponent) 
component).setN((java.lang.Integer) value); return true;
+            case "responseFormat": 
getOrCreateConfiguration((SpringAiImageComponent) 
component).setResponseFormat((java.lang.String) value); return true;
+            case "style": getOrCreateConfiguration((SpringAiImageComponent) 
component).setStyle((java.lang.String) value); return true;
+            case "width": getOrCreateConfiguration((SpringAiImageComponent) 
component).setWidth((java.lang.Integer) value); return true;
+            case "autowiredEnabled": ((SpringAiImageComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index e2db56a0ca10..d423347b1a03 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -344,6 +344,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory.SplunkHECBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringAiChatEndpointBuilderFactory.SpringAiChatBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringAiEmbeddingsEndpointBuilderFactory.SpringAiEmbeddingsBuilders,
+            
org.apache.camel.builder.endpoint.dsl.SpringAiImageEndpointBuilderFactory.SpringAiImageBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringAiToolsEndpointBuilderFactory.SpringAiToolsBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringAiVectorStoreEndpointBuilderFactory.SpringAiVectorStoreBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory.SpringBatchBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index b73cacd5ec91..3d250268a57a 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -341,6 +341,7 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringAiChatEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringAiEmbeddingsEndpointBuilderFactory,
+            
org.apache.camel.builder.endpoint.dsl.SpringAiImageEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringAiToolsEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringAiVectorStoreEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index c46db4d576b0..56ff87a30ad5 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -15117,6 +15117,46 @@ public class StaticEndpointBuilders {
     public static 
SpringAiEmbeddingsEndpointBuilderFactory.SpringAiEmbeddingsEndpointBuilder 
springAiEmbeddings(String componentName, String path) {
         return 
SpringAiEmbeddingsEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Spring AI Image (camel-spring-ai-image)
+     * Spring AI Image Generation
+     * 
+     * Category: ai
+     * Since: 4.19
+     * Maven coordinates: org.apache.camel:camel-spring-ai-image
+     * 
+     * Syntax: <code>spring-ai-image:imageId</code>
+     * 
+     * Path parameter: imageId (required)
+     * The id
+     * 
+     * @param path imageId
+     * @return the dsl builder
+     */
+    public static 
SpringAiImageEndpointBuilderFactory.SpringAiImageEndpointBuilder 
springAiImage(String path) {
+        return springAiImage("spring-ai-image", path);
+    }
+    /**
+     * Spring AI Image (camel-spring-ai-image)
+     * Spring AI Image Generation
+     * 
+     * Category: ai
+     * Since: 4.19
+     * Maven coordinates: org.apache.camel:camel-spring-ai-image
+     * 
+     * Syntax: <code>spring-ai-image:imageId</code>
+     * 
+     * Path parameter: imageId (required)
+     * The id
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path imageId
+     * @return the dsl builder
+     */
+    public static 
SpringAiImageEndpointBuilderFactory.SpringAiImageEndpointBuilder 
springAiImage(String componentName, String path) {
+        return 
SpringAiImageEndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
     /**
      * Spring AI Tools (camel-spring-ai-tools)
      * Spring AI Tools and Function Calling Features
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java
new file mode 100644
index 000000000000..54d22cab15ce
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringAiImageEndpointBuilderFactory.java
@@ -0,0 +1,454 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Spring AI Image Generation
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface SpringAiImageEndpointBuilderFactory {
+
+    /**
+     * Builder for endpoint for the Spring AI Image component.
+     */
+    public interface SpringAiImageEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedSpringAiImageEndpointBuilder advanced() {
+            return (AdvancedSpringAiImageEndpointBuilder) this;
+        }
+
+        /**
+         * Image height in pixels.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param height the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder height(Integer height) {
+            doSetProperty("height", height);
+            return this;
+        }
+        /**
+         * Image height in pixels.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param height the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder height(String height) {
+            doSetProperty("height", height);
+            return this;
+        }
+        /**
+         * The ImageModel to use for generating images.
+         * 
+         * The option is a: 
<code>org.springframework.ai.image.ImageModel</code>
+         * type.
+         * 
+         * Required: true
+         * Group: producer
+         * 
+         * @param imageModel the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder 
imageModel(org.springframework.ai.image.ImageModel imageModel) {
+            doSetProperty("imageModel", imageModel);
+            return this;
+        }
+        /**
+         * The ImageModel to use for generating images.
+         * 
+         * The option will be converted to a
+         * <code>org.springframework.ai.image.ImageModel</code> type.
+         * 
+         * Required: true
+         * Group: producer
+         * 
+         * @param imageModel the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder imageModel(String imageModel) {
+            doSetProperty("imageModel", imageModel);
+            return this;
+        }
+        /**
+         * The model to use for image generation.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param model the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder model(String model) {
+            doSetProperty("model", model);
+            return this;
+        }
+        /**
+         * Number of images to generate.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param n the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder n(Integer n) {
+            doSetProperty("n", n);
+            return this;
+        }
+        /**
+         * Number of images to generate.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param n the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder n(String n) {
+            doSetProperty("n", n);
+            return this;
+        }
+        /**
+         * Response format: url or b64_json.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param responseFormat the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder responseFormat(String 
responseFormat) {
+            doSetProperty("responseFormat", responseFormat);
+            return this;
+        }
+        /**
+         * Image style (e.g., vivid, natural).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param style the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder style(String style) {
+            doSetProperty("style", style);
+            return this;
+        }
+        /**
+         * Image width in pixels.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param width the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder width(Integer width) {
+            doSetProperty("width", width);
+            return this;
+        }
+        /**
+         * Image width in pixels.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param width the value to set
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder width(String width) {
+            doSetProperty("width", width);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Spring AI Image component.
+     */
+    public interface AdvancedSpringAiImageEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default SpringAiImageEndpointBuilder basic() {
+            return (SpringAiImageEndpointBuilder) this;
+        }
+
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedSpringAiImageEndpointBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedSpringAiImageEndpointBuilder lazyStartProducer(String 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    public interface SpringAiImageBuilders {
+        /**
+         * Spring AI Image (camel-spring-ai-image)
+         * Spring AI Image Generation
+         * 
+         * Category: ai
+         * Since: 4.19
+         * Maven coordinates: org.apache.camel:camel-spring-ai-image
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default SpringAiImageHeaderNameBuilder springAiImage() {
+            return SpringAiImageHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * Spring AI Image (camel-spring-ai-image)
+         * Spring AI Image Generation
+         * 
+         * Category: ai
+         * Since: 4.19
+         * Maven coordinates: org.apache.camel:camel-spring-ai-image
+         * 
+         * Syntax: <code>spring-ai-image:imageId</code>
+         * 
+         * Path parameter: imageId (required)
+         * The id
+         * 
+         * @param path imageId
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder springAiImage(String path) {
+            return 
SpringAiImageEndpointBuilderFactory.endpointBuilder("spring-ai-image", path);
+        }
+        /**
+         * Spring AI Image (camel-spring-ai-image)
+         * Spring AI Image Generation
+         * 
+         * Category: ai
+         * Since: 4.19
+         * Maven coordinates: org.apache.camel:camel-spring-ai-image
+         * 
+         * Syntax: <code>spring-ai-image:imageId</code>
+         * 
+         * Path parameter: imageId (required)
+         * The id
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path imageId
+         * @return the dsl builder
+         */
+        default SpringAiImageEndpointBuilder springAiImage(String 
componentName, String path) {
+            return 
SpringAiImageEndpointBuilderFactory.endpointBuilder(componentName, path);
+        }
+
+    }
+    /**
+     * The builder of headers' name for the Spring AI Image component.
+     */
+    public static class SpringAiImageHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final SpringAiImageHeaderNameBuilder INSTANCE = new 
SpringAiImageHeaderNameBuilder();
+
+        /**
+         * Number of images to generate.
+         * 
+         * The option is a: {@code Integer} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageN}.
+         */
+        public String springAiImageN() {
+            return "CamelSpringAiImageN";
+        }
+        /**
+         * Image width in pixels.
+         * 
+         * The option is a: {@code Integer} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageWidth}.
+         */
+        public String springAiImageWidth() {
+            return "CamelSpringAiImageWidth";
+        }
+        /**
+         * Image height in pixels.
+         * 
+         * The option is a: {@code Integer} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageHeight}.
+         */
+        public String springAiImageHeight() {
+            return "CamelSpringAiImageHeight";
+        }
+        /**
+         * The model to use for image generation.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageModel}.
+         */
+        public String springAiImageModel() {
+            return "CamelSpringAiImageModel";
+        }
+        /**
+         * Response format: url or b64_json.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageResponseFormat}.
+         */
+        public String springAiImageResponseFormat() {
+            return "CamelSpringAiImageResponseFormat";
+        }
+        /**
+         * Image style (e.g., vivid, natural).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageStyle}.
+         */
+        public String springAiImageStyle() {
+            return "CamelSpringAiImageStyle";
+        }
+        /**
+         * The image response metadata.
+         * 
+         * The option is a: {@code
+         * org.springframework.ai.image.ImageResponseMetadata} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code 
SpringAiImageResponseMetadata}.
+         */
+        public String springAiImageResponseMetadata() {
+            return "CamelSpringAiImageResponseMetadata";
+        }
+        /**
+         * The ImageGeneration object for single image results.
+         * 
+         * The option is a: {@code 
org.springframework.ai.image.ImageGeneration}
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageGeneration}.
+         */
+        public String springAiImageGeneration() {
+            return "CamelSpringAiImageGeneration";
+        }
+        /**
+         * List of ImageGeneration objects for multiple image results.
+         * 
+         * The option is a: {@code
+         * java.util.List<org.springframework.ai.image.ImageGeneration>} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SpringAiImageGenerations}.
+         */
+        public String springAiImageGenerations() {
+            return "CamelSpringAiImageGenerations";
+        }
+    }
+    static SpringAiImageEndpointBuilder endpointBuilder(String componentName, 
String path) {
+        class SpringAiImageEndpointBuilderImpl extends AbstractEndpointBuilder 
implements SpringAiImageEndpointBuilder, AdvancedSpringAiImageEndpointBuilder {
+            public SpringAiImageEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new SpringAiImageEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 76415541cbe2..a2a0b4a89393 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -344,6 +344,7 @@ 
org.apache.camel.component.spring.jdbc.SpringJdbcComponent=camel:spring-jdbc
 org.apache.camel.component.spring.ws.SpringWebserviceComponent=camel:spring-ws
 
org.apache.camel.component.springai.chat.SpringAiChatComponent=camel:spring-ai-chat
 
org.apache.camel.component.springai.embeddings.SpringAiEmbeddingsComponent=camel:spring-ai-embeddings
+org.apache.camel.component.springai.image.SpringAiImageComponent=camel:spring-ai-image
 
org.apache.camel.component.springai.tools.SpringAiToolsComponent=camel:spring-ai-tools
 
org.apache.camel.component.springai.vectorstore.SpringAiVectorStoreComponent=camel:spring-ai-vector-store
 org.apache.camel.component.springldap.SpringLdapComponent=camel:spring-ldap

Reply via email to