Przejdź do głównej treści

Automatyczna transkrypcja dla agentów i skryptów

Automatyczna transkrypcja zamienia nagrane audio na edytowalny tekst. Aplikacja przygotowuje audio z wideo na twoim urządzeniu; agenci mogą przesyłać przygotowane audio przez REST lub MCP.

Automatyczna transkrypcja w Hushscript zamienia istniejące nagranie audio na edytowalną transkrypcję. W aplikacji w przeglądarce możesz też zacząć od lokalnego wideo: Hushscript przygotowuje jego audio na twoim urządzeniu i wysyła tylko to audio do rozpoznawania online. Wynik sprawdzasz i poprawiasz samodzielnie: to nie jest usługa transkrypcji z korektą wykonywaną przez ludzi ani certyfikowana.

Jak działa automatyczna transkrypcja

  1. Przygotuj nagranie. Użyj pliku audio, zaimportuj obsługiwany link do audio albo nagraj swój głos w aplikacji w przeglądarce. W przypadku nagrań wideo wybierz plik lokalny, aby aplikacja mogła przygotować audio na twoim urządzeniu.
  2. Prześlij i poczekaj na transkrypcję. Aplikacja obsługuje przesyłanie i status. Agent może przesłać przygotowane audio w częściach przez REST API albo użyć narzędzi MCP z przypisanymi zakresami, a potem sprawdzać zadanie, aż transkrypcja będzie gotowa.
  3. Sprawdź i wyeksportuj. Edytuj transkrypcję i oznaczenia osób mówiących w aplikacji albo pobierz tekst przez API. Token agenta może też wyeksportować transkrypcję w granicach przyznanych mu zakresów.

Oprogramowanie do automatycznej transkrypcji audio i wideo

Oprogramowanie Hushscript do automatycznej transkrypcji zamienia nagraną mowę na tekst, który możesz przeszukiwać, edytować i eksportować. Opcja nagrywania w aplikacji pozwala też nagrać głos przed transkrypcją. Aby zapisać samo nagranie bez transkrypcji, użyj bezpłatnego dyktafonu.

Automatyczna transkrypcja wideo przebiega w tym samym tekstowym procesie, gdy aplikacja wyodrębni lub skonwertuje audio lokalnie. Przykład przesyłania przez REST poniżej zaczyna się od przygotowanego audio; aby przekazać aplikacji swój lokalny plik wideo, użyj procesu w przeglądarce opisanego na stronie wideo na tekst.

Czy mogę wypróbować automatyczną transkrypcję za darmo?

Tak. Publiczny podgląd transkrybuje do pięciu minut z jednego pliku, obsługiwanego linku do audio albo nagrania w przeglądarce przed zalogowaniem, a lokalne wideo działa, gdy przeglądarka przygotuje jego audio. Pełna transkrypcja wymaga konta: konto osobiste spełniające warunki dostaje 30 bezpłatnych minut po weryfikacji karty (zasady podaje Cennik), a konto maszynowe pomija minuty powitalne i zaczyna od pakietu kupionego przy rejestracji.

Automatyzacja transkrypcji przez API lub MCP

Aplikacja w przeglądarce służy do pracy z nagraniami bezpośrednio. Do automatyzacji transkrypcji REST API i serwer MCP pozwalają agentowi przesyłać przygotowane audio, sprawdzać zadania, pobierać transkrypcje i eksportować wyniki. Agent może otworzyć własne konto w procesie z płatnością na początku, bez osoby będącej właścicielem konta; hostowana strona płatności nadal wymaga przeglądarki, a wystawca karty może wymagać kroku uwierzytelnienia. Osoba może zamiast tego utworzyć token z przypisanymi zakresami z istniejącego konta w aplikacji. Ten opis krok po kroku prowadzi przez konto maszynowe od rejestracji po rotację poświadczeń.

Rejestracja

POST /v1/agent/accounts otwiera rejestrację bez interfejsu (headless). Nie ma jeszcze konta, ciasteczka ani tokenu: jest tylko oczekujący zakup.

curl -X POST https://api.hushscript.com/v1/agent/accounts \
  -H "Content-Type: application/json" \
  -d '{
    "contact_email": "ops@example-agent.dev",
    "pack_id": "300min",
    "accept_terms_version": "2026-10-20",
    "agent": {
      "name": "research-crawler",
      "platform": "langgraph",
      "contact_url": "https://example-agent.dev/bots/research-crawler"
    }
  }'
{
  "signup_id": "hsr1:eu:4c3a1f9e7b2d4e6f8a0c1b2d3e4f5061",
  "claim_secret": "cs_9f3d2a1b7e6c4f5a8b9d0e1f2a3b4c5d",
  "checkout_url": "https://checkout.stripe.com/c/pay/cs_test_a1B2c3D4e5F6",
  "pack": "300min",
  "amount": 599,
  "currency": "usd",
  "expires_at": 1789112400
}

