Générer des vidéos
POST /v1/video/generations
Soumet une tâche vidéo et renvoie immédiatement un task_id. Le rendu prend en général une à cinq minutes selon le modèle, la durée et la résolution. Le chemin et la forme de la réponse suivent le canal vidéo de new-api : les passerelles de relais peuvent donc brancher la plateforme telle quelle comme fournisseur vidéo.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
| prompt | string | Obligatoire. Ce qu’il faut générer |
| model | string | id de modèle issu de /v1/models. Sinon, modèle par défaut |
| mode | string | text (par défaut) ou image |
| duration | integer | Durée en secondes, ramenée dans min_sec – max_sec du palier choisi |
| resolution | string | 480p | 720p | 1080p | 4k. Remplacée par spec |
| ratio | string | adaptive | landscape | portrait | 16:9 | 9:16 | 4:3 | 3:4 | 1:1 | 21:9. Sans valeur, width/height déterminent l’orientation ; à défaut, adaptive. Toute autre valeur déclenche une erreur. Les formats acceptés par le modèle choisi figurent dans aspect_ratios de /v1/models |
| width / height | integer | Écriture en pixels, utilisée seulement en l’absence de ratio pour choisir entre paysage et portrait. Des valeurs égales retombent sur adaptive |
| spec | string | Clé de palier. Détermine la résolution et le tarif par seconde |
| image | string | URL de la première image, utilisée avec mode=image |
| image_last | string | URL de la dernière image. Avec image, cela active le mode première/dernière image |
| reference_images | string[] | Images de référence pour la cohérence du sujet |
| reference_videos | string[] | URLs publiques des vidéos de référence, alignées par indice avec reference_video_durations |
| reference_video_durations | number[] | Durée en secondes de chaque vidéo de référence ; chaque valeur doit être un nombre positif détectable |
| reference_audios | string[] | URLs publiques des audios de référence, alignées par indice avec reference_audio_durations |
| reference_audio_durations | number[] | Durée en secondes de chaque audio de référence ; chaque valeur doit être un nombre positif détectable |
Requête
curl https://open.pikpikgo.com/v1/video/generations \
-H "Authorization: Bearer $PIKPIK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "travelling avant lent, une jeune fille se retourne et sourit",
"mode": "text",
"duration": 5,
"resolution": "720p"
}'Réponse
{
"task_id": "2608101915300490318827",
"id": "2608101915300490318827",
"object": "video",
"model": "video-pro-1",
"created_at": 1786000530,
"status": "processing",
"url": "",
"format": "",
"metadata": {
"duration": 5,
"resolution": "720p",
"ratio": "adaptive"
},
"error": null,
"credits": 60,
"prompt": "travelling avant lent, une jeune fille se retourne et sourit"
}status processing signifie que la tâche est parvenue au moteur de rendu. Interrogez le point d’accès ci-dessous avec le task_id renvoyé. En cas d’échec du rendu, les crédits sont remboursés automatiquement.
Consulter une tâche vidéo
GET /v1/video/generations/{task_id} — les tâches vidéo s’interrogent ici, et non sur /v1/tasks/{id} (celui-ci ne sert que l’image). La forme est celle de la réponse de soumission ; une fois la tâche terminée, url est le clip rendu et format son conteneur.
curl https://open.pikpikgo.com/v1/video/generations/2608101915300490318827 \
-H "Authorization: Bearer $PIKPIK_API_KEY"{
"task_id": "2608101915300490318827",
"id": "2608101915300490318827",
"object": "video",
"model": "video-pro-1",
"created_at": 1786000530,
"status": "succeeded",
"url": "https://cdn.pikpikgo.com/video/2608101915300490318827.mp4",
"format": "mp4",
"metadata": {
"duration": 5,
"resolution": "720p",
"ratio": "adaptive"
},
"error": null,
"credits": 60,
"prompt": "travelling avant lent, une jeune fille se retourne et sourit"
}
