Sin KYC — sin ID, sin selfie, sin documentos. Paga con criptomonedas: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Español
Consigue una clave API

Docs · Referencia de la API

Endpoint de chat completions: POST /api/v1/chat/completions

Un solo endpoint responde a todos los modelos. Acepta el mismo body que la API de chat completions de OpenAI y devuelve el mismo objeto, así que una integración existente solo necesita una nueva base URL, una nueva clave y un id de modelo de nuestra lista.

Última actualización: · 7 min de lectura

Respuesta rápida

¿Qué campos acepta el endpoint de chat completions de LLMwithCrypto?

Acepta el body de chat completions de OpenAI: model y messages son obligatorios; max_tokens, temperature, top_p, stop, stream, stream_options, tools, tool_choice y response_format son opcionales. LLMwithCrypto devuelve un objeto chat.completion con un recuento de usage, facturado por token con tus créditos, según la documentación del 23 de octubre de 2026. El tool calling y la salida JSON dependen del modelo.

El endpoint de un vistazo

Método y URLPOST https://llmwithcrypto.com/api/v1/chat/completions
AutenticaciónPasa tu clave API como Bearer token en la cabecera Authorization, igual que hace el SDK de OpenAI
BodyJSON, Content-Type: application/json
RespuestaObjeto chat.completion, o server-sent events con stream: true
FacturaciónPagas por token desde tu saldo: los tokens de entrada y de salida se cuentan con el tokenizador propio del modelo y se cobran al precio de ese modelo por 1M de tokens. Una llamada que termina en error no cuesta nada
FuncionesEl streaming funciona en todos los modelos; el tool calling y la salida JSON dependen de lo que admita cada modelo

Crear una chat completion

POST/api/v1/chat/completions

Envía una conversación a un modelo y devuelve su respuesta con los recuentos de tokens. El ejemplo hace una pregunta corta a DeepSeek V4 Pro con un límite de 200 tokens; los ids, las horas y los recuentos de la respuesta son ilustrativos.

Autenticación: clave API en el header Authorization: Bearer API_KEY.

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
modelstringSíEl id del modelo, como deepseek-v4-pro o gpt-oss-120b. GET /api/v1/models devuelve todos los ids que puede llamar tu clave.
messagesobject[]SíLa conversación, del mensaje más antiguo al más reciente. Cada elemento tiene un role (system, user, assistant o tool) y una cadena content; los mensajes tool también llevan un tool_call_id.
max_tokensintegerNoEl máximo de tokens que puede usar la respuesta. Sin este valor, el modelo puede escribir hasta llenar su ventana de contexto, y pagas por cada token que escribe.
temperaturenumberNo0 a 2. Más bajo es más predecible, más alto es más variado. El valor por defecto depende del modelo.
top_pnumberNo0 a 1, muestreo de núcleo. Cambia temperature o top_p, no ambos.
stopstring or string[]NoHasta 4 secuencias que terminan la respuesta cuando el modelo las escribe. No se incluyen en la respuesta.
streambooleanNotrue envía la respuesta como server-sent events, trozo a trozo. Consulta streaming.
stream_optionsobjectNo{"include_usage": true} añade un último evento con el usage de una llamada en streaming.
toolsobject[]NoFunciones que el modelo puede pedirte que llames, en el formato de OpenAI. Funciona en los modelos que admiten tool calling. Consulta tool calling.
tool_choicestring or objectNoauto (por defecto cuando tools está definido), none, required o {"type": "function", "function": {"name": "…"}}.
response_formatobjectNo{"type": "json_object"} pide un objeto JSON válido, en los modelos que lo admiten. Indica en tu prompt qué debe contener el JSON.
Ejemplo: a short answer from DeepSeek V4 Pro
{
  "model": "deepseek-v4-pro",
  "messages": [
    {
      "role": "system",
      "content": "Answer in two sentences."
    },
    {
      "role": "user",
      "content": "What is a context window?"
    }
  ],
  "max_tokens": 200
}
Ejemplo: a JSON object from gpt-oss-120b, low temperature
{
  "model": "gpt-oss-120b",
  "messages": [
    {
      "role": "user",
      "content": "Return {\"city\": string, \"country\": string} for the Eiffel Tower."
    }
  ],
  "response_format": {
    "type": "json_object"
  },
  "temperature": 0.2,
  "max_tokens": 100
}

Respuesta 200

{
  "id": "chatcmpl-8f2c41d0a7b94e1c",
  "object": "chat.completion",
  "created": 1792742400,
  "model": "deepseek-v4-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A context window is the maximum number of tokens a model can read and write in one request. Anything beyond it must be cut or summarized before the call."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 27,
    "completion_tokens": 34,
    "total_tokens": 61
  }
}

