aethexDocs

Référence API

API Uploads

Générez des URLs présignées de courte durée pour téléverser des fichiers volumineux directement vers le stockage. Ignorez cet endpoint pour les petites charges utiles ; les API de ressources concernées acceptent toutes des multipart/form-data en ligne jusqu'à leurs propres limites de taille.Quand l'utiliser. Lorsque vous devez téléverser un fichier qui dépasse la limite en ligne de son endpoint consommateur :- Documents de base de connaissances supérieurs à ~10 Mio (utilisez le type doc/knowledge-base, puis appelez POST /agents/{id}/knowledge-base/by-upload).
- Fichiers audio pour la transcription qui dépassent la limite en ligne (utilisez le type audio/transcribe, puis appelez POST /transcribe/by-upload ou POST /transcribe/async/by-upload). Les chemins en ligne et présignés partagent la même limite ASR backend de 8 Mio.Comment ça marche. Cet endpoint génère une URL PUT présignée vers le stockage. Votre client PUT les octets du fichier directement vers cette URL (aucune authentification Aethex sur l'URL de stockage). Vous appelez ensuite l'endpoint de ressource avec l'upload_id retourné. L'upload_id est à usage unique et expire après 1 heure.Règle de portée. Présigner un type nécessite la même portée que celle requise pour le consommer. Par exemple, kind: "doc/knowledge-base" nécessite agents:write. Cela empêche de présigner un upload que vous ne seriez pas autorisé à utiliser.

URL de base
https://api.aethexai.com/api/v1
Endpoints
1
POST/uploads/presign

Générer une URL PUT présignée à usage unique pour les fichiers volumineux. Expire dans 1 heure.

Présigner un upload

Génère une URL PUT présignée pour le type d'upload donné. Retourne l'URL, un upload_id à passer à l'endpoint consommateur, et le Content-Type attendu pour le PUT.L'upload_id est un jeton signé opaque (JWT) — traitez-le comme une chaîne bearer. Ne faites pas de correspondance de motif sur le préfixe ou la longueur ; le format peut changer. Passez-le tel quel à l'endpoint consommateur.L'upload_id est à usage unique ; une fois consommé par un endpoint de ressource, il ne peut pas être réutilisé. Les IDs non utilisés expirent après 1 heure.

Corps de la requête

4
  • kindstringrequis

    Type d'upload. L'un de : doc/knowledge-base (fichier de base de connaissances pour un agent), audio/transcribe (fichier audio pour la transcription).

  • content_typestringrequis

    Type MIME que votre client enverra sur le PUT. L'URL présignée est liée à ce type ; si vous envoyez un content-type différent, le stockage rejettera la requête.

  • filenamestringoptionnel

    Nom de fichier original. Transmis à l'endpoint consommateur pour conserver un nom significatif. Optionnel mais recommandé.

  • size_hintintegeroptionnel

    Taille de fichier attendue en octets. Doit être comprise entre 0 et 1073741824 (1 Gio) inclus. Le serveur valide actuellement la plage mais ne renvoie pas la valeur dans la réponse ; traitez-la comme une indication compatible avec les versions futures.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Envoyez X-API-Key: YOUR_KEY.

403Portée manquante pour le type d'upload

La clé API ne possède pas la portée requise par le kind choisi. Par exemple, doc/knowledge-base nécessite agents:write ; audio/transcribe nécessite transcribe:use.

Émettez une nouvelle clé avec la portée requise par le type d'upload, puis réessayez.

422Type invalide

kind est manquant ou n'est pas l'une des valeurs supportées (doc/knowledge-base, audio/transcribe).

Envoyez l'une des valeurs kind supportées.