contact_email służy wyłącznie do potwierdzeń i powiadomień, nigdy do logowania. pack_id to jedno z 45min, 300min, 900min, 1800min, 6000min; nigdy nie wysyłaj samodzielnie amount ani currency, oba są wyliczane z pakietu po stronie serwera. Przy rejestracji można kupić tylko dwa najmniejsze pakiety, 45min i 300min. Większy pack_id jest odrzucany, a odmowa zawiera details.allowed_packs z listą tego, co to konto może teraz kupić, więc wywołujący może ponowić próbę bez zgadywania. Reszta drabinki odblokowuje się wiekiem, nie wolumenem: zobacz Co może kupić nowe konto poniżej. accept_terms_version musi dokładnie odpowiadać bieżącej wersji zasad na serwerze, inaczej wywołanie kończy się błędem policy_version_stale, który w treści podaje bieżącą wartość. Opcjonalna wskazówka data_region jest uwzględniana tylko wtedy, gdy zgadza się z regionem, który już wynika z twojej lokalizacji sieciowej. Opcjonalne dry_run: true sprawdza wszystko bez sesji Stripe i bez obciążenia; jego signup_id ma prefiks dry_ i nigdy nie może zostać odebrany.

claim_secret jest pokazywany dokładnie raz, w tej odpowiedzi. Hushscript przechowuje tylko jego skrót. Utrata go przed wywołaniem odbioru oznacza utratę rejestracji: nie ma drogi odzyskania sekretu odbioru. Opłacona, nieodebrana rejestracja trafia do procesu zwrotu opisanego poniżej; nie można jej odzyskać przez wyszukiwanie.

Dokończ płatność we własnej przeglądarce

checkout_url to hostowana strona Stripe Checkout. Rejestracja wymaga w tym kroku przeglądarki, ale nie musi to być przeglądarka człowieka: agent może ją obsłużyć własną automatyzacją (wypełnić pola karty, wysłać, podążyć za przekierowaniem). Hushscript w żadnym przypadku nie widzi danych karty; widzi je Stripe. Czas na dokończenie płatności, a potem odbiór konta, to 30 minut, czyli expires_at powyżej.

Co godzinę uruchamiany jest przegląd opłaconych, nieodebranych rejestracji po upływie 30-minutowego okna odbioru i dodatkowej godziny karencji. Próbuje on wykonać pełny zwrot, ponieważ minuty są księgowane dopiero przy odbiorze. Nieudane próby zwrotu są ponawiane i mogą wymagać ręcznej obsługi; nie ma gwarancji, że zwrot dotrze w określonym czasie.

Odbierz konto

POST /v1/agent/accounts/{signup_id}/claim zamienia opłaconą, nieodebraną rejestrację w prawdziwe konto, jednym wywołaniem.

curl -X POST https://api.hushscript.com/v1/agent/accounts/hsr1:eu:4c3a1f9e7b2d4e6f8a0c1b2d3e4f5061/claim \
  -H "Content-Type: application/json" \
  -d '{"claim_secret": "cs_9f3d2a1b7e6c4f5a8b9d0e1f2a3b4c5d"}'
{
  "user_id": "usr_7d1a2b3c4d5e6f708192a3b4c5d6e7f8",
  "pat": "hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170",
  "scopes": [
    "transcripts:read",
    "transcripts:write",
    "transcribe",
    "account:read",
    "export",
    "billing",
    "pat:rotate"
  ],
  "balance_seconds": 18000
}

Odbiór jest jednorazowy. Tworzy dokładnie jedno konto, ze sztuczną, niemożliwą do rozpoznania tożsamością logowania, przyznaje opłacony pakiet dokładnie raz nawet przy ponowieniu żądania i wystawia dokładnie jeden PAT: wartość pat powyżej, również pokazywaną dokładnie raz.

Ten pierwszy token może transkrybować, czytać i edytować transkrypcje, eksportować, odczytywać saldo konta, kupować minuty i rotować samego siebie. Nie daje zakresów Insights, kontekstu, organizacji ani zapisu ustawień. Serwer MCP oferuje tylko narzędzia objęte zakresami tokenu.

