Skip to main content
POST
Finalize a prepared model after uploading its images
Deuxième étape du flux presigned upload. Après avoir envoyé chaque fichier avec PUT vers les URLs de POST /models/prepare, appelle ce endpoint avec les uploaded_keys (les clés R2 que tu as uploadées, dans l’ordre — la première = couverture). Samsa valide les clés et lance le traitement, en renvoyant 202 Accepted. Interroge GET /models/{id}/status jusqu’à completed. Nécessite le scope models.write.
Passe un webhook_url ici pour être notifié quand le modèle atteint un statut terminal au lieu d’interroger. Voir Webhooks.

Autorisations

Authorization
string
header
requis

Organization API key as a bearer token: Authorization: Bearer samsa_sk_....

Paramètres de chemin

model_id
string<uuid>
requis

Corps

application/json

POST /models/{id}/complete body — finalize after uploading to presigned URLs.

uploaded_keys
string[]
requis

The R2 keys you uploaded, in order (first = cover).

Required array length: 1 - 10 elements
webhook_url
string | null

Optional https webhook notified once on terminal status (signed per the webhook signature scheme; see the webhooks docs).

Exemple:

"https://example.com/webhooks/samsa"

Réponse

Successful Response

202 body for POST /models and POST /models/{id}/complete (ADR §7.1).

id
string<uuid>
requis

The created model's id — poll GET /models/{id}/status.

status
enum<string>
requis

Initial status: pending (create) or processing (complete).

Options disponibles:
pending,
processing,
completed,
failed
Exemple:

"pending"

estimated_credits
integer
requis

Credits the finished job will cost (model creation is free = 0).

Exemple:

0