{"id":135299,"date":"2025-07-07T10:58:00","date_gmt":"2025-07-07T07:58:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=135299"},"modified":"2025-07-03T13:26:27","modified_gmt":"2025-07-03T10:26:27","slug":"spring-ai-transcribing-audio-files-example","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html","title":{"rendered":"Spring AI Transcribing Audio Files Example"},"content":{"rendered":"<p>Speech-to-text technology has become essential in building transcription services, voice assistants, and accessibility tools. Let us delve into understanding how Spring AI transcribes audio files.<\/p>\n<h2><a name=\"section-1\"><\/a>1. What is OpenAI?<\/h2>\n<p><a href=\"https:\/\/openai.com\" target=\"_blank\" rel=\"noopener\">OpenAI<\/a> provides cutting-edge AI models, including Whisper for speech recognition. Whisper is an automatic speech recognition (ASR) system trained on a large dataset of multilingual and multitask supervised data. It can transcribe audio files into text with impressive accuracy.<\/p>\n<h2><a name=\"section-2\"><\/a>2. Setting Up the Spring Boot Project<\/h2>\n<p>To build an application that transcribes audio files using OpenAI with Spring AI, the first step is to set up a Spring Boot project with the correct dependencies and configurations. This ensures that your application can communicate securely and efficiently with the OpenAI API while leveraging the Spring ecosystem. In this section, we\u2019ll walk through initializing the project, adding dependencies, and setting up your configuration files.<\/p>\n<h3>2.1 Project Dependencies<\/h3>\n<p>Start by creating a new Spring Boot project using <a href=\"https:\/\/start.spring.io\" target=\"_blank\" rel=\"noopener\">Spring Initializr<\/a>. This tool allows you to easily generate a Maven or Gradle project with your selected modules. Include the following dependencies in your project:<\/p>\n<ul>\n<li>Spring Web &#8211; To build RESTful APIs and expose endpoints for audio upload and transcription.<\/li>\n<li>Spring Boot DevTools &#8211; Provides hot reload and runtime enhancements during development.<\/li>\n<li>Lombok &#8211; Reduces boilerplate code by providing annotations like <code>@Data<\/code>, <code>@Builder<\/code>, and more.<\/li>\n<\/ul>\n<p>Once the project is generated and opened in your IDE (such as IntelliJ or VS Code), add the following dependency to your <code>pom.xml<\/code> file to enable Spring AI and OpenAI integration:<\/p>\n<pre class=\"brush:xml; wrap-lines:false;\">&lt;dependency&gt;\n    &lt;groupId&gt;org.springframework.ai&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-ai-openai-spring-boot-starter&lt;\/artifactId&gt;\n    &lt;version&gt;0.8.0-SNAPSHOT&lt;\/version&gt;\n&lt;\/dependency&gt;\n<\/pre>\n<p>This starter provides pre-built configurations and components that make it easy to communicate with OpenAI\u2019s API using Spring conventions.<\/p>\n<h3>2.2 Configure application.yml<\/h3>\n<p>Next, configure your application to securely access the OpenAI API. Open the <code>src\/main\/resources\/application.yml<\/code> file and add the following configuration:<\/p>\n<pre class=\"brush:yaml; wrap-lines:false;\">spring:\n  ai:\n    openai:\n      api-key: YOUR_OPENAI_API_KEY\n      base-url: https:\/\/api.openai.com\/v1\n<\/pre>\n<p>Replace <code>YOUR_OPENAI_API_KEY<\/code> with your actual OpenAI key. You can obtain this key from your OpenAI developer dashboard. The <code>base-url<\/code> is the endpoint for OpenAI\u2019s REST API. This URL is used to make all transcription and model inference requests.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2><a name=\"section-3\"><\/a>3. Building the Audio Transcriber<\/h2>\n<p>This section focuses on creating the core functionality that handles the actual transcription of audio files using the OpenAI Whisper model. We&#8217;ll implement a REST controller to accept audio input, configure the necessary beans for OpenAI interaction, and enable multipart handling in the application.<\/p>\n<h3>3.1 Create Controller<\/h3>\n<p>The controller is responsible for exposing an endpoint that accepts audio files from the client. It uses the OpenAiAudioApi provided by the Spring AI framework to send the file to OpenAI&#8217;s transcription API and return the result to the user. The <code>@PostMapping<\/code> annotation defines an endpoint <code>\/api\/audio\/transcribe<\/code> that accepts audio data in multipart form. The controller creates a <code>TranscriptionRequest<\/code>, specifying the model as <code>whisper-1<\/code> and the response format as plain text.<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">package com.example.transcriber.controller;\n\nimport lombok.RequiredArgsConstructor;\nimport org.springframework.ai.openai.api.OpenAiAudioApi;\nimport org.springframework.ai.openai.api.OpenAiAudioApi.TranscriptionRequest;\nimport org.springframework.http.MediaType;\nimport org.springframework.web.bind.annotation.*;\nimport org.springframework.web.multipart.MultipartFile;\n\nimport java.io.IOException;\n\n@RestController\n@RequiredArgsConstructor\n@RequestMapping(\"\/api\/audio\")\npublic class AudioTranscriptionController {\n\n    private final OpenAiAudioApi openAiAudioApi;\n\n    @PostMapping(value = \"\/transcribe\", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)\n    public String transcribeAudio(@RequestParam(\"file\") MultipartFile file) throws IOException {\n        TranscriptionRequest request = TranscriptionRequest.builder()\n                .file(file.getResource())\n                .model(\"whisper-1\")\n                .responseFormat(\"text\")\n                .build();\n        return openAiAudioApi.transcription(request);\n    }\n}\n<\/pre>\n<p>This code ensures that whenever a user uploads an audio file via POST request, it gets sent to OpenAI for transcription and the resulting text is returned in the response.<\/p>\n<h3>3.2 Enable OpenAiAudioApi as a Bean<\/h3>\n<p>To allow Spring to inject and manage the OpenAiAudioApi, we need to configure it as a bean. This configuration class creates a bean using the default OpenAI configuration, which includes your API key and base URL.<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">package com.example.transcriber.config;\n\nimport org.springframework.ai.openai.api.OpenAiAudioApi;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.web.client.RestClient;\n\n@Configuration\npublic class OpenAIConfig {\n\n    @Bean\n    public OpenAiAudioApi openAiAudioApi(OpenAiAudioApi.OpenAiAudioApiConfig config) {\n        return new OpenAiAudioApi(config, RestClient.builder());\n    }\n}\n<\/pre>\n<p>The <code>OpenAiAudioApi<\/code> is constructed using its configuration and a <code>RestClient<\/code>. Spring will automatically pick up this bean and inject it wherever needed, such as in the controller class defined earlier.<\/p>\n<h3>3.3 Enable Multipart Support<\/h3>\n<p>Spring Boot supports file uploads out of the box, but you can customize the maximum file size allowed for upload by adding the following configuration to your `application.yml`. This step is especially useful if users will be uploading large audio files.<\/p>\n<pre class=\"brush:yaml; wrap-lines:false;\">spring:\n  servlet:\n    multipart:\n      max-file-size: 10MB\n      max-request-size: 10MB\n<\/pre>\n<p>This configuration increases the upload limit to 10MB, both for individual files and total request size. You can adjust these values based on your expected file size requirements.<\/p>\n<h2><a name=\"section-4\"><\/a>4. Run and Test the Audio Transcriber<\/h2>\n<h3>4.1 Start the Spring Boot App<\/h3>\n<p>Make sure all configurations are correctly set up in your <code>application.yml<\/code>, and the OpenAI API key is available either directly or via environment variable. Then, navigate to the root directory of your Spring Boot project and run the following command to start the application:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">.\/mvnw spring-boot:run\n<\/pre>\n<p>This will compile the project, start the embedded Tomcat server, and deploy your application to <code>http:\/\/localhost:8080<\/code> by default. Watch the console logs to confirm that the application has started successfully and no errors have occurred during the bean initialization or context setup.<\/p>\n<h3>4.2 Test with Postman or curl<\/h3>\n<p>Once the application is running, you can test the transcription API using either Postman or curl. The endpoint <code>\/api\/audio\/transcribe<\/code> accepts a POST request with <code>multipart\/form-data<\/code> content that includes the audio file. Here is how to test using curl from the terminal:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">curl -X POST http:\/\/localhost:8080\/api\/audio\/transcribe \\\n  -H \"Content-Type: multipart\/form-data\" \\\n  -F \"file=@\/path\/to\/audio.mp3\"\n<\/pre>\n<h3>4.3 Sample Output<\/h3>\n<p>If everything is working correctly, OpenAI will return the transcribed text in plain text format. A successful output will look like the following:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">Hello, this is a sample audio file being transcribed by OpenAI Whisper model using Spring AI.\n<\/pre>\n<p>This confirms that the audio file was received, processed by OpenAI, and the response was successfully returned by your Spring Boot application. You can now extend the application to save, process, or analyze this transcription further based on your business needs.<\/p>\n<h2><a name=\"section-5\"><\/a>5. Conclusion<\/h2>\n<p>By combining the power of Spring Boot and OpenAI&#8217;s Whisper model, you can quickly build a robust speech-to-text transcription API. Spring AI simplifies the integration with OpenAI APIs and allows developers to focus more on business logic than plumbing code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Speech-to-text technology has become essential in building transcription services, voice assistants, and accessibility tools. Let us delve into understanding how Spring AI transcribes audio files. 1. What is OpenAI? OpenAI provides cutting-edge AI models, including Whisper for speech recognition. Whisper is an automatic speech recognition (ASR) system trained on a large dataset of multilingual and &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":240,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[2372,3020,2764],"class_list":["post-135299","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-openai","tag-openai-integration","tag-spring-ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring AI Transcribing Audio Files Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring AI Transcribing Audio Files Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-07T07:58:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Spring AI Transcribing Audio Files Example\",\"datePublished\":\"2025-07-07T07:58:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html\"},\"wordCount\":866,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"keywords\":[\"openai\",\"OpenAI Integration\",\"spring ai\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html\",\"name\":\"Spring AI Transcribing Audio Files Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"datePublished\":\"2025-07-07T07:58:00+00:00\",\"description\":\"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"spring-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/spring-ai-transcribing-audio-files-example.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Spring AI Transcribing Audio Files Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring AI Transcribing Audio Files Example - Java Code Geeks","description":"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html","og_locale":"en_US","og_type":"article","og_title":"Spring AI Transcribing Audio Files Example - Java Code Geeks","og_description":"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.","og_url":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2025-07-07T07:58:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Spring AI Transcribing Audio Files Example","datePublished":"2025-07-07T07:58:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html"},"wordCount":866,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","keywords":["openai","OpenAI Integration","spring ai"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html","url":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html","name":"Spring AI Transcribing Audio Files Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","datePublished":"2025-07-07T07:58:00+00:00","description":"Spring ai transcribing audio files: Transcribe audio files using Spring AI and OpenAI Whisper model with a simple Spring Boot setup.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","width":150,"height":150,"caption":"spring-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/spring-ai-transcribing-audio-files-example.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Spring AI Transcribing Audio Files Example"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/135299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=135299"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/135299\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/240"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=135299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=135299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=135299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}