API de localisation vidéo pour tous les marchés

Transformez une vidéo source en version adapté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 en option. Une seule API gère le flux de localisation et votre équipe valide le script avant toute publication.
Plus de 135 langues et options régionales
Glossaires et révision
REST + Kit de développement Python (SDK)
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 au-delà d'une piste audio traduite. L'API intègre des options de langues régionales, la gestion de la terminologie, des voix, des sous-titres et une révision dans un flux unique par marché. Ajoutez une synchronisation labiale en option, facturée séparément.

Plus de 135 langues et options régionales

Adaptez votre contenu à une région spécifique : es-mx ou es-es, pt-br ou pt-pt, fr-ca ou fr-fr. Chaque projet cible un paramètre régional et la langue source est détectée automatiquement.

Gestion de la terminologie

Les glossaires garantissent que les noms et 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 un fichier SRT déjà approuvé par vos relecteurs pour laisser Rask générer la voix.

Synchronisation labiale pour les vidéos face caméra

Faites correspondre les mouvements des lèvres à la voix traduite lorsqu'une personne apparaît à l'écran. En option, chaque génération vidéo complète est facturée séparément.

Audio d'arrière-plan préservé

La musique, l'ambiance sonore et les effets de l'audio d'origine restent présents sous la voix traduite, garantissant la même qualité de production sur tous les marchés.

Sous-titres

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

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 de voix personnalisé permet à un présentateur récurrent de conserver une voix unique. Les préréglages de voix par IA complètent le tout.

Révision avant publication

Les relecteurs 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

Aucune limite de débit, aucun quota de concurrence, aucune restriction par clé. Générez des centaines de versions localisées en parallèle lors d'un lancement mondial.
Voir en action

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

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

Trois étapes dans un flux 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 l'adresse /generate après vos vérifications.
1

Définissez vos règles de localisation

Créez un glossaire pour chaque paire de langues, enregistrez des voix personnalisées pour les présentateurs récurrents et choisissez le format régional adapté à chaque marché cible.

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 langue cible avec votre glossaire ou une traduction importée depuis un fichier SRT.

POST /v2/projects
3

Vérifiez et publiez

Lisez le texte traduit côte à côte, modifiez ce que les réviseurs signalent, redoublez les segments modifiés et téléchargez la vidéo traduite avec ses sous-titres.

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

Vous avez un projet de localisation à grande échelle ? Planifiez le déroulement du projet avec notre équipe

Volumes réguliers, réviseurs multiples, 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 là où vous ne pouvez pas tout vérifier.

Langues et voix

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

Diffusion et intégration

Webhooks, envoi vers votre propre file d'attente, livraison directe sur votre S3, endpoints personnalisés. Dites-nous comment votre système souhaite être alimenté.

Volume et débit

La taille des lots, les langues cibles par action et la priorité de traitement sont des conditions contractuelles, et non des limites de produit fixes.

Sécurité et hébergement

La résidence des données, le SSO et SAML, les règles de conservation et le support pour l'examen de la sécurité sont pris 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, plateformes vidéo et pour créateurs, outils de webinaires, SaaS d'hébergement vidéo et de flux de travail, plateformes d'adoption numérique, shopping en direct. Proposez 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 les traductions approuvées par vos linguistes au format SRT et obtenez des vidéos doublées, des sous-titres et une synchronisation labial optionnelle à partir d'un seul flux de travail.

Production vidéo continue en interne

Vente au détail internationale, franchises mondiales, éditeurs de médias, universités d'entreprise. Traduisez des vidéos marketing, des publicités, des modules d'apprentissage et des vidéos de produits pour chaque région en conservant une terminologie cohérente, et créez une version mise à jour lorsque la source change.
Témoignages clients

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

Découvrez comment les entreprises localisent leurs vidéos avec Rask, chiffres à l'appui.
flèche
flèche
Code

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

Un exemple complet par langue : créez un glossaire, adaptez une vidéo source pour deux marchés hispanophones et lisez le texte traduit pour vérification.
# 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. Les onglets Node, PHP et cURL montrent des exemples HTTP simples utilisant les mêmes points de terminaison.
Progression

Comment chaque version localisée communique son avancement

Chaque version régionale est un projet doté de son propre statut documenté, 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, arrêtez-vous 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 disponibles.

En cours, continuez à vérifier

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

Échec, arrêt et rapport

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 assez précis pour être montré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 ignorez complètement le sondage

