Inicio rápido

Autenticar, realizar una primera creación y recuperar sus resultados.

Inicio rápido

Este paseo crea un vídeo de explicación mínima. La base de producción URL es:

https://api.kpainter.ai/openapi/v1

1.- Preparar una llave de API

Activar y copiar tu clave de la Página clave de API, luego mantendrá en un entorno variable del lado del servidor. Nunca envíe en código de navegador o logs.

export KPAINTER_API_KEY="<your_api_key>"export KPAINTER_BASE_URL="https://api.kpainter.ai/openapi/v1"

2 - Verificar la cuenta

curl -s "$KPAINTER_BASE_URL/me" \  -H "Authorization: Bearer $KPAINTER_API_KEY"

3.- Leer las capacidades actuales

curl -s "$KPAINTER_BASE_URL/capabilities" \  -H "Authorization: Bearer $KPAINTER_API_KEY"

Seleccione la duración, la voz, el modelo y el estilo de expresión de esta respuesta. No trate valores de ejemplo como configuración permanente.

4 Creación de contenido

curl -s "$KPAINTER_BASE_URL/creations" \  -H "Authorization: Bearer $KPAINTER_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "type": "video",    "prompt": "Explain the customer escalation process to new employees",    "instructions": "Use a concise professional tone and preserve source terminology",    "max_credits": 300,    "video": {      "duration_seconds": 120,      "aspect_ratio": "16:9",      "language": "en"    }  }'

5 El progreso del Poll

Creación y edición son sin síntesis. Mantenga el ID de creación devuelto y encuentre el mismo resultado.

import time while True:    response = requests.get(        f"{BASE_URL}/creations/{creation_id}",        headers=HEADERS,        timeout=30,    )    response.raise_for_status()    creation = response.json()     print(        creation["status"],        creation["progress_pct"],        creation.get("estimated_remaining_seconds"),        creation.get("estimated_credits"),    )     if creation["status"] in {"ready", "failed", "paused"}:        break     time.sleep(5)

6. Leer los resultados

Leer los resultados sólo cuando el estado está listo o ha_usable_delivery es verdadero:

outputs = requests.get(    f"{BASE_URL}/creations/{creation_id}/outputs",    headers=HEADERS,    timeout=30,)outputs.raise_for_status()print(outputs.json()["outputs"])

El tratamiento devolvió las URL como autoritativas. No construya caminos de almacenamiento.

Añadir archivos de fuente

Cargar cada fuente con POST /files, luego incluir su archivo_id en input_file_ids. Todos los tres productos aceptan archivos cargados. Ver Crear y recuperar por un ejemplo.