TEASEDocs
ProductsClubHow-to

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.

On this page