> ## 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.

# Autenticación

> Aprenda a autenticarse con la API de VoiceCheap

# Autenticación

La API de VoiceCheap utiliza claves de API para la autenticación. Todas las solicitudes a la API deben incluir su clave de API en el encabezado `x-api-key`.

## Obtención de su clave de API

<Steps>
  <Step title="Inicie sesión en VoiceCheap">
    Vaya a [app.voicecheap.ai](https://app.voicecheap.ai) e inicie sesión en su cuenta.
  </Step>

  <Step title="Navegue a la página de API">
    Vaya a la página de **API** en [app.voicecheap.ai/page-api](https://app.voicecheap.ai/page-api).
  </Step>

  <Step title="Generar clave de API">
    Haga clic en **Crear nueva clave** y asígnele un nombre. Su clave de API completa se mostrará solo una vez; cópiela y guárdela de forma segura inmediatamente.
  </Step>
</Steps>

<Warning>
  **Importante: Guarde su clave inmediatamente**

  Su clave de API completa se muestra **solo una vez** al crearla. Después de cerrar el modal, solo verá una versión enmascarada (`vc_abc...xyz`). Si pierde su clave, deberá eliminarla y crear una nueva.
</Warning>

## Límites de la clave de API

* Puede crear un **máximo de 5 claves de API** por cuenta
* Cada clave puede tener un nombre para facilitar su identificación (por ejemplo, "Producción", "Desarrollo")
* Las claves se pueden eliminar en cualquier momento desde la página de API

## Uso de su clave de API

Incluya su clave de API en el encabezado `x-api-key` con cada solicitud:

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

## Requisitos

<Warning>
  **Se requiere suscripción de pago**

  El acceso a la API requiere una suscripción de pago activa. Las cuentas gratuitas no pueden utilizar la API. Si intenta utilizar la API sin una suscripción válida, recibirá un error `403 Forbidden`.
</Warning>

## Seguridad de la clave de API

<CardGroup cols={2}>
  <Card title="Manténgala en secreto" icon="lock">
    Nunca exponga su clave de API en código del lado del cliente, repositorios públicos o cualquier ubicación accesible públicamente.
  </Card>

  <Card title="Utilice variables de entorno" icon="shield">
    Almacene su clave de API en variables de entorno o en un gestor de secretos seguro.
  </Card>

  <Card title="Rótela regularmente" icon="rotate">
    Rote periódicamente sus claves de API, especialmente si sospecha que pueden haber sido comprometidas.
  </Card>

  <Card title="Supervise el uso" icon="eye">
    Realice un seguimiento del uso de su API para detectar cualquier acceso no autorizado.
  </Card>
</CardGroup>

## Respuestas de error

Si la autenticación falla, recibirá uno de los siguientes errores:

| Código de estado | Código de error          | Descripción                                                 |
| ---------------- | ------------------------ | ----------------------------------------------------------- |
| 401              | `MISSING_API_KEY`        | No se proporcionó el encabezado `x-api-key`                 |
| 401              | `INVALID_API_KEY_FORMAT` | La clave de API no utiliza el prefijo `vc_` esperado        |
| 401              | `INVALID_API_KEY`        | La clave de API proporcionada no es válida                  |
| 403              | `API_ACCESS_REQUIRED`    | El acceso a la API no está habilitado para esta cuenta      |
| 403              | `SUBSCRIPTION_REQUIRED`  | El acceso a la API requiere una suscripción de pago activa  |
| 403              | `INSUFFICIENT_CREDITS`   | Su cuenta no tiene suficientes créditos para esta operación |

## Ejemplo de respuesta de error

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