UNPKG

nuxt-content-narrator

Version:

A Nuxt layer that provides text-to-speech narration capabilities for Nuxt Content pages.

24 lines (19 loc) 646 B
import type { AudioWithTimestampsResponseModel } from "elevenlabs/api"; import { Buffer } from "node:buffer"; export default defineEventHandler(async (event) => { const query = getQuery(event); const audioStorage = useStorage("audio"); const audio = await audioStorage.getItem<AudioWithTimestampsResponseModel>( `/${query.path}.json` ); if (!audio) { throw createError({ statusCode: 404, statusMessage: "Audio not found", }); } const base64Audio = audio.audio_base64; const decodedAudio = Buffer.from(base64Audio, "base64"); setHeader(event, "Content-Type", "audio/mpeg"); return decodedAudio; });