Add audio module: meeting minutes with Spring AI speech-to-text, structured output and text-to-speech
OpenAiAudioTranscriptionModel -> ChatClient.entity(Minutes.class) -> OpenAiAudioSpeechModel, WAV chunking at a silence under the 25 MB upload limit, SDK retry behaviour, the 4096-character speech limit and a cost model. Audio endpoints are a local mock and the chat model a stub; no real model was called. Spring Boot 4.1.2, Spring AI 2.0.2, Java 25. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01CifR2BE7PBvRy5hT8TS9oz
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# One 60-second clip (1920044 bytes WAV) through OpenAiAudioTranscriptionModel -- MOCK server
|
||||
|
||||
model option: whisper-1
|
||||
request : POST /v1/audio/transcriptions (multipart, 1920524 bytes)
|
||||
fields : {model=whisper-1, response_format=text}
|
||||
file part : name=standup.wav type=application/octet-stream bytes=1920044
|
||||
transcribe(Resource) -> "Okay, let's get started with the Falcon weekly sync. First item is the release date for version two point four."
|
||||
with language=en and prompt, fields now: {model=whisper-1, language=en, prompt=Falcon weekly sync, response_format=text}
|
||||
response metadata class: OpenAiAudioTranscriptionResponseMetadata
|
||||
|
||||
model option: gpt-transcribe
|
||||
request : POST /v1/audio/transcriptions (multipart, 1920529 bytes)
|
||||
fields : {model=gpt-transcribe, response_format=text}
|
||||
file part : name=standup.wav type=application/octet-stream bytes=1920044
|
||||
transcribe(Resource) -> "Okay, let's get started with the Falcon weekly sync. First item is the release date for version two point four."
|
||||
with language=en and prompt, fields now: {model=gpt-transcribe, language=en, prompt=Falcon weekly sync, response_format=text}
|
||||
response metadata class: OpenAiAudioTranscriptionResponseMetadata
|
||||
|
||||
Reference in New Issue
Block a user