Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt

Use this file to discover all available pages before exploring further.

Integración Rápida

Esta guía te ayuda a completar tu primera solicitud de EvoLink en pocos minutos. Las cargas multimodales usan tareas asíncronas; los modelos de texto usan una API de mensajes síncrona para chat y herramientas de programación.

Generación de imágenes

Crea una tarea de generación de imagen con GPT Image 2 y consulta el resultado mediante la API de tareas.

Generación de video

Crea tareas de texto a video, imagen a video y referencia a video con Seedance 2.0.

Generación de texto

Usa la API Claude Messages para recibir respuestas de texto síncronas.

Requisitos previos

1

Crear una API Key

Abre el panel de EvoLink, crea una API Key y guárdala de forma segura.
2

Elegir una Base URL

Usa https://api.evolink.ai para tareas de imagen, video, audio y otras tareas multimodales. Usa https://direct.evolink.ai para modelos de texto.
3

Enviar una solicitud

Las APIs multimodales devuelven primero un ID de tarea. Las APIs de texto devuelven directamente la respuesta del modelo.
Las API Keys pueden invocar recursos de tu cuenta. Guárdalas solo en el servidor o en variables de entorno seguras. No pongas claves en código frontend, repositorios públicos ni paquetes cliente.

Flujo de solicitud

Las tareas multimodales siguen el mismo flujo:

1. Enviar tarea

Llama a un endpoint de imagen, video o audio y recibe el ID de tarea en el campo id de la respuesta.

2. Consultar estado

Usa GET /v1/tasks/{task_id} para consultar pending, processing, completed o failed.

3. Obtener resultados

Cuando la tarea se complete, lee la URL del archivo generado desde el campo results.
Las URLs de imágenes y videos generados suelen expirar. En producción, descarga y guarda los resultados completados en tu propio almacenamiento lo antes posible.

Generación de imágenes

Crea una tarea de generación de imagen con GPT Image 2:
curl -X POST https://api.evolink.ai/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Un plano gran angular cinematográfico de una ciudad futurista al atardecer",
    "size": "16:9",
    "resolution": "4K",
    "quality": "high",
    "n": 1
  }'
La respuesta devuelve un objeto de tarea:
{
  "id": "task-unified-1757156493-imcg5zqt",
  "object": "image.generation.task",
  "model": "gpt-image-2",
  "status": "pending",
  "progress": 0,
  "task_info": {
    "can_cancel": true,
    "estimated_time": 100
  }
}
Consulta el estado de la tarea:
curl https://api.evolink.ai/v1/tasks/task-unified-1757156493-imcg5zqt \
  -H "Authorization: Bearer YOUR_API_KEY"
Cuando la tarea se completa, los resultados aparecen en el arreglo results:
{
  "id": "task-unified-1757156493-imcg5zqt",
  "object": "image.generation.task",
  "model": "gpt-image-2",
  "status": "completed",
  "progress": 100,
  "results": [
    "https://example.com/generated-image.png"
  ]
}

Generación de video

Crea una tarea de texto a video con Seedance 2.0:
curl -X POST https://api.evolink.ai/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-text-to-video",
    "prompt": "Un plano macro enfoca una rana de cristal verde sobre una hoja y luego cambia a su abdomen transparente, donde un corazón rojo late de forma rítmica.",
    "duration": 8,
    "quality": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }'
Las tareas de video se consultan con la misma API de tareas:
curl https://api.evolink.ai/v1/tasks/YOUR_VIDEO_TASK_ID \
  -H "Authorization: Bearer YOUR_API_KEY"
Para imagen a video o generación de video con múltiples referencias, empieza desde la guía completa de parámetros de Seedance 2.0.

Generación de texto

Los modelos de texto Claude deben usar https://direct.evolink.ai con el endpoint /v1/messages:
curl -X POST https://direct.evolink.ai/v1/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5-20250929",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": "Presenta EvoLink en tres frases"
      }
    ]
  }'
La API de texto devuelve un objeto de mensaje de forma síncrona:
{
  "id": "msg_xxx",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-5-20250929",
  "content": [
    {
      "type": "text",
      "text": "EvoLink proporciona una pasarela unificada de servicios de IA..."
    }
  ],
  "stop_reason": "end_turn"
}

Ejemplo en Python

Este ejemplo envía una tarea de imagen, consulta el estado y lee el resultado final:
import os
import time
import requests

API_KEY = os.environ["EVOLINK_API_KEY"]
BASE_URL = "https://api.evolink.ai"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


def create_image_task(prompt: str) -> str:
    response = requests.post(
        f"{BASE_URL}/v1/images/generations",
        headers=headers,
        json={
            "model": "gpt-image-2",
            "prompt": prompt,
            "size": "1:1",
            "quality": "high",
        },
        timeout=30,
    )
    response.raise_for_status()
    return response.json()["id"]


def wait_for_task(task_id: str, timeout_seconds: int = 300):
    started_at = time.time()

    while time.time() - started_at < timeout_seconds:
        response = requests.get(
            f"{BASE_URL}/v1/tasks/{task_id}",
            headers={"Authorization": f"Bearer {API_KEY}"},
            timeout=30,
        )
        response.raise_for_status()
        task = response.json()

        if task["status"] == "completed":
            return task["results"]
        if task["status"] == "failed":
            raise RuntimeError(task.get("error", "Task failed"))

        time.sleep(5)

    raise TimeoutError("Task timed out")


task_id = create_image_task("Un póster de producto limpio, fondo blanco, iluminación suave de estudio")
results = wait_for_task(task_id)
print(results[0])

Límites de frecuencia de solicitudes

Los límites de frecuencia de solicitudes de EvoLink se configuran por modelo. Los límites de RPM, concurrencia y envío de tareas pueden variar según el modelo. Los límites reales dependen del tipo de modelo, la capacidad del servicio ascendente, el nivel de la cuenta y la disponibilidad en tiempo real. Los modelos de texto ligeros suelen admitir tasas de solicitud más altas, mientras que los modelos de generación de imágenes y videos pueden tener límites más bajos porque las tareas tardan más y consumen más recursos ascendentes. Para modelos de generación asíncrona, una respuesta exitosa de la API solo significa que la tarea fue aceptada o creada; no significa que la tarea haya terminado. Para cargas de alta concurrencia, implementa una cola del lado del servidor y recupera los resultados finales mediante la API de consulta de tareas o callbacks. Si recibes errores HTTP 429 de forma continua, o tu negocio necesita límites más altos de RPM o concurrencia, contacta a [email protected]. Evaluaremos la solicitud según el caso de uso real y la capacidad ascendente disponible.

Recomendaciones de producción

Gestión de claves

Guarda las API Keys en variables de entorno o en un gestor de secretos, y usa claves separadas para cada entorno.

Consulta de tareas

Ajusta los intervalos de consulta según el tipo de tarea. Las tareas de imagen pueden consultarse con mayor frecuencia; las de video normalmente deben consultarse con menor frecuencia.

Manejo de errores

Maneja estados failed y errores HTTP, incluidos límites de frecuencia, saldo insuficiente y errores de parámetros.

Almacenamiento de resultados

Las URLs de resultados expiran. En producción, descarga y guarda los archivos completados en tu propio sistema de almacenamiento.

Siguientes pasos

API de imagen

Consulta parámetros, ejemplos y estructura de respuesta de GPT Image 2.

API de video

Consulta las capacidades de texto a video, imagen a video y referencia a video de Seedance 2.0.

Gestión de tareas

Consulta estados de tareas, campos de resultados y estructura de errores.