[ 
https://issues.apache.org/jira/browse/CAMEL-23966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18097653#comment-18097653
 ] 

Omar Atie commented on CAMEL-23966:
-----------------------------------

I would like to work on this : https://issues.apache.org/jira/browse/CAMEL-23966

> camel-openai: add audio speech (TTS) and audio translation operations
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-23966
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23966
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-openai
>    Affects Versions: 4.21.0
>            Reporter: Federico Mariani
>            Priority: Major
>              Labels: ai
>
> camel-openai covers speech-to-text ({{audio-transcription}}) but not the 
> other two audio services of the pinned SDK (4.41.0):
> * {{audio().speech().create(SpeechCreateParams)}} — text-to-speech, returns 
> binary audio ({{HttpResponse}});
> * {{audio().translations().create(TranslationCreateParams)}} — 
> transcribe-and-translate to English.
> Proposal:
> * {{openai:audio-speech}} — body: input text; options/headers: 
> {{speechModel}} (e.g. {{gpt-4o-mini-tts}}, {{tts-1}}), {{speechVoice}}, 
> {{speechResponseFormat}} (mp3/opus/wav/pcm...), {{speechSpeed}}, 
> {{speechInstructions}}; output: {{byte[]}} (or streamed {{InputStream}}) body 
> — chains naturally into {{file:}}, object storage, or messaging endpoints.
> * {{openai:audio-translation}} — mirrors the transcription producer (same 
> body types File/Path/byte[]/InputStream, {{audioModel}}, {{audioPrompt}}, 
> {{audioResponseFormat}}, {{audioTemperature}}), reusing its multipart file 
> handling.
> Intended usage:
> {code: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}");
> {code}
> Both reuse the existing client, SSL and auth infrastructure; the translation 
> producer can share most of {{OpenAIAudioTranscriptionProducer}} (their 
> extraction into a common base would piggyback on the CAMEL-23396 refactoring).
> _This issue was drafted by Claude Code on behalf of Federico Mariani_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to