{"id":1897,"date":"2025-04-20T08:35:23","date_gmt":"2025-04-20T08:35:23","guid":{"rendered":"https:\/\/portfolio.arnoldbiffna.com\/?p=1897"},"modified":"2025-09-24T14:34:59","modified_gmt":"2025-09-24T14:34:59","slug":"subtitle-your-videos-for-free-with-ai","status":"publish","type":"post","link":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/","title":{"rendered":"Generate Subtitles for Your Videos Free with AI"},"content":{"rendered":"\n<figure class=\"wp-block-video\"><video controls poster=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogpreviews\/AITranslate.jpg\" preload=\"auto\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/AITranslate.mp4\"><\/video><figcaption class=\"wp-element-caption\">The audio in this video contains several languages and subtitles were generated using the process described in this post.<\/figcaption><\/figure>\n\n\n\n<p>I recently watched a movie on Netflix with scenes in multiple languages: English, Korean, French, and Italian. During the foreign language scenes, there was no translation, just the name of the language spoken, like &#8220;[Korean]&#8221;. How disappointing\u2026<\/p>\n\n\n\n<p>In a nerdy fit of revenge I decided to fix this myself. So, I obtained an .mp4 video file of the movie and went to work. The tech I&#8217;m about to describe uses AI to <em>listen<\/em> to your movie&#8217;s audio, translate it from almost any language, and create subtitles. You could also use these tools for other tasks such as generating lyrics for music. <\/p>\n\n\n\n<p>The tools involved are a combination of <strong><em>ffmpeg<\/em><\/strong> and <strong><em>mlx-whisper<\/em><\/strong> &#8211; a version of OpenAI&#8217;s Whisper model optimized to take advantage of Apple Silicon chips. The hour and a half movie I mentioned took less than 5 minutes to generate subtitles on my Apple M2 Max Macbook Pro with 32Gb of memory. I asked ChatGPT what makes mlx-whisper faster on Apple Silicon chips and this is what it said:<\/p>\n\n\n\n<ul class=\"wp-block-list has-white-color has-medium-gray-background-color has-text-color has-background has-link-color wp-elements-e0da496c17b574bc862515ff22c3ee79\">\n<li><strong>Unified Memory Architecture (UMA):<\/strong>&nbsp;Apple Silicon chips use a unified memory architecture, allowing the CPU, GPU, and Neural Engine to access the same memory pool. This reduces latency and improves data transfer speeds, which are crucial for machine learning tasks.<\/li>\n\n\n\n<li><strong>Metal Performance Shaders (MPS):<\/strong>&nbsp;MLX leverages Metal Performance Shaders, Apple&#8217;s framework optimized for machine learning on Apple Silicon. This ensures efficient execution of operations compared to traditional frameworks like PyTorch with MPS backend.<\/li>\n\n\n\n<li><strong>Specialized Machine Learning Accelerators:<\/strong>&nbsp;The Apple Silicon chips include dedicated machine learning accelerators that provide hardware-level support for common algorithms and models, significantly boosting performance for tasks like transcription in Whisper.<\/li>\n\n\n\n<li><strong>Batched Decoding:<\/strong>&nbsp;Implementations like Lightning Whisper MLX utilize features like batched decoding, which improves throughput by processing multiple inputs simultaneously.<\/li>\n\n\n\n<li><strong>Neural Engine:<\/strong>&nbsp;The Neural Engine on Apple Silicon is designed for AI tasks, offering high-speed performance for operations related to speech recognition and transcription.<\/li>\n\n\n\n<li><strong>Optimized Operations:<\/strong>&nbsp;MLX uses custom-implemented operations that are optimized for Apple Silicon, outperforming traditional CUDA and other GPU-based setups in some benchmarks.<\/li>\n<\/ul>\n\n\n\n<p>What you&#8217;ll need<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A modern Mac using Apple Silicon<\/li>\n\n\n\n<li>The Terminal app<\/li>\n<\/ul>\n\n\n\n<p>This is how you get <strong><em>ffmpeg<\/em><\/strong> and <strong><em>mlx-whisper<\/em><\/strong> on your Mac.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Brew\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/brew.sh\/\">https:\/\/brew.sh\/<\/a><\/li>\n\n\n\n<li>On the web page, you can copy the install command for your terminal<br><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"128\" class=\"wp-image-1903\" style=\"width: 744px;\" src=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/homebrew.png\" alt=\"\" srcset=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/homebrew.png 744w, https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/homebrew-300x52.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/li>\n\n\n\n<li><ul><li><pre><code>\/bin\/bash -c \"$(curl -fsSL&nbsp;https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh)\"<\/code><\/pre><\/li><\/ul><\/li>\n\n\n\n<li>Follow the resulting instructions displayed in the terminal to make <em>brew<\/em> into a command. These were mine, specific to my user name on the machine. Copy yours from the terminal\n<ul class=\"wp-block-list\">\n<li><code>echo &gt;&gt; \/Users\/bubba\/.bash_profile<\/code><\/li>\n\n\n\n<li><code>echo 'eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"' &gt;&gt; \/Users\/bubba\/.bash_profile<\/code><\/li>\n\n\n\n<li><code>eval \"$(\/opt\/homebrew\/bin\/brew shellenv)\"<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Give it a quick test- type <code>brew<\/code> and hit return to see if works<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>FFMpeg\n<ul class=\"wp-block-list\">\n<li><pre><code>brew install ffmpeg<\/code><\/pre><\/li>\n\n\n\n<li>Give it a quick test by typing <code>ffmpeg<\/code> and hit return<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Python\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.python.org\/\">https:\/\/www.python.org\/<\/a><\/li>\n\n\n\n<li>Download and install from the package installer<\/li>\n\n\n\n<li><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"269\" class=\"wp-image-1907\" style=\"width: 883px;\" src=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/python.png\" alt=\"\" srcset=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/python.png 883w, https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/python-300x91.png 300w, https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/python-768x234.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Pip\n<ul class=\"wp-block-list\">\n<li>Download the script from&nbsp;<a href=\"https:\/\/bootstrap.pypa.io\/get-pip.py\">https:\/\/bootstrap.pypa.io\/get-pip.py<\/a>&nbsp;into a folder you can run the terminal from. You can also right-click the link and save it<\/li>\n\n\n\n<li><pre><code>python3 get-pip.py<\/code><\/pre><\/li>\n\n\n\n<li>Give it a quick test by typing <code>pip<\/code> and hit return<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>MLX-Whisper\n<ul class=\"wp-block-list\">\n<li><pre><code>pip install mlx-whisper<\/code><\/pre><\/li>\n\n\n\n<li>Give it a quick test by typing <code>mlx_whisper<\/code> and hit return<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>LLM &#8211; a 3 Gigabyte Large Language Model\n<ul class=\"wp-block-list\">\n<li><pre><code>pip install huggingface_hub hf_transfer<\/code><\/pre><\/li>\n\n\n\n<li><pre><code>export HF_HUB_ENABLE_HF_TRANSFER=1<\/code><\/pre><\/li>\n\n\n\n<li><pre><code>huggingface-cli download --local-dir whisper-large-v3-mlx mlx-community\/whisper-large-v3-mlx<\/code><\/pre><\/li>\n\n\n\n<li>use a folder where the video will reside<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Now that that <em>ffmpeg<\/em> and <em>mlx_whisper<\/em> are installed, along with the LLM, lets assume you have a video to subtitle, called <strong>input.mp4<\/strong>.<\/p>\n\n\n\n<p>To <strong>create an external subtitle file<\/strong> in the .srt format:<br><pre><code>mlx_whisper input.mp4 --task translate&nbsp; --model whisper-large-v3-mlx --output-format srt --verbose False &nbsp; --condition-on-previous-text False<\/code><\/pre><\/br><\/p>\n\n\n\n<p>You can open the .srt file with a text editor and take a look, as well as make manual edits if desired. Now, you can either overlay the subtitle into the video, or add it as a track, so you could turn it on\/off when viewing the video.<\/p>\n\n\n\n<p>To <strong>overlay the subtitle<\/strong> into the video:<\/p>\n\n\n\n<p><pre><code>ffmpeg -i input.mp4 -vf subtitles=input.srt -c:a copy output.mp4<\/code><\/pre><\/p>\n\n\n\n<p>To <strong>add the subtitle as an optional track<\/strong> instead:<\/p>\n\n\n\n<p><pre><code>ffmpeg -i input.mp4 -i input.srt -c copy -c:s mov_text output.mp4<\/code><\/pre><\/p>\n\n\n\n<p>Now, suppose you wanted to do this to a folder of .mp4 files. You could loop through them with a shell script. I created this one and it worked for me:<\/p>\n\n\n\n<pre class=\"brush: bash; title: ; toolbar: true; notranslate\" title=\"\">\n#!\/bin\/bash\n\n# Loop through all .mp4, .mkv, and .m4v files in the current directory\nfor video in *.mp4 *.mkv *.m4v; do\n  # Skip if no matching files are found\n  &#x5B;&#x5B; -e &quot;$video&quot; ]] || continue\n\n  # Extract the file extension and base name\n  ext=&quot;${video##*.}&quot;\n  base=&quot;${video%.*}&quot;\n  subtitle=&quot;${base}.srt&quot;\n\n  echo &quot;Subtitling: $video&quot;\n  mlx_whisper &quot;$video&quot; --task translate --model whisper-large-v3-mlx --output-format srt --verbose False --condition-on-previous-text False\n  sleep 3\n\n  # Check if the matching .srt file exists\n  if &#x5B;&#x5B; -f &quot;$subtitle&quot; ]]; then\n    output=&quot;${base}_subtitled.${ext}&quot;\n    echo &quot;Creating video: $output&quot;\n    echo &quot; from subtitle: $subtitle&quot;\n    ffmpeg -i &quot;$video&quot; -i &quot;$subtitle&quot; -c copy -c:s mov_text &quot;$output&quot;\n  else\n    echo &quot;Subtitle not found for $video&quot;\n  fi\ndone\n<\/pre>\n\n\n\n<p>Because my media player can play .mp4, .<em>mkv<\/em>, and .<em>m4v<\/em> files, and they all work with these commands, I also added those formats into the loop.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The audio in this video contains several languages and subtitles were generated using the process described in this post. I recently watched a movie on Netflix with scenes in multiple languages: English, Korean, French, and Italian. During the foreign language scenes, there was no translation, just the name of the language spoken, like &#8220;[Korean]&#8221;. How &hellip; <a href=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Generate Subtitles for Your Videos Free with AI&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":1920,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[47,39],"class_list":["post-1897","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-random-tech","tag-ai","tag-video"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio<\/title>\n<meta name=\"description\" content=\"Generate Subtitles for Your Videos Free with AI\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio\" \/>\n<meta property=\"og:description\" content=\"Generate Subtitles for Your Videos Free with AI\" \/>\n<meta property=\"og:url\" content=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Arnold Biffna Portfolio\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-20T08:35:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-24T14:34:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"290\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arnold Biffna\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arnold Biffna\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/\"},\"author\":{\"name\":\"Arnold Biffna\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"headline\":\"Generate Subtitles for Your Videos Free with AI\",\"datePublished\":\"2025-04-20T08:35:23+00:00\",\"dateModified\":\"2025-09-24T14:34:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/\"},\"wordCount\":848,\"publisher\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"image\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/translate.jpeg\",\"keywords\":[\"AI\",\"Video\"],\"articleSection\":[\"Random Tech\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/\",\"name\":\"Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/translate.jpeg\",\"datePublished\":\"2025-04-20T08:35:23+00:00\",\"dateModified\":\"2025-09-24T14:34:59+00:00\",\"description\":\"Generate Subtitles for Your Videos Free with AI\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#primaryimage\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/translate.jpeg\",\"contentUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/translate.jpeg\",\"width\":200,\"height\":290},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2025\\\/04\\\/20\\\/subtitle-your-videos-for-free-with-ai\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate Subtitles for Your Videos Free with AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#website\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/\",\"name\":\"Arnold Biffna Portfolio\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\",\"name\":\"Arnold Biffna\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"contentUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"width\":960,\"height\":960,\"caption\":\"Arnold Biffna\"},\"logo\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\"},\"sameAs\":[\"http:\\\/\\\/arnoldbiffna.com\"],\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/author\\\/arnoldbiffna-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio","description":"Generate Subtitles for Your Videos Free with AI","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:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/","og_locale":"en_US","og_type":"article","og_title":"Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio","og_description":"Generate Subtitles for Your Videos Free with AI","og_url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/","og_site_name":"Arnold Biffna Portfolio","article_published_time":"2025-04-20T08:35:23+00:00","article_modified_time":"2025-09-24T14:34:59+00:00","og_image":[{"width":200,"height":290,"url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg","type":"image\/jpeg"}],"author":"Arnold Biffna","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Arnold Biffna","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#article","isPartOf":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/"},"author":{"name":"Arnold Biffna","@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"headline":"Generate Subtitles for Your Videos Free with AI","datePublished":"2025-04-20T08:35:23+00:00","dateModified":"2025-09-24T14:34:59+00:00","mainEntityOfPage":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/"},"wordCount":848,"publisher":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"image":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg","keywords":["AI","Video"],"articleSection":["Random Tech"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/","url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/","name":"Generate Subtitles for Your Videos Free with AI - Arnold Biffna Portfolio","isPartOf":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#primaryimage"},"image":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg","datePublished":"2025-04-20T08:35:23+00:00","dateModified":"2025-09-24T14:34:59+00:00","description":"Generate Subtitles for Your Videos Free with AI","breadcrumb":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#primaryimage","url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg","contentUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/translate.jpeg","width":200,"height":290},{"@type":"BreadcrumbList","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2025\/04\/20\/subtitle-your-videos-for-free-with-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/portfolio.arnoldbiffna.com\/"},{"@type":"ListItem","position":2,"name":"Generate Subtitles for Your Videos Free with AI"}]},{"@type":"WebSite","@id":"https:\/\/portfolio.arnoldbiffna.com\/#website","url":"https:\/\/portfolio.arnoldbiffna.com\/","name":"Arnold Biffna Portfolio","description":"","publisher":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/portfolio.arnoldbiffna.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f","name":"Arnold Biffna","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","contentUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","width":960,"height":960,"caption":"Arnold Biffna"},"logo":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg"},"sameAs":["http:\/\/arnoldbiffna.com"],"url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/author\/arnoldbiffna-2\/"}]}},"_links":{"self":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/comments?post=1897"}],"version-history":[{"count":61,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1897\/revisions"}],"predecessor-version":[{"id":1995,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1897\/revisions\/1995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/media\/1920"}],"wp:attachment":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/media?parent=1897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/categories?post=1897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/tags?post=1897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}