Ejemplos de código

curl
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "messages": [
      {"role": "system", "content": "Answer in two sentences."},
      {"role": "user", "content": "What is a context window?"}
    ],
    "max_tokens": 200
  }'
Python
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Answer in two sentences."},
        {"role": "user", "content": "What is a context window?"},
    ],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")
Node.js
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://llmwithcrypto.com/api/v1',
  apiKey: process.env.LLMWITHCRYPTO_API_KEY,
});

const resp = await client.chat.completions.create({
  model: 'deepseek-v4-pro',
  messages: [
    { role: 'system', content: 'Answer in two sentences.' },
    { role: 'user', content: 'What is a context window?' },
  ],
  max_tokens: 200,
});
console.log(resp.choices[0].message.content);
console.log(resp.usage.prompt_tokens, 'in,', resp.usage.completion_tokens, 'out');

¿Cómo escribo los mensajes?

Envía la conversación completa cada vez, empezando por el mensaje más antiguo: la API no guarda memoria entre llamadas y nada de tus prompts se almacena. No guardamos tus prompts ni las respuestas del modelo: una vez enviada una respuesta, su texto desaparece. Cada llamada deja una línea de log con la hora, la cuenta, el modelo y el recuento de tokens, que se borra a los 30 días.

  • system: instrucciones que enmarcan cada respuesta, como el tono, el idioma o el formato de salida. Pon una al principio.
  • user: lo que pide la persona o tu programa.
  • assistant: las respuestas anteriores del modelo, para que pueda continuar la conversación.
  • tool: el resultado de una función que el modelo te pidió ejecutar, con el tool_call_id que te dio.

Cada mensaje cuenta como tokens de entrada, así que los historiales largos cuestan más en cada turno. Recorta o resume los turnos antiguos cuando una conversación crezca.

¿Cuánto puede medir una solicitud?

La entrada y la salida juntas deben caber en la ventana de contexto del modelo. A 23 de octubre de 2026, DeepSeek V4 Pro lee hasta 1M tokens, gpt-oss-120b hasta 128K y Qwen3 235B hasta 256K; la página de modelos los enumera todos.

Una solicitud que no cabe se devuelve como 400 con el código context_length_exceeded y no cuesta nada. Configura max_tokens para que el prompt más la respuesta más larga que aceptes quede dentro de la ventana.

¿Qué me dice finish_reason?

finish_reasonSignificadoQué hacer
stopEl modelo terminó su respuesta o escribió una de tus secuencias stopNada: la respuesta está completa
lengthLa respuesta alcanzó max_tokens o la ventana de contextoAumenta max_tokens o pide una respuesta más corta
tool_callsEl modelo quiere que ejecutes una o varias funcionesEjecútalas y devuelve los resultados, consulta llamada a funciones

¿Qué parámetros de OpenAI no son compatibles?

Los campos de la tabla anterior son todo el contrato. Otros de la API de OpenAI, como n (varias respuestas por llamada), logprobs, audio o entradas de imagen, no son compatibles: envía solo los campos que se enumeran aquí. Los modelos son de texto; ninguno acepta imágenes a través de este endpoint.

El campo model solo acepta los ids de nuestra lista. No vendemos acceso a GPT, Claude, Gemini ni Grok: sus creadores prohíben revender el acceso a la API sin su aprobación, y nosotros no la tenemos.

Chat completions: preguntas frecuentes

¿Existe un endpoint de completions heredado?

No. Solo existe el formato chat; un único prompt es un array messages con un mensaje user.

¿Cuánto cuesta una llamada?

Pagas por token desde tu saldo: los tokens de entrada y de salida se cuentan con el tokenizador propio del modelo y se cobran al precio de ese modelo por 1M de tokens. Una llamada que termina en error no cuesta nada. Los precios por modelo están en la página de precios.

¿Puedo ver mis solicitudes pasadas?

No, por diseño. No guardamos tus prompts ni las respuestas del modelo: una vez enviada una respuesta, su texto desaparece. Cada llamada deja una línea de log con la hora, la cuenta, el modelo y el recuento de tokens, que se borra a los 30 días.

¿Por qué se detuvo mi respuesta a medias?

finish_reason es entonces length: la respuesta alcanzó max_tokens. Auméntalo, dentro de la ventana de contexto del modelo.

DeepSeek V4 Pro desde $1.254 por 1M de tokens de entrada · sin KYC

Consigue una clave API