Volver al blog

IA para principiantesGuía

Qué es una clave de API y cómo guardarla de forma segura

Qué es una clave de API de IA, dónde obtener una, por qué debe mantenerse fuera de tu código y de git, cómo hacer una primera llamada y qué hacer si la clave se filtra.

Por CheapTokens TeamPublicado el Actualizado el 6 min de lectura

Portada: una clave de API como contraseña para una cuenta de IA, guardada en una variable de entorno
En esta página
  1. Qué es una clave de API
  2. Dónde obtener una clave
  3. Dónde nunca debe estar una clave
  4. Guarda la clave en una variable de entorno
  5. Haz una primera llamada
  6. Hábitos que mantienen segura una clave
  7. Qué hacer si se filtró una clave
  8. Próximos pasos

Te registraste en una API de IA y lo primero que te pide es una clave. Esta guía explica qué es una clave de API, de dónde viene, cómo mantenerla segura y qué hacer si acaba donde no debería.

Qué es una clave de API#

Una clave de API es una cadena larga de letras y dígitos que indica al servicio quién envía una solicitud. Piénsala como una contraseña para programas: tu script envía la clave con cada solicitud, y el servicio la usa para encontrar tu cuenta y descontar el coste de la solicitud de tu saldo.

De eso se derivan dos cosas:

  • Quien tenga la clave puede gastar tu saldo. El servicio no puede distinguirte de alguien que copió tu clave.
  • La clave no es el modelo ni el saldo. Es solo el pase. El saldo es algo aparte que recargas, y la misma clave funciona con cualquier modelo que tu cuenta pueda usar.

El coste de una solicitud se cuenta en tokens. Si los tokens son nuevos para ti, empieza por ¿Qué es un token en IA?.

Dónde obtener una clave#

Cada servicio de IA emite claves desde su propio panel. Por ejemplo, la API oficial de DeepSeek tiene una página de claves de API en platform.deepseek.com/api_keys, y su documentación lee la clave de la variable de entorno DEEPSEEK_API_KEY (comprobado el 21 de octubre de 2026). El flujo general es el mismo casi en todas partes:

  1. Crea una cuenta.
  2. Abre la página de claves de API en el panel.
  3. Pulsa el botón que crea una nueva clave y dale un nombre, por ejemplo my-first-script.
  4. Copia la clave de inmediato. Muchos servicios solo la muestran una vez.

Con CheapTokens, los pasos desde la cuenta hasta la clave están en Tu primera solicitud de API con CheapTokens. CheapTokens funciona con un saldo prepago en USD: un saldo para todos los modelos. Si una solicitud falla porque el saldo está vacío, consulta Error "Not enough tokens".

Dónde nunca debe estar una clave#

La mayoría de las filtraciones no son hackeos. Son errores de copiar y pegar:

  • una clave escrita directamente en el código (api_key="sk-...") y luego subida a GitHub;
  • una clave en una captura de pantalla, un mensaje de chat o una pregunta en un foro;
  • una clave en código de front-end (una página web o una app móvil): cualquiera puede abrirlo y leerla;
  • un archivo .env que se confirmó en git.

El último es el más común. Aunque borres el archivo en el siguiente commit, la clave permanece en el historial de git, así que una clave que alguna vez se confirmó debe tratarse como filtrada.

Guarda la clave en una variable de entorno#

Una variable de entorno es un valor con nombre que vive en tu sistema, no en tu código. El programa la lee al arrancar, así que el código se puede compartir de forma segura y la clave se queda en tu máquina.

En Linux o macOS, configúrala para la terminal actual:

bash
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"

En Windows PowerShell:

powershell
$env:CHEAPTOKENS_API_KEY = "YOUR_API_KEY"

Esto dura hasta que cierres la terminal. Para conservarla entre sesiones, pon la línea en el perfil de tu shell, o usa un archivo .env para el proyecto y añádelo a .gitignore antes del primer commit:

text
# .gitignore
.env

Luego lee la clave en el código. Nunca la escribas ahí:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],  # read from the environment, not written in the code
)

Si falta la variable, os.environ[...] detiene el programa con un error de inmediato, lo cual es mejor que enviar una solicitud con una clave vacía.

Haz una primera llamada#

CheapTokens habla los formatos OpenAI Chat Completions y Anthropic Messages, así que los SDK estándar funcionan: solo cambias la URL base y la clave. Aquí tienes una prueba completa con MiniMaxAI/MiniMax-M2.7:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Explain what an API key is in two sentences."}],
    max_tokens=200,
)

print(response.choices[0].message.content)

Lo mismo con curl, donde el shell sustituye la variable y la clave nunca aparece en el comando:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMaxAI/MiniMax-M2.7", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'

Una prueba corta como esta es barata. Por ejemplo, una solicitud con 1.000 tokens de entrada y 500 de salida cuesta $0.00013 al precio actual. MiniMax-M2.7 también tiene un contexto de 180K y da respuestas de hasta 8.192 tokens, así que es un modelo cómodo para los primeros experimentos. Si la respuesta se corta a mitad de frase, consulta ¿Por qué se corta a mitad de frase una respuesta de IA?.

Copia el id del modelo de la documentación de CheapTokens y no de otro servicio: los nombres de los modelos difieren entre proveedores.

Hábitos que mantienen segura una clave#

  • Una clave por proyecto. Si una se filtra, solo reemplazas esa y nada más deja de funcionar.
  • Pon nombres a las claves que indiquen dónde se usan (laptop-script, telegram-bot), para que sepas qué actualizar tras un reemplazo.
  • Mantén el saldo bajo mientras aprendes. Con un saldo prepago, el daño de una clave filtrada está limitado por lo que haya en él, pero sigue siendo tu dinero.
  • No pegues claves en chats con personas o asistentes de IA, y recórtalas de los logs y las capturas de pantalla.
  • No pongas la clave en un navegador ni en una app móvil. Llama a la API desde un servidor que controles y deja que la app hable con ese servidor.

Qué hacer si se filtró una clave#

Si subiste una clave a un repositorio público, la enviaste en un mensaje o simplemente no estás seguro, actúa como si ya estuviera en manos de otra persona:

  1. Revoca la clave primero. Abre la página donde la creaste y bórrala o desactívala. Hazlo antes que nada; la limpieza viene después.
  2. Crea una nueva clave con un nombre nuevo.
  3. Reemplázala en todos los lugares donde se usaba: variables de entorno, archivos .env, servidores, apps y herramientas.
  4. Revisa tu saldo y tu uso. Las solicitudes que no hiciste son señal de que se usó la clave antigua.
  5. Limpia el código fuente. Elimina la clave del código y añade .env a .gitignore. Borrar el archivo no elimina la clave del historial de git, por eso el paso 1 importa más que reescribir el historial.

El orden es importante. Una clave revocada es inofensiva aunque permanezca en un commit antiguo.

Próximos pasos#

¿Listo para probarlo? Obtén una clave de CheapTokens, configúrala como CHEAPTOKENS_API_KEY y ejecuta el ejemplo anterior.

Los endpoints, los ids de modelo y los límites de cada modelo están en la documentación de CheapTokens.