Skip to main content
Project nasynchroniseren

Project nasynchroniseren

Genereer de stemmen en mix de uitvoer van een bestaand project vanuit een vertaalde SRT die u aanlevert. VoiceCheap vertaalt niets op dit endpoint: geen vertaalengine, geen SmartSync-herformulering, geen woordenlijst. Elke cue wordt letterlijk ingesproken op het bijbehorende segment van de projecttranscriptie en daarna gemixt met de oorspronkelijke achtergrond, de ondertitels en optionele lipsync, net als een gewone vertaling. Gebruik het wanneer de vertaling elders ontstaat (een menselijke vertaler, uw eigen tooling, een automatiseringsflow) en u VoiceCheap alleen nodig hebt voor stemgeneratie. De uitvoering is asynchroon: poll Vertaalstatus ophalen of luister naar de Webhooks.

Vereisten

  • Het project moet bestaan en de transcriptie moet voltooid zijn: maak het aan met Project aanmaken (alleen transcriptie) of Vertaling starten, en wacht op transcriptionStatus: "success".
  • Uw SRT moet de projecttranscriptie dekken: elk transcriptsegment heeft minstens één cue nodig, en elke cue moet op een segment vallen. Exporteer de transcriptie met Projecttranscriptie exporteren en vertaal die cue voor cue om de tijdcodes te behouden.
  • Het verzoek wordt afgerekend als een vertaling van hetzelfde medium, met dezelfde creditcontrole. Lipsync-modi voegen hun gebruikelijke extra credits toe.

Gelijktijdigheidslimiet

Projectaanmaak, vertaling en nasynchronisatie controleren allemaal de limiet van uw account voor actieve vertalingen (maximaal 10, mogelijk lager). Alleen lopende vertaal- of nasynchronisatietaken nemen plaatsen in; projecten met alleen transcriptie doen dat niet. Bij het bereiken van de limiet retourneert de API CONCURRENT_TRANSLATION_LIMIT_REACHED (HTTP 429). De toegepaste limiet staat in details.limit. Een tweede uitvoering voor hetzelfde project en dezelfde doeltaal wordt ook geweigerd zolang er al een loopt (TRANSLATION_ALREADY_IN_PROGRESS, HTTP 409).

Verzoek

Dit endpoint accepteert een JSON-body (Content-Type: application/json). Booleaanse en numerieke opties worden als JSON-waarden verzonden, niet als tekenreeksen.

Headers

string
vereist
Uw VoiceCheap API-sleutel. Verkrijg er een via app.voicecheap.ai/page-api.

Padparameters

string
vereist
De projectidentificatie die Project aanmaken of Vertaling starten teruggeeft.

Body-parameters

string
vereist
De taal van translatedSrt, in kleine letters, uit dezelfde lijst als Vertaling starten. Als het project nog geen werk voor deze taal heeft, wordt er een gemaakt en wordt de taal aan het project toegevoegd.
string
vereist
De definitieve SRT-inhoud in de doeltaal (cuenummer, tijdregel, tekst). Maximaal 1.000.000 tekens. Cues worden op tijdstempels aan transcriptsegmenten gekoppeld: een cue die binnen 50 ms na het begin van een segment start, wordt aan dat segment toegewezen, anders aan het segment waarmee hij het meest overlapt. Meerdere cues op één segment worden met een spatie samengevoegd. Timing, spreker en volgorde van elk ingesproken segment komen altijd uit de projecttranscriptie; uw tijdcodes dienen alleen voor de koppeling.
string
Een https-endpoint dat vanaf nu de webhookgebeurtenissen voor dit project ontvangt en het op het account ingestelde endpoint overschrijft.Standaard: Het endpoint dat al op het project is opgeslagen, daarna het webhookendpoint van het account.
boolean
De oorspronkelijke achtergrondaudio (muziek, ambiance) onder de gegenereerde stemmen behouden.Standaard: true
boolean
De oorspronkelijke spreker zacht onder de gegenereerde stem houden.Standaard: false
number
Volume van de oorspronkelijke stem van 1 tot 70 wanneer keepOriginalVoice is ingeschakeld.Standaard: 30
string
Stemstrategie: cloning (de sprekers van het project klonen) of custom (een catalogusstem of je opgeslagen aangepaste stem gebruiken).Standaard: cloning
string
Vereist wanneer voiceMode custom is. Gebruik een ID uit dubbing_voices_list: een catalogusstem of een aangepaste stem die door het geauthenticeerde account is opgeslagen. Teamfacturering geeft geen toegang tot de opgeslagen stemmen van andere leden.
string
Stemisolatiemodus wanneer keepBackgroundMusic is ingeschakeld: studio of realistic.Standaard: studio
boolean
Ondertitels in de uitvoervideo branden. Vereist een videoproject.Standaard: false
string
Ondertiteltekst wanneer subtitles is ingeschakeld: translated (uw SRT) of original (het brontranscript).Standaard: translated
string
Lipsync starten zodra de nasynchronisatie klaar is: standard, pro of studio. De regels voor abonnement, duur en credits zijn dezelfde als bij Vertaling starten. Vereist een videoproject.Standaard: laat het veld weg om lipsync over te slaan.
boolean
Detectie van de actieve spreker inschakelen voor de gevraagde lipsync-run.Standaard: false
object
Fijnafstemming van stemklonen, als JSON-object met stability en similarity tussen 0 en 1. Alleen met voiceMode: "cloning". Zie Vertaling starten voor uitleg bij elke waarde.
array
Bron-tijdbereiken die in de oorspronkelijke taal blijven, als [{ "startTime": 10.2, "endTime": 12.8 }]. Vereist een videoproject en keepBackgroundMusic: true, kan niet worden gecombineerd met keepOriginalVoice en mag transcriptsegmenten niet overlappen.

