PreviewFile IconPreviewFile.dev

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_KEY

Stable 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

ChampTypeRequisPar DéfautDescription
urlstringOui-URL originale à prévisualiser
ttlMinutesnumberNon60Validité du lien en minutes (5-1440)
watermarkstringNonnullTexte de filigrane (max 120 caractères)
noDownloadbooleanNonfalseDésactiver la fonctionnalité de téléchargement
oneTimebooleanNonfalseExpirer 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 :

ChampTypeDescription
shortUrlstringIdentifiant d'URL courte de 8 caractères
previewUrlstringURL de prévisualisation complète à partager
expireAtstringHorodatage d'expiration ISO 8601
statusstringStatut de prévisualisation : READY, PENDING ou EXPIRED
ttlMinutesnumberDurée de validité du lien
watermarkstring | nullTexte de filigrane si configuré
noDownloadbooleanStatut de restriction de téléchargement
oneTimebooleanRestriction 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

On this page