Convertir un fichier

Un seul point d’accès fait le travail. Envoyez un fichier et un format cible, recevez une tâche — terminée si c’était rapide, en file sinon.

Authentification

Tous les points d’accès sauf le catalogue de formats exigent une clé d’API, envoyée comme jeton bearer. Créez-en une sur la page Automatiser de votre compte ; elle n’est affichée qu’une fois et n’est stockée que sous forme de hachage, donc une clé perdue est irrécupérable — émettez-en une nouvelle.

L’accès à l’API fait partie de l’offre Plus. Une clé appartenant à un compte qui ne l’a pas est rejetée avec NOT_ENTITLED.

Authorization: Bearer rlv_your_key_here

La requête

POST https://rework.live/api/v1/convert, en multipart/form-data, avec exactement deux champs : le format cible et le fichier lui-même. L’ordre des champs est indifférent.

curl -X POST https://rework.live/api/v1/convert \
  -H "Authorization: Bearer rlv_your_key_here" \
  -F "to=webp" \
  -F "file=@photo.png"
ChampTypeDescription
tostringIdentifiant du format cible, par exemple pdf, webp, mp4
filefileLe fichier à convertir. Un seul par requête.

La réponse

Toujours du JSON, jamais des octets bruts, et toujours la même forme, que la conversion soit terminée ou mise en file. Un client obligé de regarder le type de contenu pour savoir ce qu’il a reçu est un client qui finira par se tromper.

200 signifie que la tâche est terminée et que download est prêt. 202 signifie qu’elle a été mise en file : status_url indique où interroger, et download vaut null jusqu’à la fin.

{
  "job": {
    "id": "6a84860000000000000000ab",
    "status": "done",
    "from": "png",
    "to": "webp",
    "bytes": 48213,
    "durationMs": 412,
    "notes": [],
    "expiresAt": "2026-09-03T10:22:31.000Z",
    "download": "https://rework.live/api/v1/jobs/6a84860000000000000000ab/download",
    "status_url": null,
    "queuePosition": null,
    "estimateMs": null
  }
}

Obtenir directement les octets

Ajoutez ?download=1 si vous préférez le fichier à un lien. Une conversion qui se termine à la volée renvoie alors les octets ; une conversion mise en file renvoie toujours 202 avec du JSON, car il n’y a encore rien à envoyer.