body: '{"text":"You were supposed to wait for my signal.","character":"example","project":"example","voice_id":"example","voice_settings":{"stability":0.4,"style":0.5},"filename_prefix":"voice/line-01"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
curl--requestPOST\
--urlhttps://example.com/api/tts/generate\
--header'Authorization: Bearer <token>'\
--header'Content-Type: application/json'\
--data'{ "text": "You were supposed to wait for my signal.", "character": "example", "project": "example", "voice_id": "example", "voice_settings": { "stability": 0.4, "style": 0.5 }, "filename_prefix": "voice/line-01" }'
Speak a line and land it in the output dir as a wav.
This is the front of the voiced-clip flow: pass the returned audio straight
to POST /api/video/generate with an InfiniteTalk workflow, which bakes the
voice in as lip-sync. Laying audio over a finished clip at assembly time is
the wrong end — the mouth won’t match.