Panoramica/OpenAPI/Avvio rapido

Avvio rapido

Autenticarsi, effettuare una prima creazione e recuperarne gli output.

Avvio rapido

Questo passaggio crea un video di spiegazione minimo. L’URL della base di produzione è:

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

1 – Preparare una chiave di API

Attivare e copiare la tua chiave Pagina chiave API, quindi mantenere in un ambiente di server-side variabile. Non inviarlo mai in codice browser o in log.

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

2 Verificare il conto

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

3 - Leggi le capacità attuali

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

Scegliere durata, voce, modello e stile di espressione da questa risposta. Non trattare i valori di esempio come configurazione permanente.

4 – Creare contenuti

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 Il Poll Progress

La creazione e l’editing sono asincroniche. Mantenere l'ID di creazione restituito e sondare lo stesso risultato.

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 - Leggi le conclusioni

Leggi le uscite solo quando lo stato è pronto o ha_usable_delivery è vero:

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

Il trattamento ha restituito gli URL come autorizzati. Non costruire percorsi di stoccaggio.

Aggiungi file di sorgente

Scarica ogni fonte con POST /file, quindi include il suo file_id in input_file_ids. Tutti e tre i prodotti accettano i file caricati. Vedi Crea e recupera Per un esempio.