Interfejs API do syntezy mowy służący do nagrywania komentarza głosowego do filmów

Prześlij swój podzielony na fragmenty tekst wraz z nagraniem wideo lub audio i wygeneruj mowę dopasowaną do osi czasu. Wybierz głosy AI z biblioteki głosów lub klon głosu w ponad 135 językach i wariantach regionalnych, a następnie pobierz lektora, wideo i napisy z tego samego projektu.
Od tekstu do głosu lektorskiego
Głosy AI i klony głosu
REST + Python SDK
script in, voiceover out
OAuth 2.0
# 1. send your script as timed segments - one speaker per line
curl -X POST https://api.rask.ai/v2/transcriptions \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"segments": [
    {"speaker": "SPEAKER_00", "start": "00:00:00,500", "end": "00:00:04,800",
     "src": {"text": "Welcome to the new dashboard.", "lang": "en"},
     "dst": {"text": "Bienvenido al nuevo panel.", "lang": "es-mx"}}
  ]}'

# 2. voice the script over your video
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\": \"es-mx\", \"transcript_id\": \"$TRANSCRIPT_ID\"}"
GET /v2/projects/{project_id}
voiceover links
# When status is merging_done, read the voiceover links
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{status, voiceover, translated_audio, translated_video}'
Używane przez zespoły na całym świecie
Możliwości

Wszystko, co API tekst na mowę robi dla wideo

Zamień napisany tekst w lektora dopasowanego do obrazu: odpowiedni głos dla każdego mówcy, czas trwania z Twoich segmentów, dźwięk w tle, napisy i tłumaczenie w jednym projekcie. Dodaj opcjonalną synchronizację warg, rozliczaną osobno.

Twój tekst w formie mówionej

Utwórz transkrypcję z własnych segmentów tekstowych lub pliku SRT, a API wygeneruje mowę dokładnie dla tego tekstu w języku docelowym.

Biblioteka głosów

Każda lokalizacja docelowa posiada gotowe głosy AI określonej płci. Wyświetl ich listę dla projektu za pomocą punktu końcowego głosów i przypisz jeden do każdego mówcy za pomocą identyfikatora głosu.

Głosy niestandardowe i klony głosu

Użyj zapisanego niestandardowego klonu głosu jako spójnego głosu marki lub zachowaj własny głos osoby występującej na ekranie dzięki funkcji szybkiego klonowania głosu w obsługiwanych językach.

Zsynchronizowane z obrazem

Każdy segment ma czas rozpoczęcia i zakończenia, dzięki czemu każda linijka mowy trafia dokładnie tam, gdzie powinna w filmie.

Głosy postaci i dialogi

Przypisz mówcę do każdej linii i głos do każdego mówcy, aby dialog lub obsada postaci pozostały wyraźne i spójne.

Ponad 135 języków i opcji regionalnych

Napisz tekst w jednym języku i wygeneruj mowę w innym: Rask przetłumaczy go, a głosy AI są dostępne dla każdej lokalizacji docelowej.

Ścieżka dźwiękowa zawierająca sam głos

W wybranych planach pobierz mowę jako ścieżkę WAV bez tła, gotową do własnej edycji, lub pełny miks i ukończone wideo.

Edytuj linijkę, wygeneruj ponownie

Zmień tekst jednego segmentu lub głos jednego mówcy i wygeneruj ponownie. Nikogo nie trzeba nagrywać na nowo, a opłata pobierana jest tylko za zmienione segmenty.

Skaluj bez ograniczeń

Brak limitów zapytań, brak limitu współbieżności, brak ograniczeń klucza. Twórz ścieżki dźwiękowe do długich materiałów i pełnych katalogów wideo równolegle.
Zobacz jak to działa

Posłuchaj tego samego filmu w pięciu językach

Ten sam klip z głosem w języku angielskim, francuskim, niemieckim, portugalskim i hiszpańskim, zsynchronizowany z obrazem, z zachowanym oryginalnym dźwiękiem w tle.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Przepływ pracy

Trzy kroki od tekstu do lektora

Utworzenie projektu rozpoczyna generowanie mowy dla Twojego tekstu. Użyj punktu końcowego /generate po zmianie tekstu lub głosów.
1

Prześlij wideo lub dźwięk

Prześlij plik wideo lub nagranie dźwiękowe, do którego należy Twój lektor, za pomocą pliku lub obsługiwanego adresu URL mediów. Jego osie czasu zapewniają odpowiednie czasy dla Twojego tekstu.

