API de localisation vidéo pour chaque marché

Transformez une vidéo source en version localisée pour chaque marché : la bonne langue régionale, des termes de marque cohérents, les voix des intervenants, des sous-titres et une synchronisation labiale optionnelle. Une seule API gère le processus de localisation et votre équipe vérifie le script avant toute publication.
Plus de 135 options de langues et de régions
Glossaires et révision
REST + SDK Python
one source, two Spanish markets
OAuth 2.0
# 1. one Spanish glossary - it applies to every Spanish regional variant
curl -X POST https://api.rask.ai/v2/glossaries \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name": "Brand terms", "src_lang": "en", "dst_lang": "es",
       "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}'

# 2. a localized version per market, both with the same glossary
for lang in es-mx es-es; do
  curl -X POST https://api.rask.ai/v2/projects \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"$lang\", \"glossary_id\": \"$GLOSSARY_ID\"}"
done
GET /v2/projects/{project_id}/transcription
review
# Review: source and translated text, segment by segment
curl -s https://api.rask.ai/v2/projects/$ID/transcription \
  -H "Authorization: Bearer $TOKEN" \
  | jq '.segments[] | {speaker, src: .src.text, dst: .dst.text}'
Utilisé par des équipes du monde entier
Fonctionnalités

Ce que comprend l'API de localisation vidéo

La localisation va bien au-delà d'une simple piste audio traduite. L'API intègre des options linguistiques régionales, la gestion de la terminologie, des voix, des sous-titres et une étape de révision au sein d'un même flux de travail par marché. Ajoutez la synchronisation labiale en option, facturée séparément.

Plus de 135 options de langues et de régions

Localisez pour une région spécifique : es-mx ou es-es, pt-br ou pt-pt, fr-ca ou fr-fr. Chaque projet prend en compte un paramètre régional cible et la langue source est détectée automatiquement.

Contrôle de la terminologie

Les glossaires garantissent que les noms et les termes de la marque restent identiques dans toutes les versions localisées. Un seul glossaire couvre toutes les variantes régionales d'une langue et chaque projet enregistre la version du glossaire utilisée.

Votre traduction approuvée

Partez d'une traduction automatique ou utilisez une traduction déjà validée par vos équipes sous forme de fichier SRT, et laissez Rask s'occuper de la voix.

Synchronisation labiale pour les vidéos face caméra

Adaptez les mouvements des lèvres à la voix localisée lorsqu'une personne apparaît à l'écran. Optionnel, chaque génération de vidéo complète est facturée séparément.

Audio de fond préservé

La musique, l'ambiance sonore et les effets de l'audio d'origine restent présents sous le discours localisé, pour que chaque marché profite de la même qualité de production.

Sous-titres et sous-titrage codé

Chaque version localisée est fournie avec des sous-titres aux formats SRT et VTT, dans la langue cible et parfaitement synchronisés avec le discours.

Les voix des intervenants sur tous les marchés

Pour les interviews et les dialogues, le clonage vocal instantané conserve la voix de chaque intervenant dans les langues prises en charge. Un clone vocal personnalisé enregistré permet quant à lui de garder une voix cohérente pour un présentateur régulier. Les préréglages de voix par IA complètent le tout.

Vérification avant publication

Les réviseurs comparent le texte source et le texte traduit côte à côte, corrigent ce qui ne convient pas au marché et ne redoublent que les segments modifiés.

Évoluez sans limites

Pas de limite de débit, pas de quota de concurrence, pas de restriction par clé. Générez des centaines de versions localisées en même temps lors d'un lancement sur tous les marchés.
Voir en action

Une vidéo source, localisée pour quatre marchés

Le même clip localisé en français, allemand, portugais et espagnol : un discours traduit avec les voix clonées des intervenants, tout en conservant l'audio d'arrière-plan d'origine.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Flux de travail

Trois étapes dans un flux de travail de localisation vidéo

Définissez les règles une seule fois, puis adaptez chaque nouvelle vidéo en un clin d'œil. La création d'un projet lance la localisation ; utilisez le point de terminaison /generate après la révision.
1

