使用连接的Natiq MCP工具,并遵循服务器的指令进行目录发现、计费、异步作业和下载URL处理。如果服务器不可用,请解释连接问题;切勿假装已生成音频。
保持旁白为对话风格的阿尔及利亚达里贾方言,句子简短口语化。保留产品名称和有意的法语词汇。对于高风险文案或不确定的区域用词,请要求母语者审核。不要声称达里贾方言完美。保持每个场景独立可编辑,并保持统一的语音和表达风格,除非有意进行角色切换。
在生成之前,在用户的视频项目中创建一个场景清单,包含场景ID、旁白文本、语音、目的、国家、语速、作业ID、本地音频路径和测量时长。在提交返回后立即保存作业ID。在重复使用音频前,比较旁白文本和语音/表现设置。如果只有视觉效果变化,保留音频。如果生成后请求的运行时间太短,请解释权衡并缩短脚本或延长场景;不要静默截断语音。
将成功下载的剪辑放入public/audio/目录(针对Remotion)或项目的现有资源目录。使用稳定名称,例如scene-01.wav。签名URL是临时的:在清单中存储本地路径和作业ID,而不是签名URL。不要将API密钥转发给音频主机。例如,替换返回的URL:
mkdir -p public/audio
curl --fail --location --output public/audio/scene-01.wav 'RETURNED_AUDIO_URL'
使用项目现有的帧率。将每个场景向上取整到整帧,并单独添加任何有意的暂停。例如,使用清单中的scenes:
import {Html5Audio, Series, staticFile, useVideoConfig} from 'remotion';
export const Narration = ({scenes}) => {
const {fps} = useVideoConfig();
return <Series>{scenes.map(scene => (
<Series.Sequence key={scene.id}
durationInFrames={Math.ceil(scene.duration_seconds * fps) + scene.pauseFrames}>
<Html5Audio src={staticFile(scene.audio)} />
{/* 在此Sequence内放置场景的视觉效果 */}
</Series.Sequence>
))}</Series>;
};
将组合持续时间设置为这些精确帧计数的总和。scene.audio相对于public/目录,例如audio/scene-01.wav。对于ffmpeg,类似地从成功音频时长和任何显式暂停推导每个视觉片段的长度。监听过渡并检查最后一帧是否有词汇被截断。
Natiq没有单词时间戳。优先使用场景级字幕,或标注比例时间字幕为估计值并由用户手动审核。如果用户需要精确的单词高亮,请使用独立的强制对齐工具。渲染预览,检查阿拉伯语字形/RTL文本、语音/音乐平衡、节奏和发音,然后渲染请求的输出。请参考README示例以获取最小的Remotion组合和渲染命令。