POST /api/library/v1/media/link
2

Wyślij swój tekst

Utwórz transkrypcję z segmentów tekstowych z znacznikami czasu i mówcami lub z pliku SRT, a następnie utwórz projekt za pomocą jego transcript_id i języka docelowego.

POST /v2/transcriptions
3

Wybierz głosy i pobierz

Wyświetl listę głosów, przypisz szablon lub klon do każdego mówcy, w razie potrzeby wygeneruj ponownie, a następnie pobierz nagranie lektorskie, pliki wideo i napisy.

GET /v2/projects/{id}/voices
Czas przetwarzania zależy od projektu. Mowa jest generowana dla całego projektu i dostarczana w postaci plików, więc to API sprawdza się w przypadku opublikowanych materiałów wideo, a nie rozmów na żywo.
Stworzone z myślą o Tobie

Potrzebujesz głosu, którego nie ma w bibliotece? Skontaktuj się z naszym zespołem

Głos marki, język spoza katalogu, wyższa przepustowość lub własna metoda dostarczania: gdy integracja nagrań lektorskich wymaga czegoś spoza publicznego katalogu, nasz zespół analizuje Twoje wymagania i dostępne opcje.

Języki i głosy

Potrzebujesz języka lub głosu spoza publicznego katalogu? Porozmawiaj z naszym zespołem o swoich wymaganiach i dostępnych opcjach.

Dostarczanie i integracja

Webhooki, przesyłanie do własnej kolejki, dostarczanie bezpośrednio do S3, niestandardowe endpointy. Powiedz nam, jak Twój system oczekuje danych.

Wolumen i przepustowość

Rozmiary partii, liczba języków docelowych na akcję i priorytet przetwarzania to warunki umowy, a nie sztywne limity produktu.

Bezpieczeństwo i hosting

Kwestie związane z przechowywaniem danych, logowaniem SSO i SAML, zasadami ich zachowania oraz wsparciem przy audycie bezpieczeństwa są omawiane podczas wdrażania planu dla firm.
Przykłady zastosowań

Kto korzysta z interfejsu API zamiany tekstu na mowę w filmach

Platformy zawierające materiały wideo

Platformy LMS i edukacji klientów, platformy dla twórców i wideo, narzędzia do webinarów i wydarzeń wirtualnych, hosting wideo i narzędzia SaaS do przepływu pracy, cyfrowe platformy adaptacyjne, zakupy na żywo. Pozwól użytkownikom wpisywać lub przesyłać tekst i uzyskać lektora dla swoich filmów w wielu językach, bez opuszczania Twojego produktu.

Agencje lokalizacji i produkcyjne

Zatwierdzone przez lektora scenariusze do filmów klientów w głosach AI lub niestandardowym głosie klienta, oraz dostarczenie samej ścieżki wokalnej w formacie WAV do własnego miksu. Zaktualizuj linijkę po przejrzeniu i wygeneruj ponownie tylko ten segment.

Wewnętrzna, ciągła produkcja wideo

Międzynarodowy handel detaliczny i e-commerce, globalne franczyzy, wydawcy mediatyczni, uniwersytety korporacyjne. Twórz nagrania lektorskie do filmów szkoleniowych, produktowych i marketingowych z pisemnego scenariusza oraz aktualizuj tekst, gdy zmienia się produkt.
Historie klientów

Prawdziwe zespoły, wymierne wyniki

Jak firmy lokalizują wideo z Rask, wyrażone w liczbach.
strzałka
strzałka
Kod

Przykłady kodu API zamiany tekstu na mowę

Jedno kompletne przykład w każdym języku: wyślij tekst jako segmenty z przypisanym czasem, utwórz projekt, wybierz głos z biblioteki, wygeneruj ponownie i pobierz lektora.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

async def wait(client, job):
    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)

    script = await client.create_transcription(data=schemas.TranscriptionCreate(segments=[
        schemas.SegmentCreate(speaker="SPEAKER_00", start="00:00:00,500", end="00:00:04,800",
            src=schemas.SegmentTextCreatePatch(text="Welcome to the new dashboard.", lang="en"),
            dst=schemas.SegmentTextCreatePatch(text="Bienvenido al nuevo panel.", lang="es-mx")),
    ]))

    job = await wait(client, await client.create_project(data=schemas.ProjectCreate(
        video_id=VIDEO_ID, dst_lang="es-mx", transcript_id=script.id)))

    # pick a female AI voice preset from the library for SPEAKER_00
    voices = await client.get_project_voices(project_id=job.id)
    preset = next(v for v in voices if v.gender == "female")
    await client.patch_project(project_id=job.id, data=schemas.ProjectPatch(voice={**job.voice, "SPEAKER_00": preset.id}))

    job = await wait(client, await client.generate_project(project_id=job.id))
    print(job.voiceover, job.translated_video)

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}"}