Définissez vos règles de localisation

Créez un glossaire pour chaque paire de langues, enregistrez des voix personnalisées pour vos présentateurs habituels et choisissez la région cible de chaque marché.

POST /v2/glossaries
2

Créez une version par marché

Téléchargez la vidéo source une seule fois, puis créez un projet pour chaque région en y appliquant votre glossaire ou une traduction validée importée au format SRT.

POST /v2/projects
3

Vérifiez et publiez

Comparez le texte traduit côte à côte, modifiez les passages signalés, doublez à nouveau les segments modifiés et téléchargez la vidéo et les sous-titres localisés.

GET /v2/projects/{id}/transcription
Le temps de traitement varie selon le projet. Le doublage des segments modifiés est facturé sur leur durée cumulée, avec un minimum d'une minute par exécution.
Conçu pour vous

Vous localisez en grande quantité ? Planifiez votre flux de travail avec notre équipe

Volumes réguliers, nombreux réviseurs, CMS ou LMS personnalisé : notre équipe vous aide à concevoir votre flux de travail, configurer la terminologie et les étapes de révision, et intégrer une validation humaine si votre équipe ne peut pas tout vérifier.

Langues et voix

Vous avez besoin d'une langue ou d'une voix absente du catalogue public ? Parlez de vos besoins et des options disponibles à notre équipe.

Livraison et intégration

Webhooks, envoi direct dans votre propre file d'attente, livraison sur votre espace S3, points de terminaison personnalisés. Dites-nous comment alimenter votre système.

Volume et débit

La taille des lots, le nombre de langues cibles par action et la priorité de traitement font l'objet de conditions contractuelles, et non de limites figées dans le produit.

Sécurité et hébergement

La gestion des données, l'authentification unique (SSO et SAML), les règles de conservation et l'aide aux audits de sécurité sont prises en charge lors de l'intégration des grandes entreprises.
Cas d'utilisation

Qui utilise une API de localisation vidéo ?

Plateformes intégrant de la vidéo

Plateformes LMS et de formation client, plateformes de créateurs et de vidéo, outils de webinaires et d'événements virtuels, SaaS d'hébergement vidéo, plateformes d'adoption numérique et live shopping. Offrez des versions localisées directement dans votre produit pour permettre à vos utilisateurs de toucher un public mondial sans quitter votre plateforme.

Agences de localisation et de production

Gérez la localisation pour plusieurs clients avec un glossaire par marque et une étape de révision par projet. Importez des traductions approuvées au format SRT et obtenez des vidéos doublées, des sous-titres et une synchronisation labiale optionnelle depuis un seul et même endroit.

Production vidéo continue en interne

Vente au détail et e-commerce international, franchises mondiales, éditeurs de médias, universités d'entreprise. Adaptez vos vidéos marketing, publicités, e-learning et contenus vidéo pour chaque région tout en respectant votre image de marque, et mettez-les à jour facilement en cas de modification de la source.
Témoignages clients

De véritables équipes, des résultats mesurables

Découvrez comment les entreprises localisent leurs vidéos avec Rask, en chiffres.
flèche
flèche
Code

Exemples de code pour l'API de localisation vidéo

Un exemple complet pour chaque langage : créez un glossaire, adaptez une vidéo source pour deux marchés hispanophones et lisez le texte traduit pour révision.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

MARKETS = ["es-mx", "es-es"]

async def localize(client, video_id, locale, glossary_id):
    job = await client.create_project(data=schemas.ProjectCreate(
        video_id=video_id, dst_lang=locale, glossary_id=glossary_id))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)
    return job

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    glossary = await client.create_glossary(data=schemas.GlossaryCreate(
        name="Brand terms", src_lang="en", dst_lang="es",
        entries={"Rask Studio": "Rask Studio", "onboarding": "incorporación"}))

    jobs = await asyncio.gather(*(localize(client, VIDEO_ID, m, glossary.id) for m in MARKETS))

    for job in jobs:   # review before publishing
        script = await client.get_project_transcription(project_id=job.id)
        for seg in script.segments[:3]:
            print(job.dst_lang, seg.speaker, seg.src.text, "->", seg.dst.text)