Indiquez-nous un point de terminaison webhook et chaque changement d'état est envoyé sous forme de POST, permettant à votre file d'attente de réagir instantanément à chaque modification. L'envoi de webhooks fait partie de l'intégration pour les entreprises.
Lire la documentation
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Sortie

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

Chaque version de marché fournit la vidéo traduite ainsi que les sous-titres aux formats 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 pour vos propres montages ou diffusions.
Champ
Format
Ce que c'est
translated_video
MP4
La vidéo traduite, prête à être publiée
voiceover
WAV
Voie traduite seule, pour votre propre mixage
translated_audio
WAV
Discours traduit mixé avec l'audio d'arrière-plan d'origine
translation_srt_path
.srt
Sous-titres dans la langue cible
translation_vtt_path
.vtt
Mêmes sous-titres au format WebVTT, pour les lecteurs web
original_video
MP4
Votre fichier source tel qu'il a été stocké, à titre de référence
Contrôle

Gardez des termes de marque et un vocabulaire cohérents 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 refont le doublage que pour ces segments. Les glossaires mémorisent leurs choix pour la vidéo suivante et garantissent la cohérence de la marque sur tous les marchés.

Édition au niveau des segments

Édition au niveau des segments
Chaque projet présente sa transcription sous forme de segments avec le texte source et traduit, si bien qu'une correction de réviseur correspond à une simple requête de mise à jour.
Récupérer la transcription et ses segments
Modifier le texte source pour lancer une nouvelle traduction
Modifier directement le texte traduit pour conserver vos propres formulations
Ajuster les repères temporels, ajouter ou supprimer des segments
Réassigner 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 techniques soient traduits de la même façon dans toutes les versions localisées, ou conservent intentionnellement leur langue d'origine.

Un glossaire couvre une paire de langues et s'applique à toutes les variantes régionales de cette langue cible. Ainsi, un seul glossaire en espagnol sert es-mx et es-es de la même manière. L'historique du projet glossary_version, de sorte que les modifications ultérieures ne modifient jamais discrètement le travail déjà terminé.
Entrée

Formats de fichiers pris en charge

Importez l'un des sept formats vidéo et quatre formats audio pris en charge, ou envoyez une URL. Le contenu audio seul, comme les podcasts, peut aussi être localisé ; la synchronisation labiale s'applique aux séquences avec un visage à 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'endpoint média renvoie 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 à l'avance le coût de chaque version pour chaque marché, 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
GDPR
Membre 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 d'IA fermé
Jamais utilisé pour entraîner des modèles généraux
Exportation complète, sans dépendance vis-à-vis d'un fournisseur

Accès

SSO et SAML
Contrôle d'accès basé sur les rôles
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 de voix basé sur le consentement
Contrôles de sécurité de l'IA, intervention humaine
Comparaison

L'API Rask face à un flux 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 flux de production. Voici ce même flux, réalisé de deux manières différentes.
Ce dont vous avez besoin
Rask API
Assemblé à partir de pièces
Options de langues régionales
Plus de 135 langues et options régionales
Une prise en charge des paramètres régionaux qui varie selon les prestataires
Les termes de la marque dans chaque version
Des glossaires versionnés par paire de langues
Des scripts de recherche et remplacement que vous entretenez
Des traductions approuvées par vos réviseurs
Importées au format SRT, puis vocalisées
Un alignement manuel sur la vidéo
Voix des intervenants sur tous les marchés
Des clones vocaux instantanés et personnalisés
Un prestataire vocal différent par langue
Musique de fond et effets
Conservés sous la voix localisée
Une étape de séparation des sources à développer par vos soins
Sous-titres au format .srt et .vtt
Inclus
Généré à partir de vos propres données de minutage
Synchronisation labiale pour les vidéos face caméra
En option, facturé par génération de vidéo complète
Un fournisseur distinct
Correction d'une ligne après révision
Refaire le doublage uniquement pour les segments modifiés
Générer à nouveau toute la version
Limites de taux
Aucun
Selon les exigences de votre fournisseur le plus strict
Conception du flux de travail et contrôle qualité humain
Disponible avec notre équipe
Embauchés et gérés séparément
FAQ

API de localisation de vidéos : questions fréquentes

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

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

En quoi la localisation de vidéos est-elle différente de la traduction de vidéos ?

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 langues et régions sont prises en charge ?

Puis-je conserver la voix du locuteur 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 flux de travail de localisation ?

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

Commencez à doubler en un après-midi

Faites votre première demande dès aujourd'hui et contactez-nous si vous avez besoin de tarifs de gros ou d'une langue introuvable ailleurs.