Antwoord

boolean
vereist
Altijd true bij geslaagde verzoeken.
string
vereist
Een leesbare bevestiging.
string
vereist
Het project dat wordt genasynchroniseerd.
string
vereist
Het vertaalwerk dat voor targetLanguage wordt gebruikt. Het komt overeen met workId in de endpoints voor status, details en transcriptie.
number
vereist
Ruwe verwerkingsschatting in minuten: vijf minuten verwerking per begonnen minuut bronmedia.
Response

De uitvoering volgen

Het project schakelt over naar de workflow translation zodra de nasynchronisatie start, dus Vertaalstatus ophalen volgt de nieuwe run: status gaat van processing naar success (met translatedVideoUrl en translatedAudioUrl) of failed (met error). De webhooks project.translation.completed en project.translation.failed worden verzonden met dezelfde targetLanguage. In Projectdetails ophalen meldt de vertaalde versie settings.dubbingMode: "dub-only" en settings.smartSync: false. Uitlijningsfouten verschijnen nadat het POST-verzoek is geaccepteerd. Het statusendpoint geeft status: "failed" met error.code en error.message terug; de project.translation.failed-webhook bevat dezelfde code en melding. Bij TRANSLATED_SRT_UNMATCHED_CUES staan de niet gekoppelde cuenummers in de melding, bij TRANSLATED_SRT_MISSING_SEGMENTS de segmentindexen zonder cue. Deze asynchrone antwoorden bevatten geen gestructureerd details-veld. Corrigeer de SRT en roep het endpoint opnieuw aan: de mislukte versie blijft in de projectgeschiedenis en er wordt een nieuwe gemaakt.

Het tempo controleren

Exporteer het vertaalde transcript als JSON met Projecttranscriptie exporteren. Elk segment bevat finalSpeedFactor, de verhouding tussen de gegenereerde spraak en het segmentvenster. Kort de cues in die ongeveer boven 1.3 uitkomen en start de nasynchronisatie opnieuw met de herziene SRT.

Voorbeeldflow

Een typische automatisering (bijvoorbeeld een n8n- of Make-scenario) koppelt de endpoints als volgt:
  1. POST /v1/projects met het medium, targetLanguage en een expliciete originalLanguage (alleen transcriptie).
  2. Poll GET /v1/translate/{projectId}/status tot transcriptionStatus success is, of wacht op de webhook project.created.
  3. POST /v1/projects/{projectId}/transcript met { "source": "original", "outputFormat": "srt" } en vertaal de cues met behoud van nummering en tijdcodes.
  4. POST /v1/projects/{projectId}/dub met de vertaalde SRT.
  5. Poll het statusendpoint tot status success is, of wacht op project.translation.completed.
  6. Download translatedVideoUrl (of lipSync.videoUrl wanneer lipsync is aangevraagd).
  7. DELETE /v1/translate/{projectId} zodra de uitvoer aan uw kant is opgeslagen.

Fouten

Uitlijningsfouten die tijdens de run worden vastgesteld (TRANSLATED_SRT_UNMATCHED_CUES, TRANSLATED_SRT_MISSING_SEGMENTS) worden teruggegeven door het statusendpoint en de mislukte webhook, niet door dit verzoek.