asyncio.run(main())
github.com/braskai/rask-sdk
async, typed models
import time, requests

AUTH = "https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token"
API  = "https://api.rask.ai"
token = requests.post(AUTH, auth=(CLIENT_ID, CLIENT_SECRET),
                      data={"grant_type": "client_credentials"}).json()["access_token"]
h = {"Authorization": f"Bearer {token}"}

glossary = requests.post(f"{API}/v2/glossaries", headers=h, json={
    "name": "Brand terms", "src_lang": "en", "dst_lang": "es",
    "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}).json()

ids = [requests.post(f"{API}/v2/projects", headers=h, json={
          "video_id": VIDEO_ID, "dst_lang": locale, "glossary_id": glossary["id"]}).json()["id"]
       for locale in ["es-mx", "es-es"]]

for pid in ids:
    while requests.get(f"{API}/v2/projects/{pid}", headers=h).json()["status"] != "merging_done":
        time.sleep(10)
    script = requests.get(f"{API}/v2/projects/{pid}/transcription", headers=h).json()
    for seg in script["segments"][:3]:
        print(seg["src"]["text"], "->", seg["dst"]["text"])
requests + polling
no SDK required
// no dependencies, Node 18+ global fetch
const API = 'https://api.rask.ai';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const auth = await fetch('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token', {
  method: 'POST',
  headers: { Authorization: 'Basic ' + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`) },
  body: new URLSearchParams({ grant_type: 'client_credentials' }),
}).then((r) => r.json());
const h = { Authorization: `Bearer ${auth.access_token}`, 'Content-Type': 'application/json' };
const call = (method, path, body) => fetch(API + path, { method, headers: h, body: body && JSON.stringify(body) }).then((r) => r.json());

const glossary = await call('POST', '/v2/glossaries', {
  name: 'Brand terms', src_lang: 'en', dst_lang: 'es',
  entries: { 'Rask Studio': 'Rask Studio', onboarding: 'incorporación' },
});

for (const dst_lang of ['es-mx', 'es-es']) {
  let p = await call('POST', '/v2/projects', { video_id: VIDEO_ID, dst_lang, glossary_id: glossary.id });
  while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }
  const { segments } = await call('GET', `/v2/projects/${p.id}/transcription`);
  segments.slice(0, 3).forEach((s) => console.log(dst_lang, s.src.text, '->', s.dst.text));
}
fetch, Node 18+
plain HTTP
# 1. token (valid 1 hour - cache and reuse it)
TOKEN=$(curl -s -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials" | jq -r .access_token)

# 2. import the translation your reviewers approved (source and translated .srt)
TRANSCRIPT_ID=$(curl -s -X POST "https://api.rask.ai/v2/transcriptions/srt?src_lang=en&dst_lang=es-mx" \
  -H "Authorization: Bearer $TOKEN" \
  -F "src=@source_en.srt" -F "dst=@approved_es-mx.srt" | jq -r .id)

# 3. create the localized version from it - Rask voices the approved script
curl -s -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"es-mx\", \"transcript_id\": \"$TRANSCRIPT_ID\"}"
POST /v2/transcriptions/srt
approved translation from SRT
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);
$json = fn($r) => json_decode($r->getBody(), true);
$auth = $json((new Client)->post('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret], 'form_params' => ['grant_type' => 'client_credentials']]));
$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$glossary = $json($http->post('/v2/glossaries', ['headers' => $h, 'json' => [
    'name' => 'Brand terms', 'src_lang' => 'en', 'dst_lang' => 'es',
    'entries' => ['Rask Studio' => 'Rask Studio', 'onboarding' => 'incorporación'],
]]));

foreach (['es-mx', 'es-es'] as $locale) {
    $p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
        'video_id' => $videoId, 'dst_lang' => $locale, 'glossary_id' => $glossary['id']]]));
    while ($p['status'] !== 'merging_done') {
        sleep(10);
        $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
    }
    $script = $json($http->get("/v2/projects/{$p['id']}/transcription", ['headers' => $h]));
    echo $locale, ': ', $script['segments'][0]['dst']['text'], PHP_EOL;
}
Guzzle 7
plain HTTP
Python est le kit de développement officiel (SDK). Les onglets Node, PHP et cURL proposent des exemples HTTP simples ciblant les mêmes points de terminaison.
Progression

Suivi de la progression de chaque version localisée

Chaque version régionale est un projet doté d'un statut clair, ce qui vous permet de suivre l'ensemble d'un lancement en un seul coup d'œil. Vous n'avez à intervenir que sur trois groupes.

Succès, s'arrêter ici

merging_done
La localisation est terminée. Récupérez le projet une dernière fois pour obtenir les liens de téléchargement.

En cours, continuer d'interroger

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Ainsi que les _done états, une séquence par version de marché.

Échec, s'arrêter et signaler

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words et forbidden_link sont suffisamment précis pour être affichés directement à vos propres utilisateurs.
Observed run, 3:47 source video, en → es-mx
GET /v2/projects/{project_id}
   0s  created
  11s  transcription_started
  87s  translation_started
  99s  voiceover_started
 154s  merging_started
 165s  merging_done

Ou passez entièrement le système d'interrogation

Indiquez-nous un point de terminaison de webhook et chaque changement d'état arrive sous forme de requête POST, permettant à votre file d'attente de réagir instantanément. La livraison par webhook fait partie de l'offre entreprise.
Lire la documentation
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Résultat

Vidéo, audio et sous-titres localisés pour chaque marché

Chaque version régionale fournit la vidéo localisée ainsi que les sous-titres au format SRT et VTT. Sur les forfaits éligibles, vous pouvez également télécharger la piste vocale seule ou mixée avec l'audio d'origine.
Champ
Format
Description
translated_video
MP4
La vidéo localisée, prête à être publiée
voiceover
WAV
Voix localisée seule, pour votre propre mixage
translated_audio
WAV
Voix traduite mixée avec l'audio d'arrière-plan d'origine
translation_srt_path
.srt
Sous-titres dans la langue cible
translation_vtt_path
.vtt
Sous-titres identiques au format WebVTT, pour les lecteurs web
original_video
MP4
Votre fichier source tel qu'il a été enregistré, à titre de référence
Contrôle

Préservez la cohérence de vos termes de marque et de votre vocabulaire sur tous les marchés

La qualité de la localisation repose sur un processus de révision. Les réviseurs vérifient chaque segment, corrigent les termes inadaptés au marché et ne doublent à nouveau que ces segments. Les glossaires appliquent ces choix aux vidéos suivantes et garantissent la cohérence de la marque sur tous les marchés.

Édition au niveau du segment

Édition au niveau du segment
Chaque projet présente sa transcription sous forme de segments comprenant le texte d'origine et le texte traduit, ce qui permet de corriger un passage en toute simplicité.
Récupérer la transcription et ses segments
Modifiez le texte source et nous le traduisons à nouveau
Modifiez directement le texte traduit pour conserver vos propres mots
Ajuster les repères temporels, ajouter des segments, supprimer des segments
Réattribuer la voix associée à un locuteur

Glossaires pour la terminologie

Glossaires pour la terminologie
Associez un glossaire à chaque projet pour que les noms de marque et les termes de produits soient traduits de la même manière dans chaque version locale, ou conservés dans leur langue d'origine si besoin.

Un glossaire couvre une paire de langues et s'applique à toutes les variantes régionales de cette langue cible, ce qui signifie qu'un seul glossaire en espagnol sert es-mx et es-es de même. Les enregistrements du projet glossary_version, de sorte que les modifications ultérieures ne modifient jamais le travail terminé sans que vous le sachiez.
Entrée

Formats de fichiers pris en charge

Téléchargez l'un des sept formats vidéo ou quatre formats audio, ou indiquez une URL. Les contenus audio seuls, comme les podcasts, peuvent également être localisés ; la synchronisation labiale s'applique aux vidéos où un visage apparaît à l'écran.

Vidéo

7 formats
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Audio

4 formats
.mp3
.wav
.flac
.m4a

Métadonnées avant de dépenser

L'interface média indique la durée, la taille du fichier, le codec vidéo, la fréquence d'images, la résolution, le codec audio, la fréquence d'échantillonnage et la configuration des canaux. Validez un fichier et estimez le coût de chaque version linguistique à l'avance, car la facturation de la localisation se fait à la minute.
Sécurité et conformité

Prêt pour les achats sur tous les marchés

Brask Inc détient la certification SOC 2 Type II, respecte le RGPD et publie l'état de ses contrôles en direct dans son Centre de confiance. Des options de résidence des données sont proposées lors de l'intégration des grandes entreprises.

Certifications

SOC 2 Type II
RGPD
Membre de CAI et C2PA

Cryptage

TLS 1.2 en transit
AES-256 au repos
Clés gérées SSE-S3
Rotation des clés au moins tous les 12 mois

Votre contenu

Environnement IA fermé
Jamais utilisé pour entraîner des modèles généraux
Exportation complète, sans exclusivité

Accès

SSO et SAML
Contrôle d'accès par rôle
Identifiants client OAuth 2.0

Entreprise

Options de résidence des données
SLA personnalisés
Gestionnaire de compte dédié

Droits sur les voix

Voix synthétiques avec droits d'utilisation
Clonage vocal basé sur le consentement
Contrôles de sécurité de l'IA, intervention humaine
Comparaison

Rask API face à un flux de travail de localisation conçu par vos soins

La localisation vidéo regroupe la traduction, la voix, les sous-titres, la terminologie et la révision au sein d'un même processus de production. Voici ce même processus configuré de deux manières différentes.
Ce dont vous avez besoin
Rask API
Assemblé à partir de pièces
Options linguistiques régionales
Plus de 135 options de langues et de régions
Prise en charge des langues variable selon les fournisseurs
Termes de la marque dans chaque version
Glossaires versionnés par paire de langues
Scripts de recherche et remplacement gérés par vos soins
Traductions approuvées par vos réviseurs
Importé au format SRT, puis doublé
Alignement manuel sur la vidéo
Les voix des intervenants sur tous les marchés
Clones vocaux instantanés et personnalisés
Un fournisseur de voix différent par langue
Musique de fond et effets
Conservé sous la voix localisée
Une étape de séparation des sources que vous créez
Sous-titres aux formats .srt et .vtt
Inclus
Généré à partir de vos propres données de minutage
Synchronisation labiale pour les vidéos face caméra
Optionnel, facturé par génération de vidéo complète
Un fournisseur distinct
Correction d'une ligne après la révision
Doublage des seuls segments modifiés
Générer à nouveau la version complète
Limites de débit
Aucun
Toutes les restrictions les plus strictes de votre fournisseur
Conception du flux de travail et contrôle qualité humain
Disponible avec notre équipe
Recruté et géré séparément
FAQ

API de localisation vidéo : questions fréquentes

Vous ne trouvez pas ce que vous cherchez ? Contactez le service commercial.

Qu'est-ce qu'une API de localisation vidéo ?

Quelle est la différence entre la localisation vidéo et la traduction vidéo ?

Puis-je localiser une vidéo pour plusieurs régions d'une même langue ?

Comment conserver des noms de marque cohérents dans toutes les versions localisées ?

Puis-je utiliser des traductions que nous avons déjà approuvées ?

L'API gère-t-elle les références culturelles ?

L'API traduit-elle le texte à l'écran ?

Quelles sont les langues et les régions prises en charge ?

Puis-je conserver la voix de l'intervenant sur tous les marchés ?

Comment la synchronisation labiale s'intègre-t-elle dans un flux de travail de localisation ?

Combien coûte la localisation de vidéos ?

Rask peut-il nous aider à concevoir notre processus de localisation ?

Comment obtenir un accès à l'API et une clé API ?

Commencez le doublage en un après-midi

Faites votre première requête dès aujourd'hui et contactez-nous si vous avez besoin de tarifs dégressifs pour de grands volumes ou d'une langue rare.