Aperçu de l'API
Générez des liens de prévisualisation de fichiers sécurisés par programmation avec une API REST simple.
Démarrage Rapide
PreviewFile.dev fournit une API REST simple pour générer des liens de prévisualisation à partir d'URLs. Créez des liens de prévisualisation sécurisés et limités dans le temps avec un seul appel API.
110+ Formats de Fichier Supportés : Prévisualisation de PDFs, documents Office, images, vidéos, fichiers de code et plus. Voir Formats Supportés pour la liste complète.
POST /api/u
Créer des liens de prévisualisation à partir d'URLs :
curl -X POST https://previewfile.dev/api/u \
-H "Content-Type: application/json" \
-H "x-api-key: $API_KEY" \
-d '{
"url": "https://example.com/document.pdf",
"ttlMinutes": 120,
"watermark": "Confidential",
"noDownload": true,
"oneTime": false
}'Réponse :
{
"success": true,
"data": {
"shortUrl": "a1b2c3d4",
"previewUrl": "https://previewfile.dev/p/a1b2c3d4",
"expireAt": "2025-10-02T15:30:00Z",
"status": "READY",
"ttlMinutes": 120,
"watermark": "Confidential",
"noDownload": true,
"oneTime": false
}
}L'API génère automatiquement des liens courts avec nanoid(8) pour la sécurité et la lisibilité.
Référence API
Authentification
Incluez votre clé API dans l'en-tête x-api-key :
x-api-key: YOUR_API_KEYStable OpenAPI (/api/v1)
For long-term integration, prefer the versioned API surface:
- OpenAPI schema:
GET /api/v1/openapi.json - Upload file (multipart):
POST /api/v1/upload - Get preview metadata:
GET /api/v1/previews/{shortUrl} - Get file access URL (direct or S3 presigned):
GET /api/v1/previews/{shortUrl}/file-url
Upload example
curl -X POST https://previewfile.dev/api/v1/upload \
-H "x-api-key: $API_KEY" \
-F "file=@./document.pdf" \
-F "ttlMinutes=60" \
-F "watermark=Confidential" \
-F "noDownload=true" \
-F "oneTime=false"Fetch file access URL
curl -X GET https://previewfile.dev/api/v1/previews/a1b2c3d4/file-url \
-H "x-api-key: $API_KEY"Paramètres de Requête
| Champ | Type | Requis | Par Défaut | Description |
|---|---|---|---|---|
url | string | Oui | - | URL originale à prévisualiser |
ttlMinutes | number | Non | 60 | Validité du lien en minutes (5-1440) |
watermark | string | Non | null | Texte de filigrane (max 120 caractères) |
noDownload | boolean | Non | false | Désactiver la fonctionnalité de téléchargement |
oneTime | boolean | Non | false | Expirer après la première vue |
Réponse
Réponse de Succès (200) :
{
"success": true,
"data": {
"shortUrl": "a1b2c3d4",
"previewUrl": "https://previewfile.dev/p/a1b2c3d4",
"expireAt": "2025-10-02T15:30:00Z",
"status": "READY",
"ttlMinutes": 120,
"watermark": "Confidential",
"noDownload": true,
"oneTime": false
}
}Champs de Réponse :
| Champ | Type | Description |
|---|---|---|
shortUrl | string | Identifiant d'URL courte de 8 caractères |
previewUrl | string | URL de prévisualisation complète à partager |
expireAt | string | Horodatage d'expiration ISO 8601 |
status | string | Statut de prévisualisation : READY, PENDING ou EXPIRED |
ttlMinutes | number | Durée de validité du lien |
watermark | string | null | Texte de filigrane si configuré |
noDownload | boolean | Statut de restriction de téléchargement |
oneTime | boolean | Restriction d'accès unique |
Réponse d'Erreur (4xx/5xx) :
{
"success": false,
"error": "Message d'erreur"
}Exemples d'Utilisation
cURL
curl -X POST https://previewfile.dev/api/u \
-H "Content-Type: application/json" \
-H "x-api-key: $API_KEY" \
-d '{
"url": "https://example.com/document.pdf",
"ttlMinutes": 120,
"watermark": "Confidential",
"noDownload": true,
"oneTime": false
}'Node.js (Fetch)
const response = await fetch('https://previewfile.dev/api/u', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
url: 'https://example.com/document.pdf',
ttlMinutes: 120,
watermark: 'Confidential',
noDownload: true,
oneTime: false
})
});
const data = await response.json();
console.log(data.data.previewUrl);Python (Requests)
import requests
response = requests.post(
'https://previewfile.dev/api/u',
headers={
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
json={
'url': 'https://example.com/document.pdf',
'ttlMinutes': 120,
'watermark': 'Confidential',
'noDownload': True,
'oneTime': False
}
)
data = response.json()
print(data['data']['previewUrl'])Fonctionnalités
- 110+ Formats de Fichier : Prévisualisation native du navigateur pour PDFs, documents Office, images, vidéos, code et plus (voir liste complète)
- URLs Courtes : Identifiants de 8 caractères générés automatiquement avec nanoid pour la sécurité
- Temps Limité : Définir l'expiration de 5 minutes à 24 heures
- Filigranes : Ajouter des overlays de texte personnalisés aux prévisualisations
- Contrôle de Téléchargement : Désactiver optionnellement les téléchargements de fichiers
- Liens à Usage Unique : Faire expirer les liens après le premier accès
- URL Originale Masquée : Les destinataires ne voient jamais l'URL originale du fichier