https://savetk.appConstrua downloads com SaveTK
SaveTK exibe um plano de API para integrações de ferramentas de criação, mas não aceita execução não autenticada. Aprovação fornece a chave e seus limites operacionais.
Início rápido
SaveTK apresenta três pontos práticos para o host da API. Primeiro vem as credenciais ativadas por suporte. O fluxo de salvamento então cobre um endpoint de locatário atribuído. Seu ponto final é um caminho de chamada apenas para servidor.
X-API-Key: pending_activation_…SaveTkCreatorv1# Available only after support activation
export SAVETK_CREATOR_KEY="issued-after-review"
curl -X POST https://savetk.app/v1/resolve \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID"}'SaveTK A página começa com o armazenamento secreto do lado do servidor, passa para nenhuma incorporação de pacotes de clientes e afirma claramente que não há registros ou repositórios públicos.
Resolver um link
SaveTK apresenta três pontos práticos para a operação Resolve. Primeiro vem a detecção da fonte. O fluxo de trabalho de salvamento então cobre formatos de uma URL submetida. Seu ponto final é não inventar saídas.
/v1/resolveEscopo: resolver| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
creator_link | URL HTTPS | Sim | Página de mídia pública ou autorizada para analisar. |
tenant | string | Não. | Domínio do locatário atribuído. Geralmente omitido. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}SaveTK A página começa com o valor retornado inalterado, passa para a disponibilidade por link e declara claramente que não há rótulo de qualidade adivinhado.
Criar e acompanhar um trabalho de download
A criação do trabalho começa com a preparação assíncrona em SaveTK. Este fluxo de trabalho de salvamento apresenta então uma solicitação HTTP curta.
/v1/jobsÂmbito: empregos| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
creator_link | URL HTTPS | Sim | A mesma fonte normalizada foi submetida para resolver. |
save_option | string | Sim | Um ID exato da resposta de resolução. |
tenant | string | Não. | Domínio do locatário atribuído. Geralmente omitido. |
curl -X POST https://savetk.app/v1/jobs \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID","save_option":"18"}'save_task.GET /v1/jobs/{save_task} com a mesma chave.| Estado | Significado | Ação do cliente |
|---|---|---|
queued | Admitido na fila limitada. | Sondagem novamente com recuo. |
extracting | Atualizando metadados da fonte ou rota. | Continue a pesquisar. |
processing | Baixando, remuxing ou mesclando. | Exibir o progresso do servidor. |
ready | Download assinado disponível. | Envie a URL para o usuário. |
failed | Erro estruturado do terminal. | Leia error_code. Repita somente quando aconselhado. |
expired | Saída temporária foi removida. | Crie um novo trabalho. |
curl https://savetk.app/v1/jobs/SAVE_TASK \
-H "X-API-Key: $SAVETK_CREATOR_KEY"SaveTK Ele segue com o backoff limitado e mantém a entrega assinada temporária em vista. Ele segue com backoff limitado e mantém a entrega assinada temporária em vista.
Erros previsíveis
O contrato de erro começa com um envelope não 2xx em SaveTK. A próxima exibição abrange um ID de solicitação de suporte.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Significado típico | Acção |
|---|---|---|
| 400 | URL inválido, corpo ou formato indisponível. | Corrija a solicitação. Resolva novamente para formatos. |
| 401 | Chave ausente, inválida, expirada ou com escopo errado. | Verifique a credencial do lado do servidor. |
| 403 | O inquilino ou a política de origem rejeitou a solicitação. | Não ignore a política. Entre em contato com o suporte. |
| 404 | Trabalho desconhecido ou expirado. | Crie um novo trabalho, se apropriado. |
| 429 | Limite de solicitações ou trabalhos ativos atingido. | Honra. retry_after_seconds. |
| 503 | Fila/capacidade ou upstream temporariamente indisponível. | Tentar novamente com recuo exponencial e jitter. |
Contrato operacional
SaveTK define permissões de fluxo de trabalho do criador após examinar o tráfego esperado e as plataformas de publicação no escopo.
- Use lógica de aplicação idempotente e nunca inicie trabalhos duplicados para o mesmo clique do usuário.
- Armazene em cache os metadados de resolução brevemente, mas sempre trate URLs de download assinados como expirados.
- Use recuo exponencial limitado com jitter para
429,503e erros retráteis. - Processe apenas mídia pública ou mídia à qual você está autorizado a acessar. DRM e controles de acesso não são contornados.
- Mantenha IDs de solicitação e IDs de tarefa em logs operacionais privados. Não registre URLs enviadas desnecessariamente.
SaveTK apresenta três pontos práticos para acesso ao Schema. Primeiro vem a ativação antes da exploração. O fluxo de trabalho de salvamento cobre então a autenticação atribuída. Seu ponto final são formas de solicitação documentadas.
Ativar através do suporte
Declare o que o cliente SaveTK faz, quantas chamadas ele espera e quais serviços de postagem são essenciais. A revisão de suporte seleciona seus escopos, então retorna uma credencial não recuperável mostrada uma única vez.
Solicitar ativação As chaves são limitadas ao locatário, revogáveis e emitidas através do formulário de contato. Scripts anônimos não podem executar trabalhos de download.