Saltar al contenido principal

Visión general

La API de LemonData es compatible con OpenAI, lo que significa que puedes usar el SDK oficial de OpenAI con solo cambiar la URL base. Para la mayoría de las integraciones, comienza con POST /v1/chat/completions. También admitimos formatos de solicitud nativos de Anthropic y Gemini, además de POST /v1/responses como una ruta opcional avanzada.

URL base

https://api.lemondata.cc

Autenticación

Todos los endpoints de la API requieren autenticación mediante un token Bearer:
Authorization: Bearer sk-your-api-key
Obtén tu clave API en el Panel de control.
Acerca del Playground interactivo: el playground en este sitio de documentación es solo para fines de demostración y no admite ingresar claves API. Para probar la API, por favor utiliza:
  • cURL - Copia los comandos de ejemplo y reemplaza sk-your-api-key con tu clave real
  • Postman - Importa nuestra OpenAPI spec
  • SDK - Usa el SDK de OpenAI/Anthropic con nuestra URL base

Endpoints compatibles

Chat y generación de texto

EndpointMethodDescription
/v1/chat/completionsPOSTChat completions compatibles con OpenAI
/v1/messagesPOSTAPI de mensajes compatible con Anthropic
/v1/responsesPOSTOpenAI Responses API

Embeddings y rerank

EndpointMethodDescription
/v1/embeddingsPOSTCrear embeddings de texto
/v1/rerankPOSTReordenar documentos

Imágenes

EndpointMethodDescription
/v1/images/generationsPOSTGenerar imágenes a partir de texto
/v1/images/editsPOSTEditar imágenes
/v1/images/generations/{id}GETRuta de estado de tarea para respuestas de imagen basadas en tareas
Algunos modelos de imagen pueden devolver resultados inline, otros pueden devolver respuestas basadas en tareas, y algunos pueden comportarse de ambas formas dependiendo de la ruta del proveedor. Si la respuesta de creación incluye poll_url, síguela exactamente.

Audio

EndpointMethodDescription
/v1/audio/speechPOSTTexto a voz (TTS)
/v1/audio/transcriptionsPOSTVoz a texto (STT)

Video

EndpointMethodDescription
/v1/videos/generationsPOSTCrear tarea de generación de video
/v1/tasks/{id}GETObtener estado de tarea asincrónica para trabajos de video
/v1/videos/generations/{id}GETRuta de estado de tarea de video compatible con versiones anteriores
Para clientes nuevos, prefiera /v1/tasks/{id} y siga el poll_url devuelto por las respuestas de creación. Mantenga /v1/videos/generations/{id} solo por compatibilidad con versiones anteriores.

Tareas asincrónicas

EndpointMethodDescription
/v1/tasks/{id}GETEndpoint unificado de estado de tareas asincrónicas. Recomendado cuando se sigue un poll_url devuelto
Este endpoint no está limitado a video, música y 3D. Algunas tareas de imagen también pueden usar /v1/tasks/{id} como la ruta canónica de polling.

Música

EndpointMethodDescription
/v1/music/generationsPOSTCrear tarea de generación de música
/v1/music/generations/{id}GETRuta de estado específica para música
Para clientes nuevos, prefiera primero el poll_url devuelto. Si necesitas un endpoint fijo de estado de tarea, usa /v1/tasks/{id}; mantén /v1/music/generations/{id} para rutas de compatibilidad específicas de música.

Generación 3D

EndpointMethodDescription
/v1/3d/generationsPOSTCrear tarea de generación de modelo 3D
/v1/3d/generations/{id}GETRuta de estado específica para 3D
Para clientes nuevos, prefiera primero el poll_url devuelto. Si necesitas un endpoint fijo de estado de tarea, usa /v1/tasks/{id}; mantén /v1/3d/generations/{id} para rutas de compatibilidad específicas de 3D.

Modelos

EndpointMethodDescription
/v1/modelsGETListar todos los modelos disponibles
/v1/models/{model}GETObtener información de un modelo específico

Gemini (v1beta)

Soporte nativo para el formato de la API Google Gemini:
EndpointMethodDescription
/v1beta/models/{model}:generateContentPOSTGenerar contenido (formato Gemini)
/v1beta/models/{model}:streamGenerateContentPOSTGenerar contenido en streaming (formato Gemini)
Los endpoints de Gemini admiten la autenticación mediante el parámetro de consulta ?key= además del token Bearer estándar.

Formato de respuesta

Todas las respuestas siguen un formato consistente:

Respuesta exitosa

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-4o",
  "choices": [...],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 20,
    "total_tokens": 30
  }
}

Transparencia de enrutamiento

Todas las respuestas incluyen un campo _routing con información del canal:
{
  "id": "chatcmpl-abc123",
  ...,
  "_routing": {
    "channel": {
      "id": "ch_xxx",
      "name": "channel-name",
      "provider": "openai",
      "channelType": "PLATFORM"
    },
    "cached": false,
    "retryCount": 0
  }
}
FieldDescription
channel.idIdentificador del canal utilizado
channel.providerProveedor upstream (openai, anthropic, etc.)
channel.channelTypePLATFORM (LemonData) o PRIVATE (BYOK)
cachedSi la respuesta fue servida desde caché
retryCountNúmero de intentos de reintento (si los hubo)

Respuesta de error

{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}

Límites de tasa

Los límites de tasa son basados en roles y configurables por los administradores. Valores predeterminados:
RoleRequests/min
User60
Partner300
VIP1,000
Contacta con el soporte para límites de tasa personalizados. Los valores exactos pueden variar según la configuración de la cuenta.
Cuando se exceden los límites de tasa, la API devuelve un código de estado 429 con un encabezado Retry-After que indica cuánto tiempo esperar.

Especificación OpenAPI

Especificación OpenAPI

Descarga la especificación completa OpenAPI 3.0