ClipToks
Acceder auto_awesome Empezar ahora
API REST

API de ClipToks para desarrolladores

Automatiza la creación de vídeos desde tus propias aplicaciones, scripts o flujos de n8n con una API REST sencilla.

URL base: https://cliptoks.com/api/v1

lock Autenticación

Incluye tu clave en la cabecera Authorization de cada petición:

Authorization: Bearer tk_TU_CLAVE

También puedes usar la cabecera X-API-Key: tk_TU_CLAVE

api Endpoints

MétodoEndpointDescripción
GET /me Datos de tu cuenta y minutos restantes.
GET /voices Lista de voces disponibles (incluidas las clonadas).
POST /generate Crea un vídeo o audio. Consume minutos.
GET /jobs/{id} Estado de un trabajo y su resultado.
GET /assets Lista tu biblioteca de archivos generados.
GET /assets/{id}/download Descarga el archivo de un recurso.
DELETE /assets/{id} Elimina un recurso de tu biblioteca.

terminal Generar un vídeo

Encola un trabajo. La respuesta devuelve un job_id que puedes consultar hasta que esté listo.

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());
Usa un nodo «HTTP Request» con esta configuración:

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"}}

downloading Consultar el trabajo y descargar

Consulta el job_id hasta que el estado sea «done». Entonces tendrás la URL de descarga.

curl https://cliptoks.com/api/v1/jobs/123 -H "Authorization: Bearer tk_TU_CLAVE"

# Respuesta cuando termina:
{
  "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"
  }
}

error_outline Códigos de error

CódigoSignificado
401Clave de API ausente o no válida.
402Sin minutos disponibles. Mejora tu plan.
403Tu plan no incluye acceso a la API.
422Faltan parámetros o son incorrectos.
429Has superado el límite de peticiones por minuto.

¿Listo para automatizar tus vídeos?

Crear una cuenta gratis