curl --request POST 'https://api.voicecheap.ai/v1/actions/youtube_transcript_create' \
--header "x-api-key: $VOICECHEAP_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"youtubeUrl":"https://www.youtube.com/watch?v=abcdefghijk","requestId":"13579bdf-2468-4ace-8bdf-0123456789ab"}'
const input = {
youtubeUrl: 'https://www.youtube.com/watch?v=abcdefghijk',
requestId: '13579bdf-2468-4ace-8bdf-0123456789ab',
};
const response = await fetch('https://api.voicecheap.ai/v1/actions/youtube_transcript_create', {
method: 'POST',
headers: {
'x-api-key': process.env.VOICECHEAP_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
});
const body = await response.json();
if (!response.ok) throw new Error(body.code + ': ' + body.message);
console.log(body);
import os
import requests
response = requests.post(
"https://api.voicecheap.ai/v1/actions/youtube_transcript_create",
headers={"x-api-key": os.environ["VOICECHEAP_API_KEY"]},
json={"youtubeUrl": "https://www.youtube.com/watch?v=abcdefghijk", "requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"},
timeout=120,
)
body = response.json()
if not response.ok:
raise RuntimeError(f"{body.get('code')}: {body.get('message')}")
print(body)
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"status": "running",
"pollAction": "action_request_get",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"resultId": "b3caf96f-5f2a-4619-832c-a12c0d57f78b",
"operation": "youtube_transcript_create",
"createdAt": 1792152000000,
"fileName": "voicecheap-youtube_transcript_create-b3caf96f-5f2a-4619-832c-a12c0d57f78b.json",
"byteLength": 461,
"contentType": "application/json; charset=utf-8",
"status": "completed",
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"getAction": "transcription_result_get",
"downloadAction": "transcription_result_download",
"listAction": "transcription_result_list"
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "running",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "completed",
"resultStored": false,
"message": "The action completed. Retrieve its output from the corresponding history or resource action."
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
Transkrypcja
Wykonaj transkrypcję wideo z YouTube
Pobierz lub wygeneruj transkrypcję YouTube z segmentami ze znacznikami czasu, zwykłym tekstem i napisami SRT. Zapisuje historię transkrypcji. Zwraca zwięzłe odwołanie do zapisanego wyniku; użyj jego getAction lub downloadAction, aby pobrać pełny wynik.
POST
/
v1
/
actions
/
youtube_transcript_create
curl --request POST 'https://api.voicecheap.ai/v1/actions/youtube_transcript_create' \
--header "x-api-key: $VOICECHEAP_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"youtubeUrl":"https://www.youtube.com/watch?v=abcdefghijk","requestId":"13579bdf-2468-4ace-8bdf-0123456789ab"}'
const input = {
youtubeUrl: 'https://www.youtube.com/watch?v=abcdefghijk',
requestId: '13579bdf-2468-4ace-8bdf-0123456789ab',
};
const response = await fetch('https://api.voicecheap.ai/v1/actions/youtube_transcript_create', {
method: 'POST',
headers: {
'x-api-key': process.env.VOICECHEAP_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
});
const body = await response.json();
if (!response.ok) throw new Error(body.code + ': ' + body.message);
console.log(body);
import os
import requests
response = requests.post(
"https://api.voicecheap.ai/v1/actions/youtube_transcript_create",
headers={"x-api-key": os.environ["VOICECHEAP_API_KEY"]},
json={"youtubeUrl": "https://www.youtube.com/watch?v=abcdefghijk", "requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"},
timeout=120,
)
body = response.json()
if not response.ok:
raise RuntimeError(f"{body.get('code')}: {body.get('message')}")
print(body)
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"status": "running",
"pollAction": "action_request_get",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"resultId": "b3caf96f-5f2a-4619-832c-a12c0d57f78b",
"operation": "youtube_transcript_create",
"createdAt": 1792152000000,
"fileName": "voicecheap-youtube_transcript_create-b3caf96f-5f2a-4619-832c-a12c0d57f78b.json",
"byteLength": 461,
"contentType": "application/json; charset=utf-8",
"status": "completed",
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"getAction": "transcription_result_get",
"downloadAction": "transcription_result_download",
"listAction": "transcription_result_list"
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "running",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "completed",
"resultStored": false,
"message": "The action completed. Retrieve its output from the corresponding history or resource action."
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
Pobierz lub wygeneruj transkrypcję YouTube z segmentami ze znacznikami czasu, zwykłym tekstem i napisami SRT. Zapisuje historię transkrypcji. Zwraca zwięzłe odwołanie do zapisanego wyniku; użyj jego getAction lub downloadAction, aby pobrać pełny wynik.
Wymagane uprawnienia:
POST https://api.voicecheap.ai/v1/actions/youtube_transcript_create
Uwierzytelnianie i uprawnienia
string
wymagane
Wyślij klucz API VoiceCheap w tym nagłówku. Obsługiwany jest również nagłówek Authorization: Bearer z tym samym kluczem API. Tokeny dostępu OAuth są
akceptowane tylko przez MCP, a nie przez ten endpoint REST.
transcription:write.
Wymagana jest aktywna płatna subskrypcja. Uprawnienia nie zmieniają ról w zespole, własności zasobów, kredytów na multimedia ani limitów planu.
Parametry
string
wymagane
Wartość tekstowa.Maksymalna długość: 2048. Format: “uri”.
string
Opcjonalne na poziomie transportu: jeśli identyfikator zostanie pominięty, serwer doda go przed walidacją. Podaj własny, stały UUID v4, aby bezpiecznie odzyskać wynik po utracie odpowiedzi.Format: “uuid”. Wzorzec:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$.Pełny schemat danych wejściowych
Pełny schemat danych wejściowych
Poniższy JSON Schema zachowuje dokładne nazwy pól, typy zagnieżdżone, wartości domyślne, ograniczenia i akceptowane wartości udostępniane przez mechanizm wykrywania. Dodatkowe reguły zależności między polami znajdują się w uwagach do operacji.
{
"type": "object",
"properties": {
"youtubeUrl": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"requestId": {
"description": "UUID v4 for this action. Reuse the same ID with identical arguments on retries.",
"type": "string",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"required": ["youtubeUrl"],
"additionalProperties": false
}
Idempotencja
Dla każdej operacji zmieniającej dane użyj UUID v4 w requestId lub w nagłówku HTTP Idempotency-Key. Po awarii sieci użyj ponownie tego samego identyfikatora i identycznych argumentów. Jeśli podasz oba, muszą być zgodne. Ponowienie zapisanego żądania nie powtarza operacji ani nie zużywa kolejnego wywołania z miesięcznego limitu. Żądania zakończone błędem lub przerwane nie są automatycznie uruchamiane ponownie. Każda operacja zmieniająca dane może zwrócić HTTP 202, gdy ponowienie napotka to samo żądanie nadal w stanie running, nawet jeśli jej pierwsze wykonanie zwykle jest synchroniczne. Jeśli wykonanie się zakończyło, ale resultStored ma wartość false, ponowienie zwraca HTTP 200 z zapisanym stanem żądania zamiast pierwotnego wyniku. Pobierz wynik za pomocą akcji historii, wyniku lub pobierania właściwej dla danej domeny.Przykłady żądań
Zastąp przykładowe identyfikatory zasobów i klucze multimediów wartościami zwróconymi dla Twojego konta. Przy ponawianiu tej samej operacji zmieniającej dane zachowaj identyfikator żądania.curl --request POST 'https://api.voicecheap.ai/v1/actions/youtube_transcript_create' \
--header "x-api-key: $VOICECHEAP_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"youtubeUrl":"https://www.youtube.com/watch?v=abcdefghijk","requestId":"13579bdf-2468-4ace-8bdf-0123456789ab"}'
const input = {
youtubeUrl: 'https://www.youtube.com/watch?v=abcdefghijk',
requestId: '13579bdf-2468-4ace-8bdf-0123456789ab',
};
const response = await fetch('https://api.voicecheap.ai/v1/actions/youtube_transcript_create', {
method: 'POST',
headers: {
'x-api-key': process.env.VOICECHEAP_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify(input),
});
const body = await response.json();
if (!response.ok) throw new Error(body.code + ': ' + body.message);
console.log(body);
import os
import requests
response = requests.post(
"https://api.voicecheap.ai/v1/actions/youtube_transcript_create",
headers={"x-api-key": os.environ["VOICECHEAP_API_KEY"]},
json={"youtubeUrl": "https://www.youtube.com/watch?v=abcdefghijk", "requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"},
timeout=120,
)
body = response.json()
if not response.ok:
raise RuntimeError(f"{body.get('code')}: {body.get('message')}")
print(body)
Odpowiedź
Ta operacja zwraca HTTP 202 podczas przetwarzania. Zapisz requestId i odpytuj action_request_get, podając ten identyfikator oraz nazwę pierwotnej operacji. Stany odpytywania to running, completed, failed i interrupted. Zakończony wynik może wskazywać osobne zadanie przetwarzania multimediów; kontynuuj za pomocą akcji stanu lub wyniku właściwej dla tej operacji. Referencja do zapisanej transkrypcji YouTube. Pełny JSON zawiera metadane filmu, segmenty ze znacznikami czasu, text, srt, createdAt i opcjonalne language; etykieta źródła może zostać zachowana dla natywnych napisów YouTube.{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"status": "running",
"pollAction": "action_request_get",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"resultId": "b3caf96f-5f2a-4619-832c-a12c0d57f78b",
"operation": "youtube_transcript_create",
"createdAt": 1792152000000,
"fileName": "voicecheap-youtube_transcript_create-b3caf96f-5f2a-4619-832c-a12c0d57f78b.json",
"byteLength": 461,
"contentType": "application/json; charset=utf-8",
"status": "completed",
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"getAction": "transcription_result_get",
"downloadAction": "transcription_result_download",
"listAction": "transcription_result_list"
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "running",
"pollAfterSeconds": 5
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"status": "completed",
"resultStored": false,
"message": "The action completed. Retrieve its output from the corresponding history or resource action."
},
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab"
}
Pola wyniku
| Pole | Opis |
|---|---|
data.resultId | UUID należącego do wywołującego zapisanego wyjścia. Użyj go z getAction lub downloadAction; jest odrębny od requestId i każdego historyId. |
data.operation | Akcja generowania, która utworzyła ten zapisany JSON. |
data.createdAt | Znacznik czasu Unix w milisekundach, kiedy przygotowano zapisany wynik. |
data.fileName | Sugerowana nazwa pliku eksportu JSON. |
data.byteLength | Bajty UTF-8 pełnego zserializowanego wyniku, a nie skróconych metadanych. |
data.contentType | application/json; charset=utf-8. |
data.status | completed po pomyślnym generowaniu. Historia wyników może również udostępniać wpisy odzyskiwania w stanie pending. |
data.requestId | UUID oryginalnego żądania akcji, jeśli został zapisany. |
data.getAction | Akcja pobierania własnego wyniku; includeContent ma domyślnie wartość false i musi mieć wartość true, aby uzyskać pełny ustrukturyzowany wynik. |
data.downloadAction | Uwierzytelniona akcja eksportu zwracająca pełny JSON w postaci ciągu znaków. |
data.listAction | Akcja wyświetlania należących do użytkownika zapisanych wyników dla tej domeny uprawnień. |
Odzyskaj żądanie i sprawdź jego stan
Używaj tego samego identyfikatora także po utracie połączenia. Jeśli resultStored ma wartość false, pobierz wynik za pomocą odpowiedniej akcji historii, wyniku lub pobierania. Nigdy nie uruchamiaj drugiego generowania tylko po to, aby sprawdzić postęp.curl --request POST 'https://api.voicecheap.ai/v1/actions/action_request_get' \
--header "x-api-key: $VOICECHEAP_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"requestId":"13579bdf-2468-4ace-8bdf-0123456789ab","operation":"youtube_transcript_create"}'
HTTP 200
{
"data": {
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"operation": "youtube_transcript_create",
"status": "completed",
"createdAt": 1792144800000,
"updatedAt": 1792144820000,
"resultStored": true,
"result": {
"resultId": "b3caf96f-5f2a-4619-832c-a12c0d57f78b",
"operation": "youtube_transcript_create",
"createdAt": 1792152000000,
"fileName": "voicecheap-youtube_transcript_create-b3caf96f-5f2a-4619-832c-a12c0d57f78b.json",
"byteLength": 461,
"contentType": "application/json; charset=utf-8",
"status": "completed",
"requestId": "13579bdf-2468-4ace-8bdf-0123456789ab",
"getAction": "transcription_result_get",
"downloadAction": "transcription_result_download",
"listAction": "transcription_result_list"
}
}
}
Uwagi do operacji
- Wymaga płatnej subskrypcji i uprawnienia do akcji. Osobisty plan narzędzi użytkownika wykonującego żądanie jest ponownie sprawdzany podczas wykonywania; zapisane narzędzia i referencje przesłanych plików należą do tego użytkownika, również gdy dane uwierzytelniające są powiązane z zespołem.
- Pomyślna akcja zużywa jedno wspólne miesięczne wywołanie API/MCP. Beginner pozwala na 500, Starter na 5,000, a Creator na 25,000 wywołań miesięcznie; Pro, Scale i Enterprise nie mają miesięcznego limitu. Nadal obowiązują limity na minutę: odpowiednio 30, 60, 120, 180, 300 i 600. Limity generowania narzędzi są odrębne.
- Użyj requestId w formacie UUID v4 lub identycznego nagłówka Idempotency-Key i przy ponawianiu zachowuj tę samą akcję, identyfikator i argumenty. Odtworzenie zapisanej odpowiedzi nie zużywa kolejnego miesięcznego wywołania.
- To akcja asynchroniczna. Początkowy wynik transportu to żądanie w stanie running z pollAction; sprawdzaj action_request_get z tą operacją i pierwotnym requestId. Pokazany tutaj wynik ukończonej operacji to zwięzłe odwołanie do zapisanego wyjścia, a nie wygenerowana treść.
- Pełny wynik jest zapisywany w zaszyfrowanym magazynie danych jako własność uwierzytelnionego użytkownika, niezależnie od ograniczonej pamięci podręcznej sprawdzania stanu akcji. Wywołaj zwrócone getAction z resultId i includeContent: true, aby pobrać ustrukturyzowany JSON, lub downloadAction z resultId, aby pobrać tekst JSON. listAction umożliwia odzyskanie wyniku, gdy znane jest tylko oryginalne żądanie.
- Zapisany JSON jest ograniczony do 32 MiB. Metadane nigdy nie ujawniają klucza szyfrowania przechowywanej treści ani niewymagającego uwierzytelnienia adresu URL do pobrania transkrypcji.
- Pomyślne generowanie rozlicza jedno użycie osobistego limitu narzędzia. Nieudane generowanie zwykle zwalnia rezerwację narzędzia. Jeśli zapisanie wyjścia jest niepewne, przed ponownym generowaniem sprawdź to samo żądanie i historię zapisanych wyników; serwer zachowuje rezerwację, aby zapobiec podwójnemu zużyciu limitu.
- Wyższe plany bez miesięcznego limitu integracji nadal podlegają poniższym dziennym limitom narzędzi i limitom multimediów. Te samodzielne akcje korzystają z limitu swojego narzędzia zamiast z minut dubbingu lub znaków TTS.
- Użyj publicznego adresu URL HTTPS YouTube w domenie youtube.com, www.youtube.com, m.youtube.com, music.youtube.com lub youtu.be, bez osadzonych danych uwierzytelniających i bez jawnie podanego portu. Film nie może trwać dłużej niż 2 godziny.
- Dzienny limit na narzędzie: Beginner 5, Starter 15, Creator 30, Pro 60, Scale 100 i Enterprise 100 udanych operacji generowania. Jest współdzielony z odpowiednim narzędziem internetowym i korzysta z okresu resetowania narzędzia na koncie.
- W każdym planie obowiązuje dodatkowy limit 12 prób transkrypcji YouTube dziennie, obejmujący również nieudane próby. Może być niższy od limitu udanych operacji generowania. Ścieżka integracji korzysta ze wspólnego minutowego limitu integracji.
- Zapisany JSON integracji jest przechwytywany przed późniejszym zapisem historii transkrypcji YouTube wykonywanym w miarę możliwości. Dlatego transcriptId nie jest częścią tego utrwalonego pełnego wyniku; w razie potrzeby znajdź historię narzędzia internetowego przez youtube_transcript_history_list.
- Nie jest używane żadne wcześniej przesłane źródło. Pełny wynik zawiera startSeconds/endSeconds segmentów transkrypcji w sekundach, natomiast createdAt jest wyrażone w milisekundach.
Wykorzystanie
Każde pomyślne wywołanie zużywa jedno wywołanie z miesięcznego limitu API/MCP. Obowiązują również kredyty na multimedia oraz limity generowania danej operacji.Błędy
| Status HTTP | Kod | Znaczenie lub sposób rozwiązania |
|---|---|---|
| 400 | CREDENTIAL_IN_QUERY | Dane uwierzytelniające zostały podane w parametrze zapytania access_token lub api_key. Wysyłaj dane uwierzytelniające w nagłówkach. |
| 400 | DURATION_TOO_LONG | Film YouTube przekracza 7,200 sekund. |
| 400 | DURATION_UNKNOWN | Nie udało się ustalić dodatniego czasu trwania filmu YouTube. |
| 400 | IDEMPOTENCY_CONFLICT | Identyfikatory żądania w nagłówku i treści różnią się. |
| 400 | INVALID_REQUEST_ID | requestId lub Idempotency-Key nie jest identyfikatorem UUID v4. |
| 400 | INVALID_YOUTUBE_URL | Adres URL HTTPS YouTube nie wskazuje obsługiwanego filmu. |
| 400 | VALIDATION_ERROR | Argumenty nie spełniają schematu akcji lub podano nieznany argument. |
| 400 | VIDEO_AGE_RESTRICTED | Film z YouTube ma ograniczenie wiekowe. |
| 400 | VIDEO_PRIVATE | Film na YouTube jest prywatny. |
| 400 | VIDEO_REGION_BLOCKED | Wideo YouTube jest zablokowane dla regionu serwera. |
| 400 | VIDEO_UNAVAILABLE | Film z YouTube jest niedostępny. |
| 401 | API_KEY_EXPIRED | Klucz API wygasł. |
| 401 | INVALID_API_KEY | Podaj prawidłowy, niewygasły klucz API. |
| 401 | INVALID_CREDENTIAL | Nagłówek Authorization ma nieprawidłowy format lub jest sprzeczny z x-api-key. |
| 401 | MISSING_CREDENTIAL | Nie podano użytecznych danych uwierzytelniających w nagłówku lub przekroczyły one 4096 znaków. |
| 401 | USER_NOT_FOUND | Konto powiązane z poświadczeniem już nie istnieje. |
| 403 | ACCOUNT_UNAVAILABLE | Konto wykonujące operację lub konto rozliczeniowe jest niedostępne albo jest w trakcie usuwania. |
| 403 | AMBIGUOUS_TEAM_API_KEY | Użytkownik, do którego należą dane uwierzytelniające, należy do więcej niż jednego zespołu, więc kontekst rozliczeniowy jest niejednoznaczny. |
| 403 | INSUFFICIENT_SCOPE | Klucz API lub połączenie MCP nie ma uprawnienia wymaganego do wykonania tej akcji. |
| 403 | INTEGRATION_PLAN_UNSUPPORTED | Nie udało się zweryfikować limitów integracji konta. |
| 403 | PAID_SUBSCRIPTION_REQUIRED | Uwierzytelniony wywołujący nie ma już płatnej subskrypcji w chwili wykonywania tej akcji narzędzia. |
| 403 | SUBSCRIPTION_REQUIRED | Użyj aktywnej płatnej subskrypcji. |
| 403 | TEAM_OWNER_NOT_FOUND | Nie znaleziono konta faktycznego właściciela zespołu. |
| 409 | CONCURRENT_ACTION_LIMIT_REACHED | Na tym koncie działa już 10 akcji integracji. Sprawdzaj stan istniejącego żądania przed rozpoczęciem kolejnego. |
| 409 | IDEMPOTENCY_CONFLICT | Używaj ponownie identyfikatora wyłącznie z tą samą operacją i tymi samymi argumentami. |
| 410 | TOOL_RESULT_ACCOUNT_UNAVAILABLE | Konto wywołującego jest usuwane lub już nie istnieje, więc nie można zapisać trwałego wyniku. |
| 413 | TOOL_RESULT_TOO_LARGE | Pełny wygenerowany JSON przekracza 32 MiB i nie może zostać zapisany jako wynik integracji. |
| 429 | INTEGRATION_MONTHLY_LIMIT_REACHED | Wykorzystane i oczekujące wywołania osiągnęły wspólny miesięczny limit API/MCP. |
| 429 | INTEGRATION_RATE_LIMIT_REACHED | Konto osiągnęło limit integracji na minutę; sprawdź retryAfterSeconds. |
| 429 | YOUTUBE_TRANSCRIPT_TOOL_ATTEMPT_LIMIT_REACHED | Wyczerpano odrębny limit 12 prób transkrypcji YouTube dziennie. |
| 429 | YOUTUBE_TRANSCRIPT_TOOL_DAILY_LIMIT_REACHED | Wyczerpano dzienny limit pomyślnych użyć narzędzia transkrypcji YouTube. |
| 500 | INTERNAL_ERROR | W pierwotnym narzędziu lub podczas zapisywania wyniku wystąpił błąd wewnętrzny. Sprawdź zapisane żądanie i historię wyników przed ponowieniem generowania. |
| 502 | INTERNAL_ERROR | Generowanie lub zapis wyniku nie powiodły się. Sprawdź oryginalne żądanie i historię zapisanych wyników przed rozpoczęciem kolejnego generowania. |
| 503 | ACTION_RESULT_UNAVAILABLE | Akcja została wykonana, ale nie udało się potwierdzić trwałego zapisania wyniku żądania. Sprawdzaj stan tej samej akcji i requestId oraz historię zasobu, zanim rozpoczniesz kolejny zapis. |
| 503 | INTERNAL_ERROR | Wynik generowania lub trwałego zapisu wyniku jest niepewny albo tymczasowo niedostępny; użyj uwierzytelnionego odzyskiwania wyniku przed ponownym generowaniem. |
| 503 | SERVER_RESTARTING | Serwer jest uruchamiany ponownie. Spróbuj ponownie wkrótce i zachowaj ten sam identyfikator żądania dla operacji zmieniającej dane. |
{
"code": "INSUFFICIENT_SCOPE",
"message": "This credential does not permit the requested action.",
"status": 403,
"details": {
"requiredScopes": ["transcription:write"]
}
}
Czy ta strona była pomocna?

