v2 - Contents

Set Content Thumbnail From Frame

Set this piece's thumbnail to a frame at the given timestamp.

A NEW media_v2 image is created every time and thumbnail_id is repointed at it. The previous image is left exactly where it is, still public, still at its URL. That is not tidiness — one of them is already embedded in a published Farcaster cast, and cast previews resolve the image at render time, so overwriting the object would change what a historical post shows. Orphaned images are the cheaper problem.

NO if not content.thumbnail_id GUARD. That guard belongs to create_content, where a supplied thumbnail must not be overwritten. Here the piece always has one already — that is what re-picking means — so the guard would make this endpoint a permanent no-op.

ON FAILURE THIS RETURNS AN ERROR, NOT A SILENT 200. create_content swallows extraction failures and continues, which is right at ingest: the upload should not fail because ffmpeg timed out. Here the thumbnail IS the request, so a 200 with the old image still attached would be indistinguishable from success — the same invisible failure that let a Farcaster cast publish under a camera filename with nothing to explain it.

Access: CONTENT_EDIT on the parent workspace.

post/v2/contents/{content_id}/thumbnail

Request

  • Base URL
    https://api.jubjubapp.com (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Path parameters

content_idstring required

Headers

Authorizationstring
X-JubJub-Service-Keystring
X-JubJub-Agent-Keystring
X-JubJub-Platform-Keystring
Originstring
Refererstring
X-JubJub-Trial-Tokenstring

Request body

timestamp_secondsnumber required

Seconds into the video to extract. Passed to extract_thumbnail as seek_to, which takes precedence over its 25%-of-duration default.

Response

Successful Response

content_idstring required
thumbnail_idstring required
thumbnail_urlstring nullable

Public URL of the new thumbnail. None when STORAGE_BUCKET is unset (local dev); the id is authoritative either way.

Changes

No recorded changes to this operation across all 1 revision of this API.