API-integration

Video Translation API för releaseoperationer över flera regioner

Lokalisera en källvideo till flera marknadsklara outputs med statusdriven automatisering, felisolering på locale-nivå och kontrollerade utrullningsflöden.

Problem

Globala lanseringar fallerar ofta på synkronisering, inte på översättningskvalitet: primärspråket publiceras först medan regionala varianter släpar efter och kampanjtajmingen bryts.

Resultat med Ssemble

Ssemble möjliggör operationer med källa-en-gång, lokalisera-många med locale-specifik tillståndsspårning så att team kan släppa i kontrollerade vågor och snabbt återhämta sig från partiella fel.

Grunder för implementation

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

Integrationsarkitektur (ingest → bearbeta → poll/webhook → publicera)

1) Ingest

Skapa översättningsmanifest: källa, locale-lista, utrullningspolicy och fallback-beteende.

2) Bearbeta

Skicka locale-specifika create-requests och spara ett parent release id för spårbarhet från början till slut.

3) Poll / Webhook

Spåra varje locale-tillstånd oberoende för att snabbt identifiera scenarier med partiell framgång och partiellt fel.

4) Publicera

Släpp locales som klarar QA-/policygrindar och köa om misslyckade locales med en begränsad retry-strategi.

Exempel på endpoints

  • POST /shorts/createSkapa locale-specifika bearbetningsjobb
  • GET /shorts/:id/statusSpåra tillståndet för varje locale-livscykel
  • GET /shorts/:idHämta färdig lokaliserad output för release

Vägledning för autentisering

Håll API-nycklar och utrullningskontroller endast i backend-tjänster. Segmentera nycklar per miljö och begränsa åtkomsten till produktionsutrullning strikt.

Rate limits och retries

Köa locale-inskick i kontrollerade batchar, inte som fullständiga fan-out-toppar. Använd exponentiell backoff vid 429/5xx och begränsa retries.

Exempel på request

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

Exempel på response

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

Exempel på felscenario

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

Versionshantering

Registrera schema-/versionsmetadata för varje locale-request så att regressioner över locales går att diagnostisera efter API-ändringar.

Support

Spara parent release id + locale + requestId vid varje statusövergång för snabb incidentåterhämtning vid partiella lanseringar.

Snabbstart

  1. Definiera locale-matris och utrullningsstrategi i backend-konfigurationen.
  2. Skapa en bearbetningsrequest per locale med fälten language/captionLanguage.
  3. Polla status och uppdatera release-tavlan tills varje locale är terminal.
  4. Hämta färdiga outputs och kör locale-specifika QA-kontroller.
  5. Publicera godkända locales omedelbart och dirigera misslyckade locales till en begränsad retry-kö.
Öppna dokumentation för översättningsflöde

Starta integration

Arbetsflöde i 3 steg

  1. Ingest en källresurs med matris över mål-locales och utrullningspolicy.
  2. Bearbeta locale-jobb asynkront med oberoende statusspårning per locale.
  3. Publicera färdiga locales via regionala köer medan misslyckade locales dirigeras till kontrollerade retries.

Varför team väljer Ssemble

  • Utformat för regionala kanalteam där releasekoordinering är lika kritisk som innehållskvalitet.
  • Isolerar fel per locale så att ett problem inte blockerar hela kampanjlanseringar.
  • Fungerar med publiceringsautomatisering för follow-the-sun-distributionsflöden.

Nästa steg

Vanliga frågor

Hur förhindrar vi att en locale blockerar alla regioner?

Använd tillståndsmaskiner per locale och release-grindar så att varje locale kan publiceras oberoende, om inte policyn kräver synkronisering av alla locales.

Ska vi skicka alla locales på en gång?

Oftast inte. Kontrollerad batchning skyddar rate-budgetar och förenklar incidentsortering när en locale-väg försämras.

Vad är minsta observerbarhets-payload?

Spåra parent release id, locale-kod, requestId, statusövergångar, error code och retry-antal för varje jobb.

Vilka fel bör göra retry automatiskt?

Gör retry på tillfälliga transportfel, 429 och 5xx med backoff. Fela snabbt på valideringsfel och dirigera för korrigering av konfiguration/data.

Kan översättning och publicering separeras?

Ja. Många team håller slutförd översättning och kanalpublicering i separata köer för bättre kontroll och säker rollback.

Garanterar detta likvärdiga resultat över alla locales?

Ingen garanti bör antas. Mät slutförandetid, felfrekvens och QA-godkännandegrad per locale och justera utrullningspolicyn därefter.

Relaterade resurser