Guía de integración de la API de análisis de YlanAI

Método de acceso, modelos disponibles, especificación de solicitudes, reglas de cobro y ejemplos para la API de análisis de YlanAI
Mar 25, 2026

Esta página describe la forma estándar de integrar la API de análisis de YlanAI.

La interfaz actual sigue el protocolo compatible con OpenAI y está orientada a clientes que admiten chat/completions y completions.

La salida de la API sigue los mismos criterios de analisis que el servicio dentro del producto. Se ofrece solo como referencia para aprendizaje, investigacion, intercambio y entretenimiento, no constituye una conclusion garantizada sobre resultados futuros y no sustituye el criterio profesional en asuntos medicos, legales, de cumplimiento o financieros importantes.

1. Información de acceso

URL, método de solicitud y endpoints estándar
ElementoDescripción
URL base recomendadahttps://ylan.ai/api/openai
URL base compatiblehttps://ylan.ai/api/openai/v1
Método por defectoPOST
Lista de modelosGET /models
Detalle de modeloGET /models/{id}
Endpoint de conversaciónPOST /chat/completions
Endpoint heredado completionsPOST /completions

Para clientes que agregan /v1 automáticamente, usa preferentemente https://ylan.ai/api/openai.

Autenticación

Todas las solicitudes deben incluir:

Authorization: Bearer sk-...

La API key pertenece a la cuenta del usuario actual y el consumo se descuenta del saldo de unidades de analisis pagadas de esa cuenta.

Para clientes de terceros que no puedan establecer Authorization, también se aceptan los encabezados de compatibilidad api-key: sk-... y x-api-key: sk-....

Conversación multi-turno

Se admite conversación de varias rondas. El cliente puede mantener el contexto enviando el historial dentro del arreglo messages.

2. Alcance y modelos

Alcance del servicio
AlcanceDescripción
Capacidad expuestaSolo está abierta la API de análisis
Chat generalNo disponible
Escenarios compatiblesAnálisis individual y análisis de pareja
Estándar de salidaAlineado con la experiencia interna del producto
Modelos disponibles

La referencia oficial es el resultado en tiempo real de GET /models. El conjunto disponible puede actualizarse según la evolución de la plataforma.

ModeloDescripción
openai/gpt-5.4Adecuado para análisis de alta exigencia y mejor calidad
openai/gpt-5.3-chatAdecuado para interpretación general y diálogo multi-turno
deepseek/deepseek-v3.2Adecuado para análisis diversos y diálogo multi-turno

3. Especificación de la solicitud

Formato de respuesta
EscenarioFormato de respuesta
stream=trueFlujo SSE compatible con OpenAI con cargas chat.completion.chunk y cierre data: [DONE]
stream=falseRespuesta JSON estándar chat.completion
POST /completionsRespuesta JSON text_completion compatible con OpenAI o flujo SSE
Cabeceras non-stream exitosasx-ylan-charged-credits y x-ylan-remaining-paid-credits
Parámetros de solicitud
ParámetroTipoDescripción
modelstringNombre del modelo devuelto por GET /models
messagesarrayArreglo de mensajes compatible con OpenAI; debe incluir al menos un mensaje user
promptstringEntrada heredada de completions; puede usarse cuando no se envía messages
inputstringCampo de entrada compatible con algunos clientes de terceros cuando no se envía messages
streambooleanSi se usa salida streaming; valor por defecto false
localestringIdioma de salida, como es, zh o en
topicstringTema de análisis, como wealth_pattern o marriage_status
subject_modestringModo de análisis, single o pair
methodstringMétodo de análisis resuelto por la cadena actual
birth_profileobjectEntrada para análisis individual con datos de nacimiento
chart_inputobjectEntrada estructurada para escenarios con carta ya preparada
pair_stateobjectEntrada para análisis de pareja
metadataobjectMetadatos extendidos que pueden complementar topic, locale, birthProfile, pairState y otros campos
Ejemplo streaming individual
curl -N https://ylan.ai/api/openai/chat/completions \
  -H 'Authorization: Bearer sk-your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "openai/gpt-5.4",
    "stream": true,
    "locale": "es",
    "topic": "wealth_pattern",
    "subject_mode": "single",
    "birth_profile": {
      "calendar": "solar",
      "birthDate": "1992-08-15",
      "birthTime": "09:30",
      "gender": "male",
      "location": "Shenzhen"
    },
    "messages": [
      {
        "role": "user",
        "content": "Analiza mi tendencia financiera para este año."
      }
    ]
  }'
Ejemplo streaming de pareja
curl -N https://ylan.ai/api/openai/chat/completions \
  -H 'Authorization: Bearer sk-your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "deepseek/deepseek-v3.2",
    "stream": true,
    "locale": "es",
    "topic": "marriage_status",
    "subject_mode": "pair",
    "pair_state": {
      "subjects": [
        {
          "birthProfile": {
            "calendar": "solar",
            "birthDate": "1992-08-15",
            "birthTime": "09:30",
            "gender": "male",
            "location": "Shenzhen"
          }
        },
        {
          "birthProfile": {
            "calendar": "solar",
            "birthDate": "1995-03-08",
            "birthTime": "22:15",
            "gender": "female",
            "location": "Guangzhou"
          }
        }
      ]
    },
    "messages": [
      {
        "role": "user",
        "content": "Analiza la dirección a largo plazo de esta relación y los puntos clave de compatibilidad."
      }
    ]
  }'

4. Cobro y tratamiento de errores

Reglas de cobro y momento de confirmación
EscenarioRegla
Analisis individual100 unidades de analisis por cada respuesta exitosa
Analisis de pareja200 unidades de analisis por cada respuesta exitosa
need_inputNo genera cobro
Alcance de unidades de analisisSolo se consumen unidades de analisis pagadas; los bonos de registro y las unidades regaladas quedan excluidos
stream=trueEl cobro se confirma cuando llega el primer contenido visible válido
stream=falseEl cobro se confirma cuando la respuesta completa se devuelve correctamente
Timeout, fallo, respuesta vacíaEl cobro no se confirma o se revierte según la regla actual
Códigos de error comunes
Estado HTTPCódigo de errorDescripción
400invalid_messagesLa solicitud no contiene mensajes válidos o falta un mensaje user
400invalid_promptLa solicitud no incluye messages, prompt ni input
400invalid_modelEl modelo solicitado no está dentro de la lista permitida
401invalid_api_keyLa API key es inválida o no fue enviada
402insufficient_paid_creditsLa cuenta no tiene suficientes unidades de analisis pagadas
500request_timeoutLa solicitud agotó el tiempo
500request_failedLa solicitud falló
500internal_errorError interno del servidor
502empty_responseEl modelo no devolvió contenido visible válido
Respuesta need_input

Cuando faltan datos de nacimiento, datos temáticos o información de pareja, la API puede devolver una respuesta de tipo need_input. Este tipo de respuesta solo sirve para completar las condiciones previas del análisis y no genera cobro.