> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.voicecheap.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Uwierzytelnianie

> Dowiedz się, jak uwierzytelniać się za pomocą API VoiceCheap

# Uwierzytelnianie

API VoiceCheap wykorzystuje klucze API do uwierzytelniania. Wszystkie żądania API muszą zawierać Twój klucz API w nagłówku `x-api-key`.

## Uzyskiwanie klucza API

<Steps>
  <Step title="Zaloguj się do VoiceCheap">
    Przejdź do [app.voicecheap.ai](https://app.voicecheap.ai) i zaloguj się na swoje konto.
  </Step>

  <Step title="Przejdź do strony API">
    Przejdź do strony **API** pod adresem [app.voicecheap.ai/page-api](https://app.voicecheap.ai/page-api).
  </Step>

  <Step title="Wygeneruj klucz API">
    Kliknij **Utwórz nowy klucz** i nadaj mu nazwę. Twój pełny klucz API zostanie wyświetlony tylko raz - skopiuj go i przechowuj w bezpiecznym miejscu.
  </Step>
</Steps>

<Warning>
  **Ważne: Zapisz swój klucz natychmiast**

  Twój pełny klucz API jest wyświetlany **tylko raz** podczas tworzenia. Po zamknięciu okna zobaczysz tylko zamaskowaną wersję (`vc_abc...xyz`). Jeśli zgubisz klucz, musisz go usunąć i utworzyć nowy.
</Warning>

## Limity kluczy API

* Możesz utworzyć **maksymalnie 5 kluczy API** na konto
* Każdy klucz można nazwać w celu łatwej identyfikacji (np. "Produkcja", "Rozwój")
* Klucze można usunąć w dowolnym momencie ze strony API

## Używanie klucza API

Dołącz swój klucz API w nagłówku `x-api-key` do każdego żądania:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.voicecheap.ai/v1/translate \
    -H "x-api-key: vc_your-api-key-here" \
    -F "file=@video.mp4" \
    -F "targetLanguage=spanish"
  ```

  ```typescript TypeScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

  ```javascript JavaScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  files = {'file': open('video.mp4', 'rb')}
  data = {'targetLanguage': 'spanish'}
  headers = {'x-api-key': 'vc_your-api-key-here'}

  response = requests.post(
      'https://api.voicecheap.ai/v1/translate',
      headers=headers,
      files=files,
      data=data
  )
  ```
</CodeGroup>

## Wymagania

<Warning>
  **Wymagana płatna subskrypcja**

  Dostęp do API wymaga aktywnej płatnej subskrypcji. Darmowe konta nie mogą korzystać z API. Jeśli spróbujesz użyć API bez ważnej subskrypcji, otrzymasz błąd `403 Forbidden`.
</Warning>

## Bezpieczeństwo klucza API

<CardGroup cols={2}>
  <Card title="Zachowaj poufność" icon="lock">
    Nigdy nie ujawniaj swojego klucza API w kodzie po stronie klienta, publicznych repozytoriach ani w żadnym publicznie dostępnym miejscu.
  </Card>

  <Card title="Używaj zmiennych środowiskowych" icon="shield">
    Przechowuj swój klucz API w zmiennych środowiskowych lub bezpiecznym menedżerze haseł.
  </Card>

  <Card title="Regularnie zmieniaj klucze" icon="rotate">
    Okresowo zmieniaj swoje klucze API, zwłaszcza jeśli podejrzewasz, że mogły zostać przejęte.
  </Card>

  <Card title="Monitoruj użycie" icon="eye">
    Śledź wykorzystanie API, aby wykryć wszelki nieautoryzowany dostęp.
  </Card>
</CardGroup>

## Odpowiedzi o błędach

Jeśli uwierzytelnianie nie powiedzie się, otrzymasz jeden z następujących błędów:

| Kod statusu | Kod błędu                | Opis                                                                  |
| ----------- | ------------------------ | --------------------------------------------------------------------- |
| 401         | `MISSING_API_KEY`        | Nie podano nagłówka `x-api-key`                                       |
| 401         | `INVALID_API_KEY_FORMAT` | Klucz API nie używa oczekiwanego prefiksu `vc_`                       |
| 401         | `INVALID_API_KEY`        | Podany klucz API jest nieprawidłowy                                   |
| 403         | `API_ACCESS_REQUIRED`    | Dostęp do API nie jest włączony dla tego konta                        |
| 403         | `SUBSCRIPTION_REQUIRED`  | Dostęp do API wymaga aktywnej płatnej subskrypcji                     |
| 403         | `INSUFFICIENT_CREDITS`   | Twoje konto nie posiada wystarczającej liczby kredytów na tę operację |

## Przykład odpowiedzi o błędzie

```json theme={null}
{
  "code": "INVALID_API_KEY",
  "message": "The provided API key is invalid. Please check your API key and try again."
}
```