def wait(pid):
    while (p := requests.get(f"{API}/v2/projects/{pid}", headers=h).json())["status"] != "merging_done":
        time.sleep(10)
    return p

script = requests.post(f"{API}/v2/transcriptions", headers=h, json={"segments": [
        {"speaker": "SPEAKER_00", "start": "00:00:00,500", "end": "00:00:04,800",
         "src": {"text": "Welcome to the new dashboard.", "lang": "en"},
         "dst": {"text": "Bienvenido al nuevo panel.", "lang": "es-mx"}},
    ]}).json()

pid = requests.post(f"{API}/v2/projects", headers=h, json={
    "video_id": VIDEO_ID, "dst_lang": "es-mx", "transcript_id": script["id"]}).json()["id"]
project = wait(pid)

voices = requests.get(f"{API}/v2/projects/{pid}/voices", headers=h).json()
preset = next(v for v in voices if v["gender"] == "female")
requests.patch(f"{API}/v2/projects/{pid}", headers=h,
               json={"voice": {**project["voice"], "SPEAKER_00": preset["id"]}})
requests.post(f"{API}/v2/projects/{pid}/generate", headers=h)
print(wait(pid)["voiceover"])
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 wait = async (id) => { let p; while ((p = await call('GET', `/v2/projects/${id}`)).status !== 'merging_done') await sleep(10000); return p; };

const script = await call('POST', '/v2/transcriptions', { segments: [
  { speaker: 'SPEAKER_00', start: '00:00:00,500', end: '00:00:04,800',
    src: { text: 'Welcome to the new dashboard.', lang: 'en' },
    dst: { text: 'Bienvenido al nuevo panel.', lang: 'es-mx' } },
] });

const { id } = await call('POST', '/v2/projects', { video_id: VIDEO_ID, dst_lang: 'es-mx', transcript_id: script.id });
const project = await wait(id);

const voices = await call('GET', `/v2/projects/${id}/voices`);
const preset = voices.find((v) => v.gender === 'female');
await call('PATCH', `/v2/projects/${id}`, { voice: { ...project.voice, SPEAKER_00: preset.id } });
await call('POST', `/v2/projects/${id}/generate`);
console.log((await wait(id)).voiceover);
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. your script as an SRT file in the target language
TRANSCRIPT_ID=$(curl -s -X POST "https://api.rask.ai/v2/transcriptions/srt?dst_lang=es-mx" \
  -H "Authorization: Bearer $TOKEN" -F "dst=@script_es-mx.srt" | jq -r .id)

# 3. voice it over the video
ID=$(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\"}" | jq -r .id)

# 4. when status is merging_done, read the voiceover links
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{status, voiceover, translated_video}'
POST /v2/transcriptions/srt
script from an SRT file
<?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']];

$script = $json($http->post('/v2/transcriptions', ['headers' => $h, 'json' => ['segments' => [[
    'speaker' => 'SPEAKER_00', 'start' => '00:00:00,500', 'end' => '00:00:04,800',
    'src' => ['text' => 'Welcome to the new dashboard.', 'lang' => 'en'],
    'dst' => ['text' => 'Bienvenido al nuevo panel.', 'lang' => 'es-mx'],
]]]]));

$p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
    'video_id' => $videoId, 'dst_lang' => 'es-mx', 'transcript_id' => $script['id']]]));

while ($p['status'] !== 'merging_done') {
    sleep(10);
    $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
}
echo $p['voiceover'];
Guzzle 7
plain HTTP
Python to oficjalny pakiet SDK. Zakładki Node, PHP i cURL przedstawiają proste przykłady żądań HTTP dla tych samych punktów końcowych.
Postęp

Jak projekt lektorski informuje o postępach

Generowanie mowy działa jako projekt ze udokumentowanymi statusami, dzięki czemu możesz pokazać realne postępy nawet w przypadku długich materiałów. Musisz podjąć działania tylko w trzech grupach.

Sukces, zatrzymaj się tutaj

