Par capacité

Envoyer des fichiers

Utilisez le flux d'envoi de fichiers de la plateforme lorsqu'un client ne dispose que d'une image, d'une vidéo, d'un audio, d'un PDF, d'un tableur ou d'un autre fichier en local. L'API renvoie une destination d'envoi temporaire et une public_url stable ; les détails d'implémentation du stockage restent opaques pour le client.

#Choisir entre URL, envoi ou Base64

Entrée disponibleMéthode recommandéePourquoi
URL HTTPS publique existanteEnvoyer l'URL directementPas d'envoi en double et le corps de requête le plus léger.
Fichier local sur l'appareilEnvoyer le fichier, puis transmettre public_urlFiable pour les gros fichiers et réutilisable d'une tentative à l'autre.
Petite image intégrée, et le modèle prend explicitement en charge le Base64Le Base64 est acceptableUniquement si le contrat du modèle sélectionné l'autorise.

#Flux d'envoi de fichier local

  1. 1

    Lire la limite actuelle

    Utilisez la même clé API pour que les limites propres à l'utilisateur s'appliquent.

    GET /v1/media/upload-policy
  2. 2

    Créer une politique d'envoi

    Envoyez kind, un content_type précis et la taille exacte en octets.

    POST /v1/media/upload-policy
  3. 3

    Envoyer le fichier

    Envoyez en POST toutes les entrées fields renvoyées ainsi que le fichier vers upload_url.

    multipart/form-data
  4. 4

    Utiliser l'URL renvoyée

    Placez public_url dans le champ média pris en charge par le modèle.

    public_url
create-policy.sh
curl https://www.aisplice.store/v1/media/upload-policy \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "file",
    "content_type": "application/pdf",
    "size": 1048576
  }'

#Traiter les champs d'envoi comme opaques

Envoyez chaque clé et chaque valeur renvoyées dans fields sans les renommer, les filtrer ni les mettre en cache. La politique d'envoi est de courte durée et liée à un chemin de fichier généré.

browser.ts
const form = new FormData();
for (const [key, value] of Object.entries(policy.fields)) {
  form.append(key, String(value));
}
form.append("file", file); // keep the file field last

const uploaded = await fetch(policy.upload_url, {
  method: "POST",
  body: form,
});
if (!uploaded.ok) throw new Error(await uploaded.text());

const modelInputUrl = policy.public_url;

#Types de fichiers et prise en charge par les modèles

Un envoi réussi ne garantit pas que le modèle accepte le fichier

L'endpoint d'envoi peut stocker des fichiers génériques comme des PDF, des fichiers Excel ou du texte, mais un modèle ne peut les exploiter que si son contrat de requête documente un champ fichier ou URL correspondant. Un modèle uniquement image ne peut pas lire un tableur simplement parce qu'il a une URL publique.
Consultez le contrat du modèle sélectionné

Tous les champs : /v1/media/upload-policy dans la référence API →

Toujours bloqué ?

Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.