API REST
API ClipToks pour les développeurs
Automatisez la création vidéo à partir de vos propres applications, scripts ou flux n8n avec une simple API REST.
URL de base :
https://cliptoks.com/api/v1
Authentification
Incluez votre mot de passe dans l'en-tête Autorisation de chaque demande :
Authorization: Bearer tk_TU_CLAVE
Vous pouvez également utiliser l'en-tête X-API-Key: tk_TU_CLAVE
Points de terminaison
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /me |
Les détails de votre compte et les minutes restantes. |
| GET | /voices |
Liste des voix disponibles (y compris celles clonées). |
| POST | /generate |
Créez une vidéo ou un audio. Cela prend des minutes. |
| GET | /jobs/{id} |
Statut d'un travail et son résultat. |
| GET | /assets |
Répertoriez votre bibliothèque de fichiers générés. |
| GET | /assets/{id}/download |
Téléchargez un fichier de ressources. |
| DELETE | /assets/{id} |
Supprimez une ressource de votre bibliothèque. |
Générer une vidéo
Mettre un travail en file d'attente. La réponse renvoie un job_id que vous pouvez interroger jusqu'à ce qu'il soit prêt.
curl -X POST https://cliptoks.com/api/v1/generate \
-H "Authorization: Bearer tk_TU_CLAVE" \
-H "Content-Type: application/json" \
-d '{"tool":"idea2video","params":{"idea":"5 curiosidades sobre el espacio","lang":"es"}}'
import requests
r = requests.post(
"https://cliptoks.com/api/v1/generate",
headers={"Authorization": "Bearer tk_TU_CLAVE"},
json={"tool": "idea2video",
"params": {"idea": "5 curiosidades sobre el espacio", "lang": "es"}},
)
print(r.json()) # {'job_id': 123, 'status': 'queued'}
const res = await fetch("https://cliptoks.com/api/v1/generate", {
method: "POST",
headers: {
"Authorization": "Bearer tk_TU_CLAVE",
"Content-Type": "application/json",
},
body: JSON.stringify({
tool: "idea2video",
params: { idea: "5 curiosidades sobre el espacio", lang: "es" },
}),
});
console.log(await res.json());
<?php
$ch = curl_init("https://cliptoks.com/api/v1/generate");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer tk_TU_CLAVE",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"tool" => "idea2video",
"params" => ["idea" => "5 curiosidades sobre el espacio", "lang" => "es"],
]),
]);
echo curl_exec($ch);
var client = java.net.http.HttpClient.newHttpClient();
var req = java.net.http.HttpRequest.newBuilder()
.uri(java.net.URI.create("https://cliptoks.com/api/v1/generate"))
.header("Authorization", "Bearer tk_TU_CLAVE")
.header("Content-Type", "application/json")
.POST(java.net.http.HttpRequest.BodyPublishers.ofString(
"{\"tool\":\"idea2video\",\"params\":{\"idea\":\"...\"}}"))
.build();
var res = client.send(req, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());
Utilisez un nœud « HTTP Request » avec cette configuration :
Método: POST
URL: https://cliptoks.com/api/v1/generate
Headers:
Authorization = Bearer tk_TU_CLAVE
Content-Type = application/json
Body (JSON):
{"tool":"idea2video","params":{"idea":"5 curiosidades sobre el espacio","lang":"es"}}
Consulter l'ouvrage et télécharger
Interroge le job_id jusqu'à ce que le statut soit « terminé ». Ensuite, vous aurez l'URL de téléchargement.
curl https://cliptoks.com/api/v1/jobs/123 -H "Authorization: Bearer tk_TU_CLAVE"
# Réponse une fois terminé :
{
"job_id": 123,
"tool": "idea2video",
"status": "done",
"progress": 100,
"asset": {
"id": 987,
"type": "video",
"duration": 42.5,
"download_url": "https://cliptoks.com/api/v1/assets/987/download"
}
}
Codes d'erreur
| Code | Signification |
|---|---|
401 | Clé API manquante ou invalide. |
402 | Aucune minute disponible. Améliorez votre plan. |
403 | Votre forfait n'inclut pas l'accès à l'API. |
422 | Les paramètres sont manquants ou incorrects. |
429 | Vous avez dépassé la limite de requêtes par minute. |