merging_done
Nagranie lektorskie jest gotowe. Pobierz projekt jeszcze raz, aby uzyskać linki do pobrania dostępne dla Twojego projektu.

W toku, sprawdzaj dalej

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Oraz pasujące _done statusy. Doskonale pasują one do interfejsu pokazującego postęp krok po kroku.

Błąd, zatrzymanie i raport

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words oraz forbidden_link są wystarczająco jasne, aby pokazać je bezpośrednio Twoim użytkownikom.
Voice options in a project, es-mx
GET /v2/projects/{project_id}/voices
{"label": "Renata",      "gender": "female", "sample_src": "https://..."}   AI voice preset
{"label": "Gerardo",     "gender": "male",   "sample_src": "https://..."}   AI voice preset
{"label": "Maria Lopez", "gender": "auto",   "sample_src": "https://..."}   custom voice clone
{"label": "Voice Clone", "gender": "auto",   "sample_src": null}            instant voice clone

Lub całkowicie pomiń sprawdzanie

Wskaż nam punkt końcowy webhooka, a każda zmiana stanu pojawi się jako żądanie POST, dzięki czemu Twoja kolejka zareaguje na każdą zmianę w momencie jej wystąpienia. Dostarczanie przez webhook jest częścią wdrożenia dla klientów korporacyjnych.
Przeczytaj dokumentację
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Wynik

Dźwięk lektorski, wideo i napisy

Pobierz wideo z nowym głosem lektora i napisami w formacie SRT i VTT. W wybranych planach możesz również pobrać sam dźwięk mowy w formacie WAV lub zmiksowany z oryginalnym dźwiękiem w tle.
Pole
Format
Co to jest
translated_video
MP4
Wideo z wygenerowanym głosem lektora, gotowe do publikacji
voiceover
WAV
Wygenerowana mowa, bez tła, do własnej edycji
translated_audio
WAV
Przetłumaczona mowa zmiksowana z oryginalnym dźwiękiem w tle
translation_srt_path
.srt
Napisy w języku docelowym
translation_vtt_path
.vtt
Te same napisy w formacie WebVTT, do odtwarzaczy webowych
original_video
MP4
Twój plik źródłowy w takim stanie, w jakim został zapisany, do wglądu
Kontrola

Zmień wers lub głos, wygeneruj ponownie tylko ten fragment

Twój scenariusz jest zapisany w postaci segmentów. Edytuj tekst jednej linii lub zmień głos jednego mówcy, wygeneruj ponownie, a opłata zostanie pobrana tylko za zmienione fragmenty, przy minimalnym czasie jednej minuty na operację.

Edycja na poziomie segmentów

Edycja na poziomie segmentów
Każdy projekt udostępnia swój scenariusz jako segmenty z znacznikami czasu, listą osób mówiących i tekstem, dzięki czemu poprawka wymaga tylko jednego żądania modyfikacji.
Pobierz transkrypcję i jej segmenty
Zmień tekst źródłowy, a my przetłumaczymy go ponownie
Edytuj przetłumaczony tekst bezpośrednio, aby zachować własne słownictwo
Dopasowuj znaczniki czasu, dodawaj segmenty i usuwaj je
Zmień głos przypisany do dowolnego mówcy

Słowniczki terminologii

Słowniczki terminologii
Gdy Rask tłumaczy Twój scenariusz na inne języki, słowniczek dba o to, aby nazwy marek i terminy techniczne pozostały takie same w każdej wersji lub celowo pozostały w języku oryginalnym.

Jeden słowniczek obejmuje jedną parę językową i działa we wszystkich odmianach regionalnych tego języka docelowego, więc jeden hiszpański słowniczek obsłuży es-mx oraz es-es podobnie. Projekt rejestruje wersja_słownika, dzięki czemu późniejsze poprawki nigdy nie zmieniają ukończonej pracy w tle.
Dane wejściowe

Obsługiwane formaty plików

Prześlij wideo, do którego należy Twój lektor, w dowolnym obsługiwanym formacie lub podaj adres URL. Scenariusze trafiają do systemu jako segmenty tekstowe przez API lub jako pliki SRT.

Wideo

7 formatów
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Audio

4 formaty
.mp3
.wav
.flac
.m4a

Metadane przed wydaniem środków

