API REST
API ClipToks para desenvolvedores
Automatize a criação de vídeos a partir de seus próprios aplicativos, scripts ou streams n8n com uma API REST simples.
URL base:
https://cliptoks.com/api/v1
Autenticação
Inclua sua senha no cabeçalho de autorização de cada solicitação:
Authorization: Bearer tk_TU_CLAVE
Você também pode usar o cabeçalho X-API-Key: tk_TU_CLAVE
Pontos finais
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /me |
Detalhes da sua conta e minutos restantes. |
| GET | /voices |
Lista de vozes disponíveis (incluindo as clonadas). |
| POST | /generate |
Crie um vídeo ou áudio. Consome minutos. |
| GET | /jobs/{id} |
Status de um trabalho e seu resultado. |
| GET | /assets |
Liste sua biblioteca de arquivos gerados. |
| GET | /assets/{id}/download |
Baixe um arquivo de recurso. |
| DELETE | /assets/{id} |
Exclua um recurso da sua biblioteca. |
Gerar um vídeo
Coloque um trabalho na fila. A resposta retorna um job_id que você pode consultar até que esteja pronto.
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());
Use um nó "Solicitação HTTP" com esta configuração:
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"}}
Consulte a obra e baixe
Consulta o job_id até que o status seja "concluído". Então você terá o URL de download.
curl https://cliptoks.com/api/v1/jobs/123 -H "Authorization: Bearer tk_TU_CLAVE"
# Resposta ao terminar:
{
"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"
}
}
Códigos de erro
| Código | Significado |
|---|---|
401 | Chave de API ausente ou inválida. |
402 | Não há minutos disponíveis. Melhore seu plano. |
403 | Seu plano não inclui acesso à API. |
422 | Os parâmetros estão ausentes ou incorretos. |
429 | Você excedeu o limite de solicitações por minuto. |

