Chat completions compatibles con OpenAI respaldados por ByteDance Doubao Seed 2.1 Turbo, la versión económica de la familia Seed 2.1, con aproximadamente la mitad del precio unitario de Pro. El razonamiento está activado por defecto; se devuelve en message.reasoning_content y sus tokens se facturan a la tarifa de salida dentro de usage.completion_tokens. Con reasoning_effort: "minimal" suele saltarse el razonamiento, aunque con menos fiabilidad que Pro (8 de 12 llamadas en nuestras pruebas; el parámetro thinking no tiene efecto). max_tokens no limita la salida; la facturación sigue el usage. Un prefijo largo repetido puede acertar en la caché automáticamente, y esa parte se liquida a la tarifa de caché. Admite llamadas a herramientas, salida JSON, streaming y entrada de imágenes (base64 o enlaces públicos); usa stream=true para respuestas largas. Indica model=doubao-seed-2-1-turbo; solo se sirve en /v1/chat/completions.
Probar en el Playground →Autenticación
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Crea una clave API en la consola para empezar.
Cuerpo de la petición
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| model | string | Sí | ID del modelo; aquí doubao-seed-2-1-turbo. |
| messages | array | Sí | Array de mensajes; cada uno tiene role (system/user/assistant) y content. content puede ser una cadena o un array de partes {type:text} y {type:image_url} para comprensión de imágenes (multimodal/visión). |
| stream | boolean | No | Devuelve la respuesta en streaming como SSE. Por defecto false. |
| temperature | number | No | Temperatura de muestreo, 0–2. |
| max_tokens | integer | No | Se acepta, pero no limita la salida (con 60 o 100 seguimos obteniendo de cientos a miles de tokens en nuestras pruebas); la facturación sigue el usage. Para respuestas cortas, pide brevedad en el prompt. |
| web_search | boolean | No | Ponlo en true para activar la búsqueda web: la pasarela amplía el prompt con resultados en tiempo real (citando las fuentes) antes de que el modelo responda. También se puede activar con una entrada {"type":"web_search"} en tools. |
| reasoning_effort | string | No | Esfuerzo de razonamiento. "minimal" suele saltarse el razonamiento, aunque con menos fiabilidad que en Pro (8 de 12 llamadas en nuestras pruebas); si se omite, el modelo piensa primero. El parámetro thinking no tiene efecto en este modelo. |
Ejemplo de petición
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "doubao-seed-2-1-turbo", "messages": [{"role": "user", "content": "Hello"}], "stream": false}'Respuesta
{
"id": "chatcmpl_xxx",
"object": "chat.completion",
"model": "doubao-seed-2-1-turbo",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"reasoning_content": "The user is greeting me, so a short friendly reply fits...",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 42,
"total_tokens": 51,
"completion_tokens_details": {"reasoning_tokens": 31}
}
}Entrada de imagen (visión)
Pon una imagen en el array content del mensaje y el modelo la analizará (preguntas sobre la imagen, lectura de texto / OCR, etc.). image_url acepta un enlace público a la imagen o un data URL en base64 (data:image/png;base64,...). Disponible en los modelos multimodales (gpt-5.5, la serie gemini, etc.).
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "doubao-seed-2-1-turbo", "messages": [{"role": "user", "content": [{"type": "text", "text": "¿Qué hay en esta imagen?"}, {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}]}]}'Códigos de error
Todo cuerpo de error incluye error.message / error.type / error.code / error.param: ramifica según code. La lista completa está en la guía de integración.
| HTTP | code | Descripción |
|---|---|---|
| 401 | invalid_api_key | Falta la clave API o no es válida |
| 402 | insufficient_quota | Saldo insuficiente o clave por encima de su cuota |
| 400 | invalid_request | Modelo o parámetro no soportado |
| 429 | rate_limit_exceeded | Límite de tasa del proveedor |
| 502 | upstream_error | Fallaron todas las rutas de proveedor |