블록에 목소리를 넣고, 원하면 곡을 더한 뒤, 전체를 렌더링하세요.
타임라인의 블록과 원하는 목소리를 지정하세요. 돌아오는 것은 오디오, 정확한 길이, 그리고 자막을 음절에 떨어뜨리는 Whisper 단어 타이밍입니다.
export AUTOSTUD_API_KEY="sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -X POST https://autostud.ai/api/v1/actions/timeline.generate_audio \
-H "Authorization: Bearer $AUTOSTUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_id": "0f4c8b71-2d95-47a3-9e6c-15b8ad7f3c20",
"block_id": "block_2",
"voice_settings": {
"voice_provider": "elevenlabs",
"voice_id": "rachel",
"playback_speed": 1
}
}'브리프, 스타일, 또는 직접 쓴 가사. 음악은 비동기입니다. 호출은 작업을 돌려주고 music.completed가 호스팅된 트랙을 가져옵니다.
curl -X POST https://autostud.ai/api/v1/actions/music.generate \
-H "Authorization: Bearer $AUTOSTUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Lighthouse",
"style": "warm lo-fi, slow, no drums",
"prompt": "A calm bed under a voice-over about the sea",
"instrumental": true
}'
# Already wrote the words? Send lyrics instead of prompt.블록의 길이를 정하는 것은 오디오입니다. 목소리가 들어가면 renders.create가 타임라인을 전부 동기화된 mp4로 만듭니다.
curl -X POST https://autostud.ai/api/v1/webhooks \
-H "Authorization: Bearer $AUTOSTUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/hooks/autostud",
"events": ["music.completed", "music.failed"],
"description": "Audio"
}'블록을 낭독하는 데 세 필드, 곡을 의뢰하는 데 하나.
video_id낭독할 블록이 들어 있는 타임라인을 가진 영상.
block_id어느 블록에 목소리가 들어가는지. 길이는 오디오를 따라가지, 그 반대가 아닙니다.
voice_settings목소리 자체: 제공자, 보이스 레퍼런스, 속도. 자기 제공자 키를 쓰면 생성 비용이 들지 않습니다.
promptmusic.generate용 곡 브리프. 가사를 이미 썼다면 대신 lyrics를 보내세요.
목소리는 하드코딩된 목록이 아니라 카탈로그입니다. 자기 제공자 키를 가져오면 생성은 무료고, 저희 키를 쓰면 나머지와 똑같이 크레딧으로 과금됩니다.
낭독은 응답으로 돌아옵니다. 곡은 더 오래 걸리므로 이벤트를 발생시킵니다. 웹훅을 한 번 등록하면 트랙이 호스팅된 상태로, 크레딧까지 정산되어 도착합니다.
generation.completedmusic.completedmusic.failed받습니다. 방금 생성된 오디오에 Whisper 정렬이 돌기 때문에 응답이 단어별 타이밍을 완전한 정밀도로 담습니다. 초 단위로 반올림하지 않습니다.
네, 그게 이중 모드의 핵심입니다. 자기 키를 쓰면 생성 크레딧이 0이고, 오디오는 그래도 호스팅되고 정렬되어 블록에 놓입니다.
밀리초가 아니라 분 단위여서 음악은 비동기입니다. 스택에서 웹훅이 어렵다면 music.get_task로 다시 읽으세요.
오디오가 정합니다. 블록은 안에 담긴 낭독에 설정한 간격을 더한 만큼 지속되므로, 나중에 손으로 맞출 것이 없습니다.