Calculator Tools Calculator Tools
Create

Audiodescription Video Generator

Dec 2, 2025

About this app

Create and generate audiodescriptions for your videos effortlessly. Transform your visuals into immersive audio descriptions to make your content accessible to all.

Audiodescription Video Generator Audiodescription Video Generator Add Description

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Audiodescription Video Generator</title>
<meta name="description" content="Create and generate audiodescriptions for your videos effortlessly. Transform your visuals into immersive audio descriptions to make your content accessible to all.">
<meta name="keywords" content="audiodescription, video generator, accessibility, audio, video, content creation">

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

let descriptions = [];

function addDescription() {
const descriptionInput = document.getElementById("descriptionInput");
const descriptionText = descriptionInput.value.trim();
if (descriptionText) {
descriptions.push(descriptionText);
renderDescriptions();
descriptionInput.value = "";
}
}

function renderDescriptions() {
const descriptionList = document.getElementById("descriptionList");
descriptionList.innerHTML = "";
descriptions.forEach((desc, index) => {
const listItem = document.createElement("li");
listItem.className = "list-group-item d-flex justify-content-between align-items-center";
listItem.innerText = desc;
const removeButton = document.createElement("button");
removeButton.className = "btn btn-danger btn-sm";
removeButton.innerHTML = '<i class="fas fa-trash"></i>';
removeButton.onclick = () => { removeDescription(index) };
listItem.appendChild(removeButton);
descriptionList.appendChild(listItem);
});
}

function removeDescription(index) {
descriptions.splice(index, 1);
renderDescriptions();
}

document.addEventListener("DOMContentLoaded", function() {
document.getElementById("addDescriptionButton").onclick = addDescription;
document.getElementById("descriptionInput").addEventListener("keypress", function (e) {
if (e.key === "Enter") {
addDescription();
}
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
body {
background: linear-gradient(135deg, #f06, #48f);
color: #ffffff;
}
#main-container {
margin-top: 50px;
background: rgba(0, 0, 0, 0.7);
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
h1 {
text-align: center;
margin-bottom: 30px;
}
.list-group-item {
background-color: rgba(200, 200, 200, 0.1);
border: none;
}
.btn {
margin-left: 10px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Audiodescription Video Generator</h1>
<div class="mb-3">
<input type="text" id="descriptionInput" class="form-control" placeholder="Enter audiodescription...">
<button id="addDescriptionButton" class="btn btn-success mt-2">Add Description</button>
</div>
<ul id="descriptionList" class="list-group">
<!-- Descriptions will be added here -->
</ul>
</div>
</body>
</html>