Upload
Upload in three steps.1
Reserve the media
Send the mime type. The response holds a
Media and an upload.2
Send the bytes
PUT the raw bytes to upload.url. Do not send an Authorization header. The URL is signed and
it carries its own token.3
Attach it to a message
Send the media id in
mediaIds.Read
GET /api/media/{id} returns the media with a fresh signed URL. It also confirms a pending
upload, so it answers the question “did my upload land?”.
media, so a normal chat load needs no extra
request.
Fields
Limits
- 25 MB for one media. A larger
sizeBytesreturns400with{"error":"media too large"}. - 10 media on one message.
- Lala reads at most 4 images from one message. The rest stay on the message for the student.
What Lala sees
Lala reads image attachments. It does not read audio, video, or other files today. A message that has attachments and no text reaches the model as a placeholder, such as[görsel].
The placeholder exists only in the history of the model. On the wire, content for such a message
is the empty string. An empty content means that the student wrote no caption, so there is
nothing to show next to the attachment.
Media belongs to the student who created it. A media id from another account is unknown to your
account, and the send drops it.