> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Guía de inicio rápido de Voz a Texto

Esta guía te mostrará cómo convertir audio hablado en texto con la API de Voz a Texto.

> **Tip**
>
> Usa la [skill de voz a texto de ElevenLabs](https://github.com/elevenlabs/skills/tree/main/speech-to-text) para transcribir audio desde tu asistente de programación con IA:
>
> ```bash
> npx skills add elevenlabs/skills --skill speech-to-text
> ```

> **Info**
>
> Este tutorial mostrará cómo usar la API de Voz a Texto por Lotes. Para ver una guía sobre cómo usar
> la API de Voz a Texto en Tiempo Real, consulta las guías de [streaming del lado del cliente](/docs/es/eleven-api/guides/how-to/speech-to-text/realtime/client-side-streaming) o
> [streaming del lado del servidor](/docs/es/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming).

## Uso de la API de Voz a Texto

#### Crea una clave de API

[Crea una clave de API en el panel aquí](https://elevenlabs.io/app/settings/api-keys), que usarás para [acceder a la API](/docs/es/api-reference/authentication) de forma segura.

Guarda la clave como un secreto gestionado y pásala a los SDK como variable de entorno mediante un archivo `.env` o directamente en la configuración de tu aplicación, según prefieras.

**`.env`**

```js title=".env"
ELEVENLABS_API_KEY=<your_api_key_here>
```

#### Instala el SDK

#### SDK

También usaremos la biblioteca `dotenv` para cargar nuestra clave de API desde una variable de entorno.

```python
pip install elevenlabs
pip install python-dotenv
```

```typescript
npm install @elevenlabs/elevenlabs-js
npm install dotenv
```

#### CLI

Instala la CLI de ElevenLabs. Recomendamos Homebrew (macOS) y Scoop (Windows).

**`Homebrew (macOS)`**

```bash title="Homebrew (macOS)"
brew install elevenlabs/tap/elevenlabs
```

**`Scoop (Windows)`**

```powershell title="Scoop (Windows)"
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs
```

**`npm`**

```bash title="npm"
npm install -g @elevenlabs/cli
```

**`curl`**

```bash title="curl"
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh
```

> **Tip**
>
> ¿Trabajas con un asistente de programación con IA? Ejecuta `elevenlabs generate-skills` en tu proyecto para crear un
> `SKILL.md` para cada grupo de comandos en `skills/`, para que tu asistente conozca todas las funciones de la CLI
> sin que tengas que pegar la documentación. Usa `--output-dir` para guardarlos en otro lugar. Esto lee la definición de la API
> integrada en la propia CLI, por lo que no necesita una clave de API y funciona sin conexión; además, se mantiene al día con
> la versión de la CLI que tengas instalada.

Después, autentícate; se abrirá el navegador para autorizar la CLI:

```bash
elevenlabs auth login
```

#### Haz la solicitud a la API

#### SDK

Crea un archivo llamado `example.py` o `example.mts`, según el lenguaje que elijas, y añade el siguiente código:

```python maxLines=0
# example.py
import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio_url = (
    "https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)

transcription = elevenlabs.speech_to_text.convert(
    file=audio_data,
    model_id="scribe_v2", # Model to use
    tag_audio_events=True, # Tag audio events like laughter, applause, etc.
    language_code="eng", # Language of the audio file. If set to None, the model will detect the language automatically.
    diarize=True, # Whether to annotate who is speaking
)

print(transcription)
```

```typescript maxLines=0
// example.mts
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

const response = await fetch(
  "https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
);
const audioBlob = new Blob([await response.arrayBuffer()], { type: "audio/mp3" });

const transcription = await elevenlabs.speechToText.convert({
  file: audioBlob,
  modelId: "scribe_v2", // Model to use
  tagAudioEvents: true, // Tag audio events like laughter, applause, etc.
  languageCode: "eng", // Language of the audio file. If set to null, the model will detect the language automatically.
  diarize: true, // Whether to annotate who is speaking
});

console.log(transcription);
```

Después, ejecútalo:

```python
python example.py
```

```typescript
npx tsx example.mts
```

Verás la transcripción del archivo de audio en la consola.

> **Note**
>
> Para audio médico y clínico, establece `model_id` en `scribe_v2_medical`. La estructura de la solicitud
> es la misma que para `scribe_v2` y se factura a la misma tarifa. Consulta [Scribe v2 Medical](/docs/es/overview/models#scribe-v2-medical).

#### CLI

Descarga el audio de ejemplo y después transcríbelo:

```bash
curl -O https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3

elevenlabs speech-to-text convert \
  --file nicole.mp3 \
  --model-id scribe_v2 \
  --tag-audio-events true \
  --language-code eng \
  --diarize true
```

La transcripción se muestra en tu terminal.

Para audio médico y clínico, usa `--model-id scribe_v2_medical`.

## Próximos pasos

#### [Transcripción por lotes](/docs/es/eleven-api/guides/how-to/speech-to-text/batch)

Transcribe archivos de audio pregrabados con diarización de hablantes y etiquetado de eventos

#### [Transcripción en tiempo real](/docs/es/eleven-api/guides/how-to/speech-to-text/realtime)

Transmite audio y recibe transcripciones en tiempo real

#### [Referencia de la API](/docs/es/api-reference/speech-to-text/convert)

Explora todos los parámetros y formatos de respuesta de Voz a Texto