API-integratie

Video Translation API voor releaseoperaties in meerdere regio's

Lokaliseer één bronvideo naar meerdere marktklare outputs met statusgestuurde automatisering, foutisolatie op locale-niveau en gecontroleerde uitrolworkflows.

Probleem

Wereldwijde lanceringen mislukken vaak op synchronisatie, niet op vertaalkwaliteit: de primaire taal wordt als eerste gepubliceerd terwijl de regionale varianten achterblijven en de campagnetiming vastloopt.

Resultaat met Ssemble

Ssemble maakt eenmaal-bron, veel-lokaliseren-operaties mogelijk met locale-specifieke statustracking, zodat teams in gecontroleerde golven kunnen releasen en gedeeltelijke fouten snel kunnen herstellen.

Implementatie-essentials

Basis-URL: https://aiclipping.ssemble.com/api/v1

Integratiearchitectuur (ingest → verwerking → polling/webhook → publiceren)

1) Ingest

Maak het vertaalmanifest aan: source, locale-lijst, uitrolbeleid en fallback-gedrag.

2) Verwerking

Verstuur locale-specifieke create-requests en persisteer een parent release id voor end-to-end-traceerbaarheid.

3) Poll / Webhook

Volg de status van elke locale onafhankelijk om scenario's van gedeeltelijk succes en gedeeltelijke mislukking snel te identificeren.

4) Publiceren

Release de locales die de QA-/beleidsgates passeren en plaats mislukte locales opnieuw in de wachtrij met een begrensde retry-strategie.

Endpoint-voorbeelden

  • POST /shorts/createMaak locale-specifieke verwerkingsjobs aan
  • GET /shorts/:id/statusVolg de levenscyclusstatus van elke locale
  • GET /shorts/:idHaal de voltooide gelokaliseerde output op voor de release

Authenticatierichtlijnen

Houd de API keys en uitrolcontroles uitsluitend in backendservices. Segmenteer de sleutels per omgeving en beperk de toegang tot de productie-uitrol strikt.

Rate limits en retries

Plaats de locale-inzendingen in gecontroleerde batches in de wachtrij, niet in volledige fan-out-pieken. Gebruik exponentiële backoff bij 429/5xx en begrens de retries.

Voorbeeld van een request

POST /shorts/create
{
  "fileUrl": "https://cdn.example.com/master-campaign.mp4",
  "start": 30,
  "end": 420,
  "language": "ko",
  "captionLanguage": "ja",
  "preferredLength": "under60sec",
  "layout": "auto"
}

Voorbeeld van een response

200 OK
{
  "data": {
    "requestId": "665a1b2c3d4e5f6a7b8c9d0e",
    "status": "processing",
    "creditsUsed": 1,
    "estimatedCompletionTime": "2026-03-10T07:00:00.000Z"
  }
}

Voorbeeld van een foutscenario

500 Internal Server Error
{
  "error": {
    "code": "internal_error",
    "message": "An internal error occurred. Please try again.",
    "details": null
  }
}

Versiebeheer

Leg de schema-/versiemetadata voor elke locale-request vast, zodat regressies tussen locales diagnosticeerbaar zijn na API-wijzigingen.

Support

Persisteer parent release id + locale + requestId bij elke statustransitie voor snel incidentherstel bij gedeeltelijke lanceringen.

Quickstart

  1. Definieer de locale-matrix en uitrolstrategie in de backendconfiguratie.
  2. Maak één verwerkingsrequest per locale aan met de velden language/captionLanguage.
  3. Poll de status en werk het releaseboard bij tot elke locale terminaal is.
  4. Haal de voltooide outputs op en voer locale-specifieke QA-controles uit.
  5. Publiceer geslaagde locales direct en route mislukte locales naar een begrensde retry-wachtrij.
Documentatie van de vertaalworkflow openen

Integratie starten

Workflow in 3 stappen

  1. Ingest één bron-asset met de matrix van doel-locales en het uitrolbeleid.
  2. Verwerk de locale-jobs asynchroon met onafhankelijke statustracking per locale.
  3. Publiceer voltooide locales via regionale wachtrijen, terwijl mislukte locales naar gecontroleerde retries worden gerouteerd.

Waarom teams voor Ssemble kiezen

  • Ontworpen voor regionale kanaalteams waar releasecoördinatie net zo cruciaal is als contentkwaliteit.
  • Isoleert fouten per locale, zodat één probleem niet de volledige campagnelancering blokkeert.
  • Werkt samen met postingautomatisering voor follow-the-sun-distributieworkflows.

Volgende stap

FAQ

Hoe voorkomen we dat één locale alle regio's blokkeert?

Gebruik statusmachines per locale en releasegates, zodat elke locale onafhankelijk kan worden gepubliceerd, tenzij het beleid synchronisatie van alle locales vereist.

Moeten we alle locales tegelijk versturen?

Meestal niet. Gecontroleerde batching beschermt de rate limit-budgetten en vereenvoudigt de incidenttriage wanneer een locale-pad degradeert.

Wat is de minimale observability-payload?

Volg voor elke job de parent release id, locale-code, requestId, statustransities, error code en retry count.

Welke fouten moeten automatisch een retry krijgen?

Doe een retry bij tijdelijke transportfouten, 429 en 5xx met backoff. Faal snel bij validatiefouten en route deze voor correctie van configuratie/data.

Kunnen vertaling en posten worden gescheiden?

Ja. Veel teams houden de voltooiing van de vertaling en het publiceren op kanalen in aparte wachtrijen voor betere controle en rollback-veiligheid.

Garandeert dit gelijke resultaten voor alle locales?

Er mag geen garantie worden aangenomen. Meet de voltooiingstijd, foutratio en QA-slagingspercentage per locale en pas het uitrolbeleid dienovereenkomstig aan.

Gerelateerde bronnen