# API Upload

> Téléversez des fichiers vidéo locaux pour AI Clipping, Summarization, Video Notes, Transcription, Find Moments et Video Enhancer.

## API Upload

L'API Upload vous permet de téléverser des fichiers vidéo locaux sur WayinVideo. Après le téléversement, utilisez l'identifiant de fichier retourné comme `video_url` dans les autres endpoints API (AI Clipping, Find Moments, Video Summarization, Video Notes, Video Transcription, Video Enhancer).

**Limite de taille :** la taille maximale d'un fichier téléversé localement est de 5 Go. Si vous avez besoin d'une limite supérieure, contactez-nous à l'adresse [wayinvideo@wayin.ai](mailto:wayinvideo@wayin.ai).

**Formats pris en charge :** vous devez téléverser un fichier vidéo valide. Les formats actuellement pris en charge sont **avi**, **mp4**, **mov** et **webm**. Le téléversement d'autres formats peut entraîner l'échec du traitement après la soumission.

### Flux de Téléversement

1. **Demandez** une URL de téléversement pré-signée en fournissant les métadonnées du fichier
2. **Téléversez** le fichier directement vers l'URL pré-signée via une requête `PUT`
3. **Utilisez** la valeur `identity` retournée comme `video_url` dans les appels API suivants

---

## Obtenir une URL de Téléversement

```
POST https://wayinvideo-api.wayin.ai/api/v2/upload/single-file
```

### Corps de la Requête

| Paramètre | Type   | Obligatoire | Description                                              |
| --------- | ------ | ----------- | -------------------------------------------------------- |
| `name`    | string | Oui         | Nom du fichier avec son extension (ex. `"my-video.mp4"`) |

```bash
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/upload/single-file \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{"name": "sample-video.mp4"}'
```

### Réponse

```json
{
  "data": {
    "upload_url": "https://storage.example.com/upload/presigned-url...",
    "identity": "file_abc123"
  }
}
```

| Champ        | Type   | Description                                                              |
| ------------ | ------ | ------------------------------------------------------------------------ |
| `upload_url` | string | URL pré-signée pour le téléversement. Expire après **1 heure**.          |
| `identity`   | string | Identifiant du fichier à utiliser comme `video_url` dans les autres APIs |

---

## Téléverser le Fichier

Utilisez l'`upload_url` pour téléverser votre fichier à l'aide d'une requête `PUT`. Dans `--data-binary`, le caractère `@` est suivi du chemin du fichier local :

```bash
curl -X PUT "https://storage.example.com/upload/presigned-url..." \
  -H "Content-Type: video/mp4" \
  --data-binary @/Users/me/Videos/sample-video.mp4
```

> **Remarque :** si vous effectuez un nouveau téléversement avec la même `upload_url`, le nouveau fichier remplace le précédent. Chaque fichier ne doit pas dépasser **5 Go**.

---

## Utiliser le Fichier Téléversé

Après le téléversement, transmettez la valeur `identity` comme `video_url` lors de la soumission de tâches.

> **Remarque :** chaque `identity` est valide pendant **24 heures**. Si votre quota est suffisant, vous pouvez utiliser la même `identity` pour soumettre plusieurs tâches pendant cette période.

```bash
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{"video_url": "THE_IDENTITY_VALUE", "enable_export": false}'
```

---

## FAQ

### Quand téléverser un fichier local plutôt que de passer une URL source ?

Si votre vidéo existe déjà sur une plateforme prise en charge (YouTube, Vimeo, TikTok, Zoom, etc.), passez l'URL directement à l'endpoint de traitement — aucun téléversement nécessaire. N'utilisez l'API Upload que pour les fichiers qui ne sont pas encore hébergés sur une source prise en charge.

### Quelle est la taille maximale d'un fichier téléversé ?

5 Go par fichier. Contactez [wayinvideo@wayin.ai](mailto:wayinvideo@wayin.ai) si votre cas d'usage nécessite une limite plus élevée.

### Quels formats de fichier sont pris en charge ?

`mp4`, `mov`, `webm`, `avi`. Les autres formats peuvent échouer lors du traitement.

### Le téléversement compte-t-il dans le quota de stockage de mon plan ?

Oui — les fichiers téléversés consomment du stockage sur votre plan d'abonnement. Voir [Plans d'abonnement](https://wayin.ai/wayinvideo/settings/plan) pour les limites de stockage et de taille par fichier de chaque plan.

### Comment utiliser le fichier téléversé dans d'autres appels API ?

Après le téléversement, passez l'identifiant de fichier retourné comme champ `video_url` à n'importe quel endpoint de traitement pris en charge — [AI Clipping](https://wayin.ai/fr/api-docs/ai-clipping/), [Find Moments](https://wayin.ai/fr/api-docs/find-moments/), [Video Summarization](https://wayin.ai/fr/api-docs/video-summarization/), [Video Notes](https://wayin.ai/fr/api-docs/video-notes/), [Video Transcription](https://wayin.ai/fr/api-docs/video-transcription/) ou [Video Enhancer](https://wayin.ai/fr/api-docs/video-enhancer/).
