Generate an AI sales caption
Get a short, chatter-ready caption for one piece of content from its own title/tags/folder text.
Who this is for: chatters (the ai_tag grant).
Generates a short, 1–2 line, teasing sales caption for one vault item — grounded only in the item's own text (title, folder name, tags). It never invents explicit detail the text doesn't imply.
curl -X POST "https://app.tease.link/api/admin/content/{media_id}/caption" \
-H "Authorization: Bearer $TEASE_API_KEY"Response shape
{ "media_id": "m_88130", "caption": "This one's my favorite from the shoot 🔥 you'll see why…" }Captions are capped at 220 characters and may include 0–2 fitting emoji.
When it comes back empty
{ "media_id": "m_88130", "caption": null, "error": "llm_key_not_set", "message": "The LLM key is not set — ask the panel owner." }This is a soft degrade, always a 200, never a 500. It happens when: no LLM key is
configured, the item has no usable text at all (no title, no folder name, no tags), the model
returned nothing, or the daily AI-caption quota is exhausted. A missing/foreign media_id is the
one case that's a real 404 — the LLM is never called for an item that isn't yours.
Rate and cost guards
One call sends exactly one paid LLM turn, capped at 30 requests/minute per actor and a shared daily cap across the workspace (300 captions/day by default). Hitting the daily cap returns a quota-refusal error rather than a silent empty caption.
What's next
Pair the caption with a whole drop, or tag the item first if it has too little text to caption — see Clear the untagged backlog with AI.