Présentation/OpenAPI/Démarrage rapide

Démarrage rapide

Authenticez-vous, faites une première création et récupérez ses outils.

Démarrage rapide

Ce parcours crée une vidéo d'explication minimale. L’URL de base de production est :

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

1. Préparez une API Clé

Activer et copier votre clé de la Page clé APIIl est ensuite conservé dans un environnement de serveur-side variable. Ne jamais l'envoyer dans le code de navigateur ou les logs.

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

2 – Vérifier le compte

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

3. Lire les capacités actuelles

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

Choisissez la durée, la voix, le modèle et le style d'expression dans cette réponse. Ne traitez pas les valeurs d’exemple comme configuration permanente.

4 – Créer du contenu

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 - Le progrès

La création et l’édition sont synchronisées. Gardez le identifiant de création retourné et recherchez le même résultat.

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 - Lire les résultats

Lire les sorties uniquement lorsque le statut est prêt ou que la livraison a_usable_delivery est vraie :

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

Le traitement a retourné les URL comme autorisant. Ne construisez pas de voies de stockage.

Ajouter des fichiers source

Télécharger chaque source avec POST /fichiers, puis inclure son fichier_id dans input_file_ids. Tous les trois produits acceptent les fichiers téléchargés. Voir Créer et récupérer Pour un exemple.