https://ytsave.appConstrua downloads com YTSave
Resolva uma URL de mídia pública, selecione um formato exato, crie um trabalho assíncrono e entregue o resultado assinado ao seu usuário. O mesmo pipeline de produção vinculado alimenta o site YTSave.
Início rápido
YTSave gerencia o host da API identificando primeiro as credenciais ativadas pelo suporte. Em seguida, utiliza um endpoint de locatário atribuído e mantém um caminho de chamada exclusivo para o servidor em vista.
X-API-Key: ys_live_…YTSaveClientv1# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"
curl -X POST https://ytsave.app/v1/resolve \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'Para explicar a segurança das credenciais, YTSave separa o armazenamento secreto do lado do servidor da não incorporação de pacotes no cliente. Um registro de evidências não atribui um lugar próprio a logs públicos ou repositórios.
Resolver um link
YTSave lida com a operação Resolve identificando primeiro a detecção de origem. Em seguida, segue com formatos de uma URL enviada e não mantém saídas inventadas em vista.
/v1/resolveEscopo: resolver| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
url | 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
}Para explicar o identificador de formato, YTSave separa o valor retornado inalterado da disponibilidade por link. Um registro de evidências não atribui um lugar próprio a nenhum rótulo de qualidade estimada.
Criar e acompanhar um trabalho de download
Para a criação de Trabalho, YTSave começa com preparação assíncrona. Seu registro de evidências combina isso com uma requisição HTTP curta e termina com execução limitada do trabalhador.
/v1/jobsÂmbito: empregos| Campo | Tipo | Necessário | Descrição |
|---|---|---|---|
url | URL HTTPS | Sim | A mesma fonte normalizada foi submetida para resolver. |
format_id | 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://ytsave.app/v1/jobs \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'job_id.GET /v1/jobs/{job_id} 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://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave facilita a varredura da pesquisa de trabalho. A página começa com uma espera inicial de um segundo, passa para um retrocesso limitado e declara claramente a entrega temporária assinada.
Erros previsíveis
Para o contrato de erro, YTSave verifica um envelope não 2xx antes de um ID de solicitação de suporte. Este registro de evidência também torna claro o manuseio previsível do cliente.
{
"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
YTSave emite uma cota operacional a cada aprovação para proteger o consumidor da API e os serviços de mídia upstream.
- 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.
YTSave gerencia o acesso ao Schema identificando primeiro a ativação antes da exploração. Em seguida, segue com a autenticação atribuída e mantém as formas de solicitação documentadas em vista. Referência OpenAPI
Solicite sua chave de API
Documente o consumidor da API, sua estimativa mensal de requisições e os requisitos de plataforma suportados. YTSave avalia se a resolução, submissão de trabalho ou ambos são justificados antes de emitir uma chave visível uma única vez.
Solicitar acesso à API 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.