Aller au contenu
Référence API
Référence API

Créer un File Upload

Téléverser un fichier local, une URL HTTPS distante ou une source base64 et recevoir une URL temporaire.

Téléverser un fichier local, une URL HTTPS distante ou une source base64 et recevoir une URL temporaire.

Point de terminaison

POST /api/v1/files
URL de base
https://runapi.ai
Version de l'API
v1
Authentification
Authorization: Bearer YOUR_API_KEY
02

Requête

Corps JSON

Envoyez les valeurs uniquement à l'emplacement de requête indiqué.

application/json - Base64 source4 champs
file_namestring
Optionnel

Nom de fichier optionnel pour le téléversement de fichier créé.

sourceobject
Requis

Octets source encodés en Base64.

source.datastring
Requis

Données Base64

source.typestring
Requis

Sélectionne la représentation source en base64.

application/json - URL source4 champs
file_namestring
Optionnel

Nom de fichier optionnel pour le téléversement de fichier créé.

sourceobject
Requis

Source HTTPS distante à télécharger.

source.typestring
Requis

Sélectionne la représentation source par URL.

source.urlstring
Requis

URL HTTPS publique à télécharger.

multipart/form-data2 champs
filestring
Requis

Octets du fichier local à téléverser.

file_namestring
Optionnel

Nom de fichier optionnel pour le téléversement de fichier créé.

03

Réponse de succès

HTTP 201

POST /api/v1/files

JSON
{
  "created_at": "2026-07-27T10:00:00.000Z",
  "expires_at": "2026-07-27T11:00:00.000Z",
  "file_name": "mask.png",
  "mime_type": "image/png",
  "size_bytes": 204800,
  "url": "https://file.runapi.ai/temp/user-uploads/mask.png"
}
04

Réponse d'erreur (401)

HTTP 401
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Authentication required"
}
05

Réponse d'erreur (403)

HTTP 403
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Standard API key required"
}
06

Réponse d'erreur (400)

HTTP 400
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Only HTTPS URLs are allowed"
}
07

Réponse d'erreur (408)

HTTP 408
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Download timeout"
}
08

Réponse d'erreur (413)

HTTP 413
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "File size exceeds the maximum allowed size"
}
09

Réponse d'erreur (415)

HTTP 415
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "This content type is not supported"
}
10

Réponse d'erreur (422)

HTTP 422
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "File upload failed. Please try again."
}
11

Réponse d'erreur (429)

HTTP 429
Schéma de réponse
JSON
{
  "properties": {
    "error": {
      "description": "Message d'erreur lisible par l'humain.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

Exemple de réponse

JSON
{
  "error": "Too many file uploads for this account. Please retry later."
}
12

Exemple cURL

CURL
curl -X POST https://runapi.ai/api/v1/files \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"source":{"type":"url","url":"https://cdn.runapi.ai/public/samples/mask.png"},"file_name":"mask.png"}'