https://ytsave.appTéléchargements de construction avec YTSave
Résolvez une URL média publique, sélectionnez un format exact, créez un travail asynchrone et remettez le résultat signé à votre utilisateur. Le même pipeline de production limité alimente le site web YTSave.
Démarrage rapide
YTSave Il suit avec un point de terminaison de client affecté et garde un chemin d'appel serveur uniquement en vue.
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"}'Pour expliquer la sécurité des informations d'identification, YTSave sépare le stockage secret côté serveur de l'intégration de faisceaux sans client. Un enregistrement de preuve ne donne pas de journaux publics ou de référentiels sa propre place.
Résoudre un lien
YTSave gère l'opération Résoudre en identifiant d'abord la détection source. Il suit avec les formats d'une URL soumise et ne conserve aucune sortie inventée en vue.
/v1/resolvePortée: résoudre| SUR LE TERRAIN | Type de | Requis | Description |
|---|---|---|---|
url | URL HTTPS | Oui | Page média publique ou autorisée à analyser. |
tenant | string | Non | Domaine du locataire affecté. Généralement omis. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pour expliquer l'identifiant de format, YTSave sépare la valeur retournée inchangée de la disponibilité par lien. Un enregistrement de preuve ne donne aucune étiquette de qualité deviné sa propre place.
Créer et suivre une tâche de téléchargement
Pour la création de tâche, YTSave commence par une préparation asynchrone. Son enregistrement de preuve associe cela à une courte requête HTTP et se termine par une exécution limitée du travailleur.
/v1/jobsPortée: emplois| SUR LE TERRAIN | Type de | Requis | Description |
|---|---|---|---|
url | URL HTTPS | Oui | La même source normalisée soumise à résoudre. |
format_id | string | Oui | Un ID exact de la réponse de résolution. |
tenant | string | Non | Domaine du locataire affecté. Généralement omis. |
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} avec la même clé.| État d ' avancement | Signification | Action du client |
|---|---|---|
queued | Admis dans la file d'attente limitée. | Sondage à nouveau avec backoff. |
extracting | Actualisation des métadonnées source ou de l'itinéraire. | Continuez à voter. |
processing | Téléchargement, remixage ou fusion. | Afficher la progression du serveur. |
ready | Téléchargement signé est disponible. | Envoyez l'URL à l'utilisateur. |
failed | Erreur structurée terminale. | Lire error_code. Réessayez seulement quand conseillé. |
expired | La sortie temporaire a été supprimée. | Créer un nouveau job. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave facilite la lecture rapide du sondage d'emploi. La page commence par une attente initiale d'une seconde, passe à un retour en arrière limité, et indique clairement une livraison temporairement signée.
Les erreurs prévisibles
Pour le contrat d'erreur, YTSave vérifie une enveloppe non 2xx avant un ID de demande de support. Ce dossier de preuve rend également claire la gestion prévisible côté client.
{
"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 | Signification typique | Action |
|---|---|---|
| 400 | URL, corps ou format non valide. | Corrigez la requête. Résolvez à nouveau pour les formats. |
| 401 | Clé manquante, invalide, expirée ou de mauvaise portée. | Vérifiez les informations d'identification côté serveur. |
| 403 | La politique du locataire ou de la source a rejeté la demande. | Ne contournez pas la politique. Contactez le support. |
| 404 | Offre d'emploi inconnue ou expirée. | Créez une nouvelle tâche si nécessaire. |
| 429 | Limite de demandes ou de tâches actives atteinte. | Honor retry_after_seconds. |
| 503 | File d'attente/capacité ou amont temporairement indisponible. | Réessayez avec un décalage et une gigue exponentiels. |
Contrat d ' exploitation
YTSave émet un quota opérationnel à chaque approbation pour protéger les services de consommation et de médias en amont de l'API.
- Utilisez une logique d'application idempotente et ne démarrez jamais de tâches en double pour le même clic utilisateur.
- Le cache résout brièvement les métadonnées, mais traite toujours les URL de téléchargement signées comme expirant.
- Utiliser un décalage exponentiel limité avec gigue pour
429,503et erreurs retentables. - Traitez uniquement les médias publics ou les médias auxquels vous êtes autorisé à accéder. Les contrôles DRM et d'accès ne sont pas contournés.
- Conservez les ID de requête et les ID de tâche dans des journaux opérationnels privés.
YTSave gère l'accès au schéma en identifiant d'abord l'activation avant l'exploration, puis en suivant l'authentification assignée et en gardant à l'œil les formes de requête documentées. Référence OpenAPI
Demandez votre clé API
Documentez le consommateur de l'API, son estimation mensuelle de requêtes et les exigences de plateforme prises en charge. YTSave examine si la résolution, la soumission de tâche ou les deux sont justifiées avant de délivrer une clé visible une seule fois.
Demander un accès API Les clés sont limitées à la portée du client, révocables et émises via le formulaire de contact.