1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { fetch } from "https://esm.town/v/std/fetch";
import { runVal } from "https://esm.town/v/std/runVal";
// https://api.val.town/v1/express/zzz.ListenTo?val=stevekrouse.whatIsValTown
export async function ListenTo(req, res) {
const { val = "zzz.demoOpenAIGPT4Summary" } = req.query;
const url = `https://api.val.town/v1/run/${val.replace("@", "")}`
const resp = await fetch(url);
const text = await resp.text();
const speaker = "young_male_unmarked-1";
const payload = await runVal("stevekrouse.rime", { text, speaker }) as {audioContent: string}?
if (!payload || !payload.audioContent) {
res.send(`Something went wrong!`);
return;
}
res.send(
`<audio controls src="data:audio/ogg;base64,${payload.audioContent}" />`,
);
}
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
October 23, 2023