size qui décide, et la réponse bascule alors en mode multipart.https://gateway.streamfizz.live/api/upload/initInitie un upload de fichier : vidéo, audio, image (JPEG, PNG), sous-titres (VTT, SRT) ou CSV de chapitres. L'endpoint retourne une URL presignée qui permet d'uploader le fichier directement vers le stockage Streamfizz.
| Header | Type | Requis | Description |
|---|---|---|---|
x-api-key | string | Oui | Clé API du compte |
| Champ | Type | Requis | Description |
|---|---|---|---|
filename | string | Oui | Nom original du fichier (extension requise) |
mimeType | string | Oui | Type MIME du fichier |
size | number | Oui | Taille du fichier en octets (jusqu'à 5 Gio — au-delà, l'init bascule en multipart) |
Jusqu'à 10 Mo.
Jusqu'à 10 Mo.
{
"downloadUrl": "https://s3.fr-par.scw.cloud/streamfizz-prod/...?X-Amz-Algorithm=...&X-Amz-Signature=...",
"expiresAt": "2026-09-01T10:00:00.000Z",
"key": "{accountId}/api-uploads/media/{uuid}/video.mp4",
"mode": "single",
"success": true,
"uploadUrl": "https://s3.fr-par.scw.cloud/...?AWSAccessKeyId=..."
}| Champ | Type | Description |
|---|---|---|
success | boolean | true si l'init a réussi |
mode | "single" | Mode d’upload (toujours "single" ici) |
key | string | Clé S3 de destination |
uploadUrl | string | URL presignée pour le PUT direct (validité 1h) |
downloadUrl | string | URL de téléchargement presignée (validité 24h, active dès que le PUT a réussi) |
expiresAt | string | Date ISO 8601 au-delà de laquelle le downloadUrl n'est plus valable |
| HTTP | Code | Description |
|---|---|---|
400 | INVALID_BODY | Champ manquant (filename, mimeType), ou champ inconnu : le corps n'accepte que ces trois clés et rejette tout ajout, même inoffensif. |
400 | INVALID_SIZE | size absent ou non positif |
400 | INVALID_MIME_TYPE | Type de fichier non autorisé. Pour un sous-titre ou un CSV, le type MIME ne suffit pas : le nom de fichier doit aussi porter l'extension .vtt, .srt ou .csv. |
401 | UNAUTHORIZED | Clé API manquante ou invalide |
413 | FILE_TOO_LARGE | Le fichier dépasse la taille maximale autorisée : 100 Gio, ou 10 Mio pour une image, un sous-titre ou un CSV |
429 | RATE_LIMITED | Trop de requêtes |
500 | INIT_FAILED | Échec de l'initialisation de l'upload |
500 | INTERNAL_ERROR | Erreur interne du serveur |
5 requêtes par minute par clé API (appliqué sur /init)
En cas de dépassement, une erreur 429 Too Many Requests est retournée avec un champ retryAfter indiquant le délai en secondes.