OneProvider

n8n

Llama a OneProvider desde n8n con un nodo HTTP Request y una credencial de Anthropic. No hace falta un nodo de la comunidad. Pasos y notas sobre streaming.

Llama a OneProvider desde n8n con un nodo HTTP Request estándar. No hace falta ningún nodo de comunidad: la API Messages de Anthropic funciona tal cual.

Todos los modelos, capacidades y precios Índice de la documentación para agentes de IA: https://oneprovider.dev/docs/llms.txt Antes de empezar: una clave de tu panel Abre tu panel: el bot de Telegram @oneprovider_robot (Panel) o app.oneprovider.dev . Pulsa “Emitir una clave”, ponle un nombre (por ejemplo, este cliente) y un límite de gasto, y copia la clave. El saldo se recarga en el mismo lugar. Más sobre el panel y las claves .

1. Crea una credencial

En n8n, Credentials → New → Header Auth (Credenciales → Nueva → Header Auth). Define:

  • Name: x-api-key
  • Value (valor): tu clave de OneProvider (sk-...)

2. HTTP Request node

Arrastra un nodo HTTP Request a tu flujo de trabajo y configúralo:

text
Method: POST
URL: https://api.oneprovider.dev/v1/messages
Authentication: Header Auth → (the credential above)
Headers:
anthropic-version: 2023-06-01
content-type: application/json
Body (JSON):
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "{{$json.prompt}}" }
]
}

La expresión {{$json.prompt}} toma el texto del nodo anterior; cámbiala por cualquier expresión de n8n que devuelva una cadena de texto.

Streaming

Añade "stream": true al cuerpo y cambia Response → Response Format del nodo a String. n8n recibirá el flujo de bytes SSE; analiza las líneas data: en un nodo Function posterior.

Usar resultados de herramientas Para los flujos de llamada a herramientas de Anthropic, sigue Uso de herramientas : pasa tools en el cuerpo, revisa el arreglo content de la respuesta en busca de bloques tool_use, procésalos en n8n y envía tool_result de vuelta en un segundo nodo.

Qué modelo elegir

Pon el ID del modelo en el cuerpo JSON. claude-sonnet-5-5 es la opción por defecto para la mayoría de los flujos: precio y calidad equilibrados para resúmenes, clasificación y borradores. Usa claude-haiku-5-5 para pasos simples y de gran volumen, como etiquetar o enrutar, y claude-opus-5-5 para pasos que requieren razonamiento profundo. Define siempre max_tokens: la API Messages lo exige. Los ID están en la página de modelos y las tarifas en la página de precios ; un límite de gasto en la clave protege un flujo que entra en bucle.

Errores frecuentes y soluciones

401 authentication_error

La credencial Header Auth debe tener exactamente el nombre x-api-key y la clave completa como valor. Comprueba que el nodo use realmente esta credencial.

404 en el nodo HTTP Request

La URL debe ser https://api.oneprovider.dev/v1/messages. Tanto un /v1 ausente como uno duplicado devuelven 404.

400 invalid_request_error

Revisa el cuerpo JSON: model, max_tokens y un arreglo messages no vacío son obligatorios, y la expresión {{$json.prompt}} debe producir una cadena de texto, no un objeto.

429 “Insufficient balance” y el nodo sigue reintentando

Apaga Settings → Retry On Fail (Ajustes → Reintentar si falla) en este nodo o limita los intentos: la respuesta lleva x-should-retry: false y los reintentos solo hacen perder tiempo. Recarga el saldo del panel en su lugar.

El nodo agota el tiempo con una respuesta larga

Sube Options → Timeout (Opciones → Tiempo de espera) en el nodo, o usa "stream": true. Una solicitud sin streaming debe empezar a responder en un máximo de 6 minutos.

No encuentro el texto de la respuesta

Con la API Messages el texto está en {{$json.content[0].text}}. Con /v1/chat/completions está en {{$json.choices[0].message.content}}.

Preguntas frecuentes

¿Necesito un nodo de comunidad?

No. El nodo HTTP Request estándar basta.

¿Puedo usar los nodos de OpenAI integrados de n8n?

Normalmente sí: crea una credencial de OpenAI, pon su Base URL en https://api.oneprovider.dev/v1 y elige a mano un ID de modelo del catálogo.

¿Cómo evito que un flujo gaste demasiado?

Emite una clave aparte para n8n con un límite de gasto y úsala solo ahí.

¿Puedo llamar también a modelos GPT?

Sí, mediante https://api.oneprovider.dev/v1/chat/completions con la misma clave y un cuerpo de estilo OpenAI; consulta Chat Completions .

Respuestas rápidas

¿Qué base URL uso?

Claude Code y los SDK de Anthropic usan https://api.oneprovider.dev. Los SDK de OpenAI y los clientes compatibles con OpenAI usan https://api.oneprovider.dev/v1. Una misma clave funciona con ambas; la lista de modelos está en la página de modelos y las tarifas, en la página de precios .

¿Cómo me autentico?

Envía la clave sk-… tal cual en x-api-key o en Authorization: Bearer: en uno de los dos, nunca en ambos. Guarda la clave en una variable de entorno, no en un archivo que se suba al repositorio. Más sobre la autenticación .

¿Dónde obtengo una clave?

Abre tu panel en el bot de Telegram @oneprovider_robot o en app.oneprovider.dev, recarga el saldo y pulsa “Emitir una clave”. Cada clave puede tener su propio límite de gasto. Panel y claves de API .

¿Qué significan 401, 404 y 429?

401: falta la clave, está mal escrita o se envió en un encabezado equivocado; pega la clave completa, sin comillas ni espacios. 404: casi siempre es una base URL incorrecta, por ejemplo con /v1 ausente o duplicado. 429 con “Insufficient balance”: se agotó el saldo del panel o el límite de gasto de la clave, así que recarga en lugar de reintentar; cualquier otro 429 es un límite de frecuencia, así que espera según Retry-After. Detalles: códigos de error y solución de problemas .

¿Por qué se cortan o se reinician los streams?

Las VPN y los proxies VLESS suelen almacenar SSE en búfer o romper la negociación de HTTP/2. OneProvider no tiene restricciones regionales y no almacena los streams en búfer: desactiva el proxy y reintenta.

¿Dónde pregunto si esto no basta?

Escribe a @Oneproviderhelpbot en Telegram o abre “Soporte” en el panel web, con el código de estado HTTP y el mensaje de error exacto. Cómo funciona el soporte .

Última actualización: 2026-11-08 ¿Encontraste un error? @Oneproviderhelpbot