Documentation
Tâches
Créer, suivre, lister et annuler les tâches de nettoyage.
Une tâche est une vidéo en cours de nettoyage. Les crédits sont réservés à la création et rendus si la tâche échoue ou est annulée.
Cycle de vie
| Statut | Signification |
|---|---|
queued |
Crédits réservés, en attente d'une place de traitement |
analyzing |
Lecture des sous-titres et de la parole |
processing |
Reconstruction et contrôle des images |
succeeded |
La vidéo propre est prête dans result.url |
failed |
Le traitement n'a pas abouti, voir error (crédits rendus) |
canceled |
Arrêtée par vous (crédits rendus) |
Pendant le traitement, stage indique l'étape en cours et progress va de 0 à 1. Étapes : queued, preparing, reading_text, downloading, masking, cleaning, verifying, assembling, finalizing, retrying.
Les tâches d'un espace tournent en parallèle jusqu'à la limite de l'offre (2, 5 ou 15). Les suivantes attendent dans la file ; les offres supérieures passent en priorité quand la plateforme est chargée.
Créer une tâche
POST /v1/jobs
| Champ | Type | Description |
|---|---|---|
upload_id |
texte | Un envoi créé avec POST /v1/uploads |
video_url |
texte | URL publique de la vidéo (à la place de upload_id) |
filename |
texte | Nom d'affichage facultatif |
texts |
liste de textes | Facultatif : les textes exacts affichés à effacer. Fournis, ils remplacent l'étape de lecture automatique |
metadata |
objet | Facultatif : jusqu'à 20 paires clé valeur (texte), renvoyées avec la tâche et dans les webhooks |
Envoyez un en-tête Idempotency-Key pour réessayer sans risque : la même clé renvoie la même tâche au lieu d'en créer une seconde.
curl https://pixamake.ai/v1/jobs \
-H "Authorization: Bearer $PIXAMAKE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 0d6c1c5e-62f4-4f57-9c1c-4e6a7c1a2f10" \
-d '{"upload_id": "up_7Qm2rT9vXk3LpZ8aWn4c", "metadata": {"campagne": "soldes"}}'L'objet tâche
{
"id": "job_3kT9xQ2vLm8RfZp1Wq7a",
"object": "job",
"status": "succeeded",
"stage": null,
"progress": 1,
"source": "api",
"input": { "filename": "pub.mp4", "duration_seconds": 30, "width": 1080, "height": 1920, "size_bytes": 4821331 },
"credits": 75,
"credits_refunded": false,
"result": { "url": "https://...", "expires_at": "2026-10-04T14:12:00.000Z", "size_bytes": 5310877 },
"error": null,
"metadata": { "campagne": "soldes" },
"created_at": "2026-10-04T13:05:41.120Z",
"started_at": "2026-10-04T13:05:42.008Z",
"finished_at": "2026-10-04T13:09:57.774Z"
}result.url est un lien de téléchargement valable une heure. Chaque GET /v1/jobs/{id} en renvoie un nouveau. Les fichiers sont gardés pendant la durée de conservation de votre offre (7, 30 ou 90 jours).
Lire une tâche
GET /v1/jobs/{id}. Interrogez toutes les 5 à 10 secondes, ou utilisez les webhooks.
Lister les tâches
GET /v1/jobs?limit=20&status=succeeded&starting_after=job_...
| Paramètre | Description |
|---|---|
limit |
De 1 à 100, 20 par défaut |
status |
Filtre par statut |
starting_after |
Curseur : l'id de la dernière tâche de la page précédente |
{ "object": "list", "data": [ { "id": "job_..." } ], "has_more": true, "next_cursor": "job_..." }Annuler une tâche
POST /v1/jobs/{id}/cancel arrête une tâche en file ou en cours et rend ses crédits. Une tâche terminée est renvoyée telle quelle.
Codes d'échec
error.code |
Signification |
|---|---|
no_text_found |
Aucun sous-titre ni incrustation trouvé. Aucun crédit utilisé. |
nothing_erased |
Le moteur n'a pas retrouvé le texte à effacer. Aucun crédit utilisé. |
processing_failed |
Le moteur s'est arrêté sur une erreur. Crédits rendus. |
timeout |
Le traitement a duré trop longtemps et a été arrêté. Crédits rendus. |
start_failed |
La vidéo n'a pas pu être préparée après plusieurs essais. Crédits rendus. |