Punkt końcowy mediów zwraca czas trwania, rozmiar pliku, kodek wideo, liczbę klatek na sekundę, rozdzielczość, kodek audio, częstotliwość próbkowania i układ kanałów. Zweryfikuj plik i oszacuj koszty z góry, ponieważ usługi lektorskie są rozliczane za minuty wideo, a nie za znaki.
Bezpieczeństwo i zgodność z przepisami

Bezpieczeństwo klasy korporacyjnej dla scenariuszy i głosów

Firma Rask Inc posiada certyfikat SOC 2 Type II, działa zgodnie z RODO (GDPR) i publikuje status zabezpieczeń w czasie rzeczywistym w swoim Centrum Zaufania. Niestandardowe klony głosowe są tworzone za zgodą osoby mówiącej.

Certyfikaty

SOC 2 Type II
RODO
Członek CAI i C2PA

Szyfrowanie

TLS 1.2 w tranzycie
AES-256 w spoczynku
Klucze zarządzane SSE-S3
Rotacja kluczy co najmniej co 12 miesięcy

Twoje treści

Zamknięte środowisko AI
Nigdy nieużywane do trenowania ogólnych modeli
Pełny eksport, bez wiązania się z jedną platformą

Dostęp

SSO i SAML
Kontrola dostępu oparta na rolach
Poświadczenia klienta OAuth 2.0

Dla firm

Opcje lokalizacji danych
Niestandardowe umowy SLA
Dedykowany opiekun klienta

Prawa do głosu

Syntetyczne głosy z prawami do użytkowania
Klonowanie głosu oparte na zgodzie
Zasady bezpieczeństwa AI, człowiek w pętli
Porównanie

API Rask a samodzielnie zbudowany system tworzenia lektora

API tekst-na-mowę przesyłające strumieniowo przekształca tekst w bajty audio do użytku na żywo. Lektor do publikowanego wideo wymaga również odpowiedniego dopasowania czasu, głosu dla każdego mówcy, miksowania, napisów, a często także tłumaczenia. Oto ten sam lektor zestawiony na dwa sposoby.
Czego potrzebujesz
Rask API
Złożone z części
Scenariusz dopasowany czasowo do wideo
Segmenty z czasami rozpoczęcia i zakończenia
Twoja własna logika dopasowywania
Głos dla każdego mówcy lub postaci
Mapa głosów dla każdego projektu
Identyfikatory głosów zarządzane dla każdego żądania
Spójny głos marki
Niestandardowe klony głosów
Osobny dostawca klonowania głosów
Ten sam scenariusz w innych językach
Tłumaczenie w ramach tego samego projektu
API tłumaczeń oraz nowy czas trwania
Muzyka w tle i efekty
Wzmiksowane pod ścieżkę lektora
Własny krok miksowania
Napisy w formatach .srt i .vtt
W zestawie
Generowane na podstawie własnych danych czasowych
Ścieżka dźwiękowa zawierająca wyłącznie głos
Format WAV w wybranych planach
Fragmenty audio łączone samodzielnie
Zmiana jednej linii
Wygeneruj ponownie zmienione fragmenty
Zsyntetyzuj i miksuj plik na nowo
Limity zapytań
Brak
Cokolwiek narzuca Twój dostawca
Agenci głosowi na żywo ze strumieniowaniem
Użyj streamingowego API TTS
Stworzone specjalnie do tego
Najczęściej zadawane pytania

API zamiany tekstu na mowę: często zadawane pytania

Nie możesz znaleźć tego, czego szukasz? Skontaktuj się z działem sprzedaży.

Czy Rask ma API zamiany tekstu na mowę?

Czy mogę tego użyć do obsługi agentów głosowych lub centrów kontaktowych?

Czy API obsługuje strumieniowanie wyjściowego audio?

Jak przesłać mój scenariusz?

Jakie głosy są dostępne?

Czy mogę użyć własnego głosu?

Jakie języki są obsługiwane?

Czy obsługujecie tagi SSML lub niestandardową wymowę?

Czy mogę kontrolować emocje i ekspresję wypowiedzi?

Czy potrzebuję wideo, aby wygenerować mowę?

Czy opłaty są naliczane za jeden znak?

Czy dostępny jest darmowy pakiet lub darmowe punkty?

Jak mogę uzyskać dostęp do API i klucz API?

Rozpocznij dubbingowanie w jedno popołudnie

Wyślij swoje pierwsze zapytanie już dziś i skontaktuj się z nami, gdy potrzebujesz warunków dla dużych wolumenów lub języka, którego nikt inny nie ma.