Urgent.News

What's breaking now, across thousands of outlets.

Tech

Prepare yourself for longer videos on Instagram. And oh, they’ll be in wide-screen view, too.

Instagram is testing Features, a new format for horizontal videos up to 90 minutes. The feature lets creators link short Reels to full-length podcasts, comedy videos, and other content.

Prepare yourself for longer videos on Instagram. And oh, they’ll be in wide-screen view, too.

Why Voice-Over Automation Matters for YouTube

Creating YouTube videos involves more than just filming and writing scripts. The most time-consuming aspect is often the audio component—recording, editing, and syncing the voice with the video footage can consume significant hours of a creator’s day. To streamline this process, developers can leverage text-to-speech (TTS) technology and voice cloning tools. These solutions enable the generation of high-quality narration using a few lines of code.

Building a Lightweight Voice-Over Tool

In this guide, we'll walk you through constructing a simplified voice-over tool that accepts a script, converts it into a natural-sounding voice, and produces a subtitle file compatible with YouTube uploads. We'll utilize ElevenLabs as our TTS engine, renowned for its advanced neural voices and straightforward API integration.

Setting Up Your ElevenLabs Account

To get started, visit https://try.elevenlabs.io/kr07zfuqn1bp to create an account using the provided affiliate link. This link grants access to a generous quota of free synthesis hours. Once logged in, you'll need to register for an API key, which is essential for our code examples. Within the dashboard, you can also clone an existing voice or upload an audio sample to create a unique voice. Afterward, copy your API key from the "API" tab, as it will be required in our code snippets.

Choosing the Right Voice

ElevenLabs provides a diverse library of voices that you can employ. You can:

- Clone a real person's voice by providing a few minutes of clean audio.

- Select from pre-built "human-like" voices like "Sam" or "Emma" for quick setup.

- Choose a voice that aligns with your channel's tone—whether it's friendly, professional, or energetic.

When cloning a voice, you'll receive a unique voice ID, which you will reference in subsequent code snippets. Ensure the selected voice matches your desired channel tone.

Building the Core Synthesizer

Below is a concise Python script that communicates with the ElevenLabs API to generate an MP3 file from a script and subsequently writes an SRT subtitle file. You can modify this script to suit your preferred programming language.

```python

import requests

import json

import os

ELEVEN_API_URL = "https://api.elevenlabs.io/v1/text-to-speech"

API_KEY = "YOUR_ELEVEN_API_KEY"

VOICE_ID = "YOUR_CLONED_VOICE_ID"

# 1️⃣ Read the script

with open("script.txt", "r", encoding="utf-8") as f:

script = f.read()

# 2️⃣ Build the request payload

payload = {

"text": script,

"voice_settings": {

"stability": 0.75,

"similarity_boost": 0.8

}

}

headers = {

"xi-api-key": API_KEY,

"Content-Type": "application/json"

}

# 3️⃣ Make the request

response = requests.post(f"{ELEVEN_API_URL}/{VOICE_ID}", headers=headers, data=json.dumps(payload))

# 4️⃣ Save the MP3

if response.status_code == 200:

with open("narration.mp3", "wb") as out:

out.write(response.content)

print("✅ Audio generated!")

else:

print(f"❌ Error {response.status_code}: {response.text}")

```

The script reads the script from a text file, configures the TTS request with desired voice settings, and sends the request to ElevenLabs. If the response is successful (status code 200), the API returns raw MP3 bytes, which are saved to a file named "narration.mp3." Error handling is included to manage any API communication issues.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at digitaltrends.com →

More in Tech

More from Monday 26 October →