Integrazione API

API di traduzione video per operazioni di rilascio multi-regione

Localizza un video sorgente in più output pronti per il mercato con automazione guidata dallo stato, isolamento dei fallimenti a livello di locale e workflow di rollout controllati.

Problema

I lanci globali spesso falliscono sulla sincronizzazione, non sulla qualità della traduzione: la lingua principale viene pubblicata per prima mentre le varianti regionali rimangono indietro e il timing della campagna si interrompe.

Risultato con Ssemble

Ssemble consente operazioni source-once, localize-many con tracciamento dello stato specifico per locale, così i team possono rilasciare in ondate controllate e recuperare rapidamente i fallimenti parziali.

Elementi essenziali dell'implementazione

URL di base: https://aiclipping.ssemble.com/api/v1

Architettura di integrazione (ingestione → elaborazione → polling/webhook → pubblicazione)

1) Ingestione

Crea un manifest di traduzione: source, elenco di locale, policy di rollout e comportamento di fallback.

2) Elaborazione

Invia richieste create specifiche per locale e persisti un parent release id per la tracciabilità end-to-end.

3) Polling / Webhook

Traccia lo stato di ogni locale in modo indipendente per identificare rapidamente scenari di successo parziale e fallimento parziale.

4) Pubblicazione

Rilascia le locale che superano i gate di QA/conformità e rimetti in coda le locale fallite con una strategia di retry limitata.

Esempi di endpoint

  • POST /shorts/createCreare job di elaborazione specifici per locale
  • GET /shorts/:id/statusTracciare lo stato del ciclo di vita di ogni locale
  • GET /shorts/:idRecuperare l'output localizzato completato per il rilascio

Indicazioni sull'autenticazione

Mantieni le chiavi API e i controlli di rollout solo nei servizi backend. Segmenta le chiavi per ambiente e limita rigorosamente l'accesso al rollout in produzione.

Rate limit e retry

Metti in coda gli invii di locale in batch controllati, non in raffiche di fan-out completo. Usa il backoff esponenziale in caso di 429/5xx e limita i retry.

Esempio di richiesta

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

Esempio di risposta

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

Esempio di scenario di errore

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

Gestione delle versioni

Registra i metadati di schema/versione per ogni richiesta di locale in modo che le regressioni cross-locale siano diagnosticabili dopo le modifiche all'API.

Supporto

Persisti parent release id + locale + requestId a ogni transizione di stato per un rapido recupero degli incidenti di lancio parziale.

Avvio rapido

  1. Definisci la matrice di locale e la strategia di rollout nella configurazione del backend.
  2. Crea una richiesta di elaborazione per locale usando i campi language/captionLanguage.
  3. Esegui il polling dello stato e aggiorna la release board finché ogni locale non è terminale.
  4. Recupera gli output completati ed esegui controlli QA specifici per locale.
  5. Pubblica immediatamente le locale che superano i controlli e instrada le locale fallite verso una coda di retry limitata.
Apri la documentazione del workflow di traduzione

Avvia l'integrazione

Workflow in 3 passaggi

  1. Acquisisci un unico asset sorgente con matrice di locale target e policy di rollout.
  2. Elabora i job di locale in modo asincrono con tracciamento dello stato indipendente per locale.
  3. Pubblica le locale completate tramite code regionali mentre le locale fallite vengono instradate verso retry controllati.

Perché i team scelgono Ssemble

  • Progettato per team di canali regionali in cui il coordinamento del rilascio è critico quanto la qualità dei contenuti.
  • Isola i fallimenti per locale in modo che un singolo problema non blocchi l'intero lancio della campagna.
  • Funziona con l'automazione di pubblicazione per workflow di distribuzione follow-the-sun.

Passaggio successivo

FAQ

Come impediamo che una locale blocchi tutte le regioni?

Usa macchine a stati per locale e gate di rilascio in modo che ogni locale possa essere pubblicata in modo indipendente, a meno che la policy non richieda la sincronizzazione di tutte le locale.

Dovremmo inviare tutte le locale in una volta?

Di solito no. Un batching controllato protegge i budget di rate limit e semplifica il triage degli incidenti quando un percorso di locale si degrada.

Qual è il payload minimo di osservabilità?

Traccia il parent release id, il codice locale, il requestId, le transizioni di stato, il codice di errore e il conteggio dei retry per ogni job.

Quali errori dovrebbero essere ritentati automaticamente?

Riprova gli errori di trasporto transitori, 429 e 5xx con backoff. Fallisci rapidamente sugli errori di validazione e instrada per la correzione di config/dati.

La traduzione e la pubblicazione possono essere separate?

Sì. Molti team mantengono il completamento della traduzione e la pubblicazione sui canali in code separate per un migliore controllo e sicurezza di rollback.

Questo garantisce risultati equivalenti su tutte le locale?

Non va presupposta alcuna garanzia. Misura il tempo di completamento, il tasso di fallimento e il tasso di superamento del QA per locale e adatta la policy di rollout di conseguenza.

Risorse correlate