APIAPI för talsyntes

Ge videon en röst
och ett soundtrack, från en nyckel

Ett anrop läser upp en rad ur din tidslinje och kommer tillbaka ordvis uppriktad av Whisper, så att undertexter landar på stavelsen. Ett annat skriver låten under. Fyra röstleverantörer, en endpoint var.

POSThttps://autostud.ai/api/v1/actions/timeline.generate_audio

Tre anrop, från tystnad till soundtrack

Ge blocket röst, lägg till en låt om du vill, och rendera sedan alltihop.

  1. 1

    Ge ett block röst

    Rikta anropet mot ett block i tidslinjen och den röst du vill ha. Tillbaka kommer ljudet, dess exakta längd och Whisper-ordtimingarna som får undertexter att landa på stavelsen.

    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
        }
      }'
  2. 2

    Skriv låten

    En brief, en stil eller din egen text. Musik är asynkron: anropet returnerar en uppgift och music.completed hämtar hem de hostade spåren.

    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.
  3. 3

    Rendera ihop det

    Ljudet bestämmer ett blocks längd, så när rösten är på plats gör renders.create tidslinjen till en mp4 med allt i synk.

    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"
      }'

Vad du kan skicka med

Tre fält för att läsa upp ett block, ett för att beställa en låt.

video_id

Videon vars tidslinje innehåller blocket du ger röst.

block_id

Vilket block som får rösten. Dess längd följer ljudet, inte tvärtom.

voice_settings

Själva rösten: leverantör, röstreferens, hastighet. Med din egen leverantörsnyckel kostar genereringen ingenting.

prompt

För music.generate: briefen för låten. Skicka lyrics i stället om du redan skrivit texten.

Fyra leverantörer, en anropsform

Röster är en katalog, inte en hårdkodad lista. Ta med din egen leverantörsnyckel så är genereringarna gratis; använd vår så debiteras de i krediter som allt annat.

ElevenLabsGoogleCartesiaFish Audio

Låtar anmäler sig själva

Tal kommer tillbaka i svaret. En låt tar längre tid och avfyrar därför en händelse: registrera en webhook en gång så anländer spåren hostade, med krediterna redan avstämda.

generation.completedmusic.completedmusic.failed

Det utvecklare frågar först

Får jag timing på ordnivå?

Ja. Whisper-uppriktningen körs på det som just genererats, så svaret bär ordtiming i full precision, aldrig avrundad till närmaste sekund.

Kan jag använda min egen ElevenLabs-nyckel?

Ja, och det är hela poängen med dubbelläget: med din nyckel kostar genereringen noll krediter, och ljudet hostas, riktas upp och läggs på blocket ändå.

Hur lång tid tar en låt?

Minuter, inte millisekunder, och därför är musik asynkron. Läs tillbaka den med music.get_task om en webhook inte är ett alternativ i din stack.

Vad händer med blockets längd?

Ljudet avgör den. Ett block är exakt så långt som talet i det plus de pauser du ställt in, så inget behöver tajmas för hand i efterhand.

Redo att skapa?

Gör virala videor på några minuter. Inget kort behövs för att testa gratis.

Trygga betalningar
Direkt åtkomst
Avsluta när du vill