You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "atiaomar1978-hub (via GitHub)" <gi...@apache.org> on 2026/07/20 20:21:23 UTC

[PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

atiaomar1978-hub opened a new pull request, #24961:
URL: https://github.com/apache/camel/pull/24961

   ## Summary
   
   Implements [CAMEL-23966](https://issues.apache.org/jira/browse/CAMEL-23966) by adding the two remaining audio services of the pinned openai-java SDK to the `camel-openai` component:
   
   - **`audio-speech`** (text-to-speech) — the message body is the input text; the produced body is the generated audio as a `byte[]`, and the `Content-Type` header is set from the response format (e.g. `audio/mpeg`, `audio/wav`) so it chains naturally into `file:`, object storage, or messaging endpoints. New options: `speechModel`, `speechVoice` (default `alloy`), `speechResponseFormat` (default `mp3`), `speechSpeed`, `speechInstructions`, plus matching `CamelOpenAISpeech*` headers.
   - **`audio-translation`** (transcribe-and-translate to English) — mirrors `audio-transcription` and reuses the existing `audio*` options and headers (model, prompt, response format, temperature).
   
   Both reuse the existing client, SSL and auth infrastructure. Shared multipart file-input handling is extracted into a new `OpenAIAudioSupport` helper and reused by the transcription and translation producers (removing duplication).
   
   ### Example usage
   
   ```java
   // text-to-speech: turn an LLM answer into an mp3 and drop it on object storage
   from("direct:speak")
       .to("openai:chat-completion?model=gpt-5")
       .to("openai:audio-speech?speechModel=gpt-4o-mini-tts&speechVoice=alloy&speechResponseFormat=mp3")
       .to("aws2-s3://announcements?keyName=answer-${exchangeId}.mp3");
   
   // translate any incoming voice message to English text
   from("file:inbox/voicemail?noop=true")
       .to("openai:audio-translation?audioModel=whisper-1")
       .log("English transcript: ${body}");
   ```
   
   ## Changes
   
   - `OpenAIOperations`: new `audioSpeech` and `audioTranslation` values
   - `OpenAIAudioSpeechProducer`, `OpenAIAudioTranslationProducer`: new producers
   - `OpenAIAudioSupport`: shared file-input / parameter-resolution helper; `OpenAIAudioTranscriptionProducer` refactored to use it
   - `OpenAIConfiguration` / `OpenAIConstants` / `OpenAIEndpoint`: new options, headers and wiring
   - `camel-test-infra-openai-mock`: mock server now serves `/audio/speech` (binary) and `/audio/translations`, with `whenSpeech()` / `replyWithSpeech()` and `whenTranslation()` / `replyWithTranslation()` builder methods
   - Documentation updated (`openai-component.adoc`, `openai-operations.adoc`) and generated metadata regenerated
   
   ## Test plan
   
   - [x] `OpenAIAudioSpeechMockTest` (6 tests): audio bytes returned, content-type per format, header overrides, missing model / missing input errors
   - [x] `OpenAIAudioTranslationMockTest` (7 tests): File / Path / byte[] / InputStream bodies, header overrides, file-component route, missing model error
   - [x] Existing `OpenAIAudioTranscription*` and SSL/mTLS tests still pass after the shared refactor (21 audio + 17 SSL tests green locally)
   
   ---
   _Authored by Cursor Agent (Opus 4.8) on behalf of @atiaomar1978-hub._
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "atiaomar1978-hub (via GitHub)" <gi...@apache.org>.
atiaomar1978-hub commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5027450552

   ## Update: addressed review feedback
   
   Thanks for the reviews from @gnodet and @davsclaus.
   
   ### gnodet (commit ec4d131)
   - Added `OpenAIAudioTranslationVerboseMockTest` for verbose translation headers
   - Added try/catch JSON error handling to `SpeechRequestHandler`
   - Documented heap awareness for large TTS `byte[]` output in `openai-operations.adoc`
   - Introduced `OpenAIMockExpectations` record to replace the long positional-list constructor on `OpenAIMockServerHandler`
   
   ### davsclaus (commit 7f76b0f)
   - **Content-Type from HTTP response**: `OpenAIAudioSpeechProducer` now prefers the `Content-Type` header from the OpenAI speech API response, falling back to the `speechResponseFormat` mapping only when the header is absent
   - Updated the speech mock handler to derive `Content-Type` from the request `response_format` so tests reflect real API behaviour
   - Updated docs to describe the response-header-first behaviour
   
   ### Tests
   All 22 audio tests pass locally:
   - `OpenAIAudioSpeechMockTest` (6)
   - `OpenAIAudioTranslationMockTest` (7)
   - `OpenAIAudioTranslationVerboseMockTest` (1)
   - `OpenAIAudioTranscriptionMockTest` (7)
   - `OpenAIAudioTranscriptionVerboseMockTest` (1)
   
   ---
   _Comment posted by Cursor Agent (Opus 4.8) on behalf of @atiaomar1978-hub._


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on code in PR #24961:
URL: https://github.com/apache/camel/pull/24961#discussion_r3619701136


##########
components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/OpenAIAudioSpeechMockTest.java:
##########
@@ -0,0 +1,129 @@
+/*
+ * 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.component.openai;
+
+import java.nio.charset.StandardCharsets;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.infra.openai.mock.OpenAIMock;
+import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+

Review Comment:
   Convention: new test code should use AssertJ assertions (`assertThat(...)`) instead of JUnit assertions. Consider migrating these imports to:
   ```java
   import static org.assertj.core.api.Assertions.assertThat;
   ```
   and replacing `assertEquals`/`assertTrue`/`assertNotNull`/`assertNull` with fluent AssertJ equivalents.



##########
components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/OpenAIAudioTranslationMockTest.java:
##########
@@ -0,0 +1,159 @@
+/*
+ * 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.component.openai;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.infra.openai.mock.OpenAIMock;
+import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.io.TempDir;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;

Review Comment:
   Same as above — new test code should use AssertJ assertions per project conventions.



##########
components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/OpenAIAudioSpeechMockTest.java:
##########
@@ -0,0 +1,129 @@
+/*
+ * 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.component.openai;
+
+import java.nio.charset.StandardCharsets;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.infra.openai.mock.OpenAIMock;
+import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class OpenAIAudioSpeechMockTest extends CamelTestSupport {
+
+    private static final byte[] AUDIO_DATA = "FAKE-MP3-AUDIO-BYTES".getBytes(StandardCharsets.UTF_8);
+
+    @RegisterExtension
+    public OpenAIMock openAIMock = new OpenAIMock().builder()
+            .whenSpeech()
+            .replyWithSpeech(AUDIO_DATA)
+            .end()
+            .build();
+
+    @Override
+    protected RouteBuilder createRouteBuilder() {
+        return new RouteBuilder() {
+            @Override
+            public void configure() {
+                from("direct:speak")
+                        .to("openai:audio-speech?speechModel=tts-1&speechVoice=alloy&apiKey=dummy&baseUrl="
+                            + openAIMock.getBaseUrl() + "/v1");
+
+                from("direct:speak-no-model")
+                        .to("openai:audio-speech?speechVoice=alloy&apiKey=dummy&baseUrl="
+                            + openAIMock.getBaseUrl() + "/v1");
+
+                from("direct:speak-wav")
+                        .to("openai:audio-speech?speechModel=tts-1&speechVoice=nova&speechResponseFormat=wav&apiKey=dummy&baseUrl="
+                            + openAIMock.getBaseUrl() + "/v1");
+            }
+        };
+    }
+
+    @Test
+    void testSpeechReturnsAudioBytes() {
+        Exchange result = template.request("direct:speak", e -> e.getIn().setBody("Hello from Apache Camel"));
+
+        assertNotNull(result);
+        assertNull(result.getException());
+        assertArrayEquals(AUDIO_DATA, result.getMessage().getBody(byte[].class));
+    }
+
+    @Test
+    void testSpeechSetsContentType() {
+        Exchange result = template.request("direct:speak", e -> e.getIn().setBody("Hello"));
+
+        assertNotNull(result);
+        assertNull(result.getException());
+        assertEquals("audio/mpeg", result.getMessage().getHeader(Exchange.CONTENT_TYPE));
+    }
+
+    @Test
+    void testSpeechWavContentType() {
+        Exchange result = template.request("direct:speak-wav", e -> e.getIn().setBody("Hello"));
+
+        assertNotNull(result);
+        assertNull(result.getException());
+        assertEquals("audio/wav", result.getMessage().getHeader(Exchange.CONTENT_TYPE));
+        assertArrayEquals(AUDIO_DATA, result.getMessage().getBody(byte[].class));
+    }
+
+    @Test
+    void testSpeechWithHeaderOverrides() {
+        Exchange result = template.request("direct:speak", e -> {
+            e.getIn().setBody("Hello");
+            e.getIn().setHeader(OpenAIConstants.SPEECH_MODEL, "gpt-4o-mini-tts");
+            e.getIn().setHeader(OpenAIConstants.SPEECH_VOICE, "shimmer");
+            e.getIn().setHeader(OpenAIConstants.SPEECH_RESPONSE_FORMAT, "flac");
+            e.getIn().setHeader(OpenAIConstants.SPEECH_SPEED, 1.25);
+            e.getIn().setHeader(OpenAIConstants.SPEECH_INSTRUCTIONS, "Speak cheerfully");
+        });
+
+        assertNotNull(result);
+        assertNull(result.getException());
+        assertArrayEquals(AUDIO_DATA, result.getMessage().getBody(byte[].class));
+        assertEquals("audio/flac", result.getMessage().getHeader(Exchange.CONTENT_TYPE));
+    }
+
+    @Test
+    void testSpeechMissingModel() {
+        Exchange result = template.request("direct:speak-no-model", e -> e.getIn().setBody("Hello"));
+
+        assertNotNull(result);
+        assertNotNull(result.getException());
+        assertTrue(result.getException() instanceof IllegalArgumentException);
+        assertTrue(result.getException().getMessage().contains("Speech model must be specified"));

Review Comment:
   This `assertTrue(... instanceof ...)` + `assertTrue(... .contains(...))` pattern is more readable and provides better failure messages with AssertJ:
   ```suggestion
           assertThat(result.getException())
                   .isInstanceOf(IllegalArgumentException.class)
                   .hasMessageContaining("Speech model must be specified");
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5030686321

   <!-- ci-tested-modules -->
   :test_tube: **CI tested the following changed modules:**
   
   - `catalog/camel-catalog`
   - `components/camel-ai/camel-openai`
   - `dsl/camel-componentdsl`
   - `dsl/camel-endpointdsl`
   - `test-infra/camel-test-infra-openai-mock`
   
   ---
   
   <details><summary>:microscope: Scalpel shadow comparison — Scalpel: 16 tested, 26 compile-only — current: 13 all tested</summary>
   
   [Maveniverse Scalpel](https://github.com/maveniverse/scalpel) detected **42 affected modules** (current approach: 13).
   
   <details><summary>:warning: Modules only in Scalpel (29)</summary>
   
   - `apache-camel`
   - `camel-allcomponents`
   - `camel-catalog`
   - `camel-catalog-console`
   - `camel-catalog-lucene`
   - `camel-catalog-maven`
   - `camel-catalog-suggest`
   - `camel-componentdsl`
   - `camel-csimple-maven-plugin`
   - `camel-endpointdsl`
   - `camel-endpointdsl-support`
   - `camel-itest`
   - `camel-jbang-core`
   - `camel-jbang-it`
   - `camel-jbang-main`
   - `camel-jbang-plugin-edit`
   - `camel-jbang-plugin-generate`
   - `camel-jbang-plugin-kubernetes`
   - `camel-jbang-plugin-test`
   - `camel-kamelet-main`
   - `camel-launcher`
   - `camel-report-maven-plugin`
   - `camel-route-parser`
   - `camel-yaml-dsl`
   - `camel-yaml-dsl-deserializers`
   - `camel-yaml-dsl-maven-plugin`
   - `coverage`
   - `docs`
   - `dummy-component`
   
   </details>
   
   **Skip-tests mode would test 16 modules** (5 direct + 11 downstream), **skip tests for 26** (generated code, meta-modules)
   
   <details><summary>Modules Scalpel would test (16)</summary>
   
   - `camel-catalog`
   - `camel-componentdsl`
   - `camel-endpointdsl`
   - `camel-jbang-mcp`
   - `camel-jbang-plugin-mcp`
   - `camel-jbang-plugin-route-parser`
   - `camel-jbang-plugin-tui`
   - `camel-jbang-plugin-validate`
   - `camel-langchain4j-agent`
   - `camel-langchain4j-tools`
   - `camel-launcher-container`
   - `camel-openai`
   - `camel-test-infra-all`
   - `camel-test-infra-openai-mock`
   - `camel-yaml-dsl-validator`
   - `camel-yaml-dsl-validator-maven-plugin`
   
   </details>
   
   <details><summary>Modules with tests skipped (26)</summary>
   
   - `apache-camel`
   - `camel-allcomponents`
   - `camel-catalog-console`
   - `camel-catalog-lucene`
   - `camel-catalog-maven`
   - `camel-catalog-suggest`
   - `camel-csimple-maven-plugin`
   - `camel-endpointdsl-support`
   - `camel-itest`
   - `camel-jbang-core`
   - `camel-jbang-it`
   - `camel-jbang-main`
   - `camel-jbang-plugin-edit`
   - `camel-jbang-plugin-generate`
   - `camel-jbang-plugin-kubernetes`
   - `camel-jbang-plugin-test`
   - `camel-kamelet-main`
   - `camel-launcher`
   - `camel-report-maven-plugin`
   - `camel-route-parser`
   - `camel-yaml-dsl`
   - `camel-yaml-dsl-deserializers`
   - `camel-yaml-dsl-maven-plugin`
   - `coverage`
   - `docs`
   - `dummy-component`
   
   </details>
   
   > :information_source: Shadow mode — Scalpel observes but does not affect test execution. [Learn more](https://github.com/maveniverse/scalpel)
   
   </details>
   
   :warning: **Some tests are disabled on GitHub Actions** (`@DisabledIfSystemProperty(named = "ci.env.name")`) and require manual verification:
   
   - `components/camel-ai/camel-openai`: 6 test(s) disabled on GitHub Actions
   
   <details><summary>All tested modules (42 modules)</summary>
   
   - Camel :: AI :: LangChain4j :: Agent
   - Camel :: AI :: LangChain4j :: Tools
   - Camel :: AI :: OpenAI
   - Camel :: All Components Sync point
   - Camel :: Assembly
   - Camel :: Catalog :: CSimple Maven Plugin (deprecated)
   - Camel :: Catalog :: Camel Catalog
   - Camel :: Catalog :: Camel Report Maven Plugin
   - Camel :: Catalog :: Camel Route Parser
   - Camel :: Catalog :: Console
   - Camel :: Catalog :: Dummy Component
   - Camel :: Catalog :: Lucene (deprecated)
   - Camel :: Catalog :: Maven
   - Camel :: Catalog :: Suggest
   - Camel :: Component DSL
   - Camel :: Coverage
   - Camel :: Docs
   - Camel :: Endpoint DSL
   - Camel :: Endpoint DSL :: Support
   - Camel :: Integration Tests
   - Camel :: JBang :: Core
   - Camel :: JBang :: Integration tests
   - Camel :: JBang :: MCP
   - Camel :: JBang :: Main
   - Camel :: JBang :: Plugin :: Edit
   - Camel :: JBang :: Plugin :: Generate
   - Camel :: JBang :: Plugin :: Kubernetes
   - Camel :: JBang :: Plugin :: MCP
   - Camel :: JBang :: Plugin :: Route Parser
   - Camel :: JBang :: Plugin :: TUI
   - Camel :: JBang :: Plugin :: Testing
   - Camel :: JBang :: Plugin :: Validate
   - Camel :: Kamelet Main
   - Camel :: Launcher
   - Camel :: Launcher :: Container
   - Camel :: Test Infra :: All test services
   - Camel :: Test Infra :: OpenAI Mock
   - Camel :: YAML DSL
   - Camel :: YAML DSL :: Deserializers
   - Camel :: YAML DSL :: Maven Plugins
   - Camel :: YAML DSL :: Validator
   - Camel :: YAML DSL :: Validator Maven Plugin
   
   </details>
   
   ---
   :gear: [View full build and test results](https://github.com/apache/camel/actions/runs/29785315001)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "atiaomar1978-hub (via GitHub)" <gi...@apache.org>.
atiaomar1978-hub commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5031405365

   @davsclaus Done


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus merged PR #24961:
URL: https://github.com/apache/camel/pull/24961


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5027124944

   :star2: Thank you for your contribution to the Apache Camel project! :star2:
     :robot: CI automation will test this PR automatically.
   
     :camel: Apache Camel Committers, please review the following items:
   
     * First-time contributors **require MANUAL approval** for the GitHub Actions to run
     * You can use the command `/component-test (camel-)component-name1 (camel-)component-name2..` to request a test from the test bot although they are normally detected and executed by CI.
     * You can label PRs using `skip-tests` and `test-dependents` to fine-tune the checks executed by this PR.
     * Build and test logs are available in the summary page. **Only** [Apache Camel committers](https://camel.apache.org/community/team/#committers) have access to the summary.
     
     :warning: Be careful when sharing logs. Review their contents before sharing them publicly.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "atiaomar1978-hub (via GitHub)" <gi...@apache.org>.
atiaomar1978-hub commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5030570442

   @davsclaus I don't have access to assign the ticket on JIRA to me . I added comment. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5031083401

   there are merge conflicts now - rebase


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] CAMEL-23966: camel-openai add audio-speech (TTS) and audio-translation operations [camel]

Posted by "atiaomar1978-hub (via GitHub)" <gi...@apache.org>.
atiaomar1978-hub commented on PR #24961:
URL: https://github.com/apache/camel/pull/24961#issuecomment-5031136721

   Ok @davsclaus will merge main into it 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org