Zły sekret, nieznany signup_id, rejestracja już odebrana, zwrócona lub wygasła: wszystkie kończą się tym samym błędem agent_claim_invalid. Z odpowiedzi nie da się tych przypadków odróżnić, i jest to zamierzone. Dopiero gdy sam sekret przejdzie weryfikację, w grę wchodzi stan płatności: sesja Checkout, która jeszcze się nie rozliczyła, zwraca zamiast tego wrong_state.

balance_seconds powyżej to całe saldo początkowe. Konta agentów nie dostają bonusu powitalnego ani bezpłatnych minut za weryfikację karty, tak jak pierwsze konto osoby; zaczynają wyłącznie od pakietu, który opłaciły. To celowe: konto zostało opłacone, zanim powstało.

Kup więcej minut

Odtąd konto korzysta z endpointów /v1/, które w całości dokumentuje /developers.

curl -X POST https://api.hushscript.com/v1/billing/purchase \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170" \
  -H "Content-Type: application/json" \
  -d '{
    "pack": "300min",
    "quick_payment_method_id": "pm_1PqR2sT3uV4wX5yZ",
    "idempotency_key": "purchase-2026-09-11-01"
  }'
{
  "balance_seconds": 36000
}

Wymaga to zakresu billing, który odpowiedź na odbiór konta już przyznała. Odbiór włącza też rozliczenia na tokenie i koncie; token utworzony przez osobę potrzebuje zakresu billing i włączonych obu przełączników rozliczeń. Wywołania rozliczeń PAT mają ciaśniejszy wspólny limit 60 żądań na minutę na konto dla tras rozliczeń korzystających ze Stripe, sprawdzany przed ich żądaniami do Stripe.

Co może kupić nowe konto

Rozmiar pakietu odblokowuje się wiekiem rozliczonych płatności, a nie tym, ile konto wydaje. Zakup liczy się do następnego poziomu tylko wtedy, gdy od daty jego płatności minęło 7 dni, więc zupełnie nowe konto nie dotrze do dużych pakietów, kupując szybko.

Rozliczone płatności starsze niż 7 dni Pakiety, które można kupić
Jeszcze nic, także świeżo odebrane konto 45min, 300min
Co najmniej o wartości 45 minut dochodzą 900min, 1800min
Co najmniej o wartości 15 godzin dochodzi 6000min

Odrzucony zakup podaje bieżący zestaw w details.allowed_packs, zamiast kończyć się bez wyjaśnienia. Wywołanie rejestracji stosuje pierwszy wiersz tej tabeli, dlatego opis krok po kroku kupuje 300min, a nie nic większego. Niezależnie od drabinki kroczący 24-godzinny limit zużycia ogranicza tempo, w jakim można wydawać saldo, które nie przekroczyło jeszcze okna sporów płatniczych. Zakup przy rejestracji wlicza się do trzech prób zakupu konta w kroczących 24 godzinach; odrzucone próby po rezerwacji też się liczą.

Transkrybuj

Przesyłanie i transkrypcja to ten sam wieloczęściowy proces co na każdym innym koncie. Przykład API przesyła przygotowane audio; nie przesyła pliku źródłowego lokalnego wideo.

curl -X POST https://api.hushscript.com/v1/uploads \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170" \
  -H "Content-Type: application/json" \
  -d '{
    "size_bytes": 48213504,
    "duration_seconds": 1860,
    "title": "weekly-standup-2026-09-11",
    "idempotency_key": "upload-2026-09-11-01"
  }'
{
  "job_id": "job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d",
  "part_urls": [
    { "n": 1, "url": "https://r2.hushscript.com/uploads/job_3a2b1c0d.../part-1?X-Amz-Signature=..." }
  ]
}

Wyślij PUT każdej części pod jej wstępnie podpisany adres URL, a potem wyślij POST na /complete tego samego zadania z n i etag każdej tak wysłanej części. Następnie odpytuj zadanie:

curl https://api.hushscript.com/v1/jobs/job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "id": "job_3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d",
  "state": "done",
  "transcript_id": "trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180"
}
curl https://api.hushscript.com/v1/transcripts/trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180 \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "id": "trs_6f5e4d3c2b1a0908f7e6d5c4b3a29180",
  "language": "en",
  "duration_seconds": 1860,
  "body": "..."
}

Rotacja poświadczeń

Konto maszynowe nie ma hasła ani działającej skrzynki pocztowej, więc nie ma ścieżki „nie pamiętam hasła”, gdy PAT wycieknie albo trzeba go po prostu wymienić. Rotacja jest tą ścieżką.

