---
title: "Deposer un audio et lancer sa separation"
method: POST
path: "/stem-tool/jobs"
tags: ["stem-tool"]
---

# Deposer un audio et lancer sa separation

`POST /stem-tool/jobs`

## Request

- Base URL: `https://jam-jam.org/api/v1`
- URL: `https://jam-jam.org/api/v1/stem-tool/jobs`
- Auth: one of:
  - HTTP bearer
  - none

Le fichier est traite un segment a la fois sur CPU. Les anonymes et
comptes non Premium utilisent le mode rapide, jusqu'a 5 minutes et
100 000 000 octets. Premium peut aussi choisir SCNet-large, jusqu'a
1 h 30 et strictement moins de 2 000 000 000 octets. Une source de
plus de 10 minutes est placee derriere les travaux courts, tous rangs
confondus. Les cles API sont reservees a Premium.

## Headers

- `Idempotency-Key` string
- `X-Jam-Anon-Token` string
- `cf-turnstile-response` string

## Response `202`

Separation acceptee, suivre Location ou l'id

- StemToolJob
  - `id` string, uuid, required
  - `filename` string, required
  - `model` 'fast' | 'quality', required
  - `stems` 2 | 4, required
  - `state` 'uploading' | 'queued' | 'running' | 'saving' | 'done' | 'failed' | 'cancelled' | 'expired', required
  - `createdAt` integer, required
  - `finishedAt` integer, nullable, required
  - `durationSeconds` number, required
  - `processedSeconds` number, required
  - `computeSeconds` number, required
  - `position` integer, nullable, required
  - `expiresAt` integer, nullable, required
  - `error` string, nullable, required
  - `longFile` boolean, required
  - `estimateSeconds` object, required
    - `min` integer, required
    - `max` integer, required
  - `waitSeconds` object, required
    - `min` integer, required
    - `max` integer, required
  - `files` string[], required

## Other responses

- `403`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `413`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `429`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).
- `503`: Toute erreur de cette API, quel que soit le code HTTP, est un `application/problem+json` (RFC 9457) avec ce meme schema : `code` est la valeur stable a tester par un client (le `status` HTTP peut varier legerement selon le contexte, `code` non). `quota` est renseigne pour les erreurs liees au quota (`quota-exhausted`, `anon-quota-exhausted`, `client-quota`).

---

[API](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api.md) · [All operations](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jam-jam/apis/jam-jam-convert-api/revisions/64cd41a46e4e?raw)
