Skip to main content
POST
Request presigned upload URLs for a new model's images
Passo uno del flusso di upload con presigned URL per file di grandi dimensioni. Invia il name del modello, la category e i metadati per gli 1–10 files che caricherai (il primo file è la copertina). La risposta restituisce un id del modello e un presigned PUT upload_url per file. Esegui PUT di ogni file al suo URL, quindi chiama POST /models/{id}/complete con le chiavi caricate per avviare l’elaborazione. Richiede lo scope models.write.
Usa questo flusso in due passaggi quando le immagini sono troppo grandi per essere inviate inline. Per immagini piccole o URL remoti, POST /models è più semplice. Il content_type di ogni file è uno tra image/jpeg, image/png, image/webp; fornisci size (≤ 10 MB) quando lo conosci.

Autorizzazioni

Authorization
string
header
obbligatorio

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

Corpo

application/json

POST /models/prepare body — request presigned PUT URLs for large files.

name
string
obbligatorio
Required string length: 1 - 100
Esempio:

"Acme Brand Style"

category
enum<string>
obbligatorio

Model category — one of style, object, person, setting.

Opzioni disponibili:
style,
object,
person,
setting
Esempio:

"style"

files
PublicModelFileMeta · object[]
obbligatorio

Metadata for the 1-10 files you will upload (first = cover).

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

Optional free-text guidance for how to use the model.

Maximum string length: 8000

Risposta

Successful Response

202 body for POST /models/prepare — presigned upload slots.

id
string<uuid>
obbligatorio

The PENDING model's id (send to /complete).

uploads
PublicUploadSlot · object[]
obbligatorio
expires_in
integer
obbligatorio

Presigned URL lifetime in seconds.

Esempio:

3600