curl -X POST https://api.hushscript.com/v1/agent/credentials/rotate \
  -H "Authorization: Bearer hsr1:eu:pat.k3n2j1.8f7e6d5c4b3a29180716253443526170"
{
  "pat": "hsr1:eu:pat.p9q8r7.1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d",
  "pat_id": "p9q8r7",
  "scopes": [
    "transcripts:read",
    "transcripts:write",
    "transcribe",
    "account:read",
    "export",
    "billing",
    "pat:rotate"
  ],
  "expires_at": null
}

Wywołanie nie ma treści. Atomowo tworzy następcę i unieważnia token, który uwierzytelnił żądanie, więc stary PAT przestaje działać już przy następnym wywołaniu z jego użyciem. Następca zachowuje zakresy poprzednika, uprawnienie do rozliczeń, nazwę, etykietę klienta i zasady wygasania. Ta trasa dotyka wyłącznie tokenu wywołującego: nie może wyświetlać, tworzyć ani unieważniać żadnych innych poświadczeń konta. To jedyna ścieżka odzyskiwania poświadczeń, jaką ma konto maszynowe, więc rotuj, zanim stary token zostanie wyrzucony, a nie po.

Błędy

Status Kod Slug Znaczenie
401 2000 unauthorized Brak tokenu okaziciela lub jest nieprawidłowy
403 2023 pat_scope_missing Token nie ma zakresu potrzebnego do tego wywołania albo rozliczenia są wyłączone dla konta
403 4021 pat_purchase_requires_app Nie wskazano zapisanej karty lub obciążenie zostało odrzucone; nic nie obciążono
403 4023 pat_purchase_requires_authentication Wystawca karty wymaga weryfikacji, której wywołujący nie może wykonać; sama karta jest w porządku
402 3001 insufficient_balance Za małe saldo, by przyjąć zadanie
429 5000 rate_limited Zbyt wiele żądań; poczekaj na Retry-After

Te błędy dotyczą rejestracji agenta i kontroli zakupów. Limit zakupów dotyczy też zakupów PAT na koncie osoby; zakup w sesji osoby jest z niego wyłączony.

Status Kod Slug Znaczenie
409 4035 agent_signup_pending Rejestracja dla tego contact_email jest nadal otwarta. Poczekaj, aż zostanie odebrana, zwrócona lub wygaśnie, albo użyj innego adresu
401 4036 agent_claim_invalid Zły sekret, nieznana rejestracja, już odebrana, zwrócona lub wygasła. Celowo identyczny
403 4037 agent_pack_locked Poziom tego konta nie pozwala jeszcze na ten pakiet. Zawiera details.allowed_packs; ponów próbę z jednym z nich
429 4038 agent_purchase_capped 3 próby zakupu w ostatnich 24 godzinach, w tym nieudane po rezerwacji i zakup przy rejestracji konta agenta. Liczone na konto we wszystkich poświadczeniach, więc rotacja go nie zeruje. Zawiera details.retry_after_seconds

Gdy sam sekret przejdzie weryfikację, nieopłacona sesja Checkout zwraca wrong_state (4001), a nie agent_claim_invalid. Pełny katalog znajdziesz w dokumencie OpenAPI.

Limity

Wywołania są ograniczone do 1200 na minutę. W przypadku konta agenta ten budżet należy do konta, a nie do pojedynczego tokenu: wszystkie poświadczenia w linii rotacji korzystają z tego samego, więc rotacja PAT nie daje następcy świeżego limitu. Wywołania rozliczeń PAT docierające do Stripe mają wspólny, ciaśniejszy limit 60 na minutę na konto. Obejmuje to konfigurację i zakup, zmiany karty domyślnej i jej usunięcie oraz chybienia pamięci podręcznej listy kart; sprawdzenie następuje przed wywołaniem Stripe. Opisany wyżej 24-godzinny limit zakupów liczy się tak samo, na konto, a nie na poświadczenie.

Dowiedz się więcej

Ta strona opisuje cykl życia konta: otwarcie go, zasilenie i utrzymanie jego poświadczeń. O wszystkim, co konto może potem robić, przeczytasz w REST API, w tym w pełnym dokumencie OpenAPI, albo w serwerze MCP, który daje to samo konto przez narzędzia zamiast surowego HTTP.

Transkrybuj w aplikacji albo daj agentowi własne konto

Konta osobiste spełniające warunki mogą jednorazowo otrzymać 30 bezpłatnych minut po pomyślnej weryfikacji karty lub przy pierwszym zakupie, jeśli minuty nie zostały już przyznane. Konta agentów zaczynają od pakietu minut kupionego przy rejestracji.

Otrzymaj 30 bezpłatnych minut