Briefs are in private beta for selected accounts and are free during the beta.
To request access, contact support@trybloom.ai.
What the brief contains
Bloom uses your brand to return Markdown guidance and selected assets: logos, images, fonts, and font renders. Each asset includes its kind, media type, and a stable Bloom URL. A font render shows the typeface; the font file lets your tool render text. The guidance can embed images and link to files using those same URLs. Keep the Bloom URLs: they redirect to fresh storage access with no scheduled expiry, while the brief, brand, saved Skill version, and asset remain available. Anyone with a link can open that asset without signing in. Bloom selects brand context without inventing unstated project details. For a general overview, read the Brand Skill.Request and retrieve a brief
You’ll need a ready brand with an active Brand Skill. Describe your task in 1 to 4,000 characters, including any audience or constraints that matter.- API
- MCP
With your API key, submit the brand and task:Replace the brand session ID. The Repeat this read while
202 response contains data.id and data.status. Set BRIEF_ID to that ID:pending or processing. Once completed, read data.guidance and data.assets. See Request a brief and Get a brief for the full contract.wait defaults to false. With waiting enabled, timeout defaults to 120 seconds and accepts integers from 1 to 295. A timeout leaves the brief running; fetch the same ID again.skillId identifies the Skill version used and becomes null if that version is deleted.
Limits and recovery
Limits and recovery
An account can have 20 briefs pending or processing at once. At that limit,
wait for one to finish. If the brand is not ready, wait for an active Skill.Retry a lost create response with the same input and
Idempotency-Key in REST
or idempotency_key in MCP. Use a new key for a new brief.Failed briefs return error.code, error.message, and error.retryable.
When retryable, create a new brief with a new key. brief_not_applicable
means brand context cannot help: it is not retryable. Read the agent’s
message and revise the task. REST retrieval still returns HTTP 200; MCP
returns structured data. Check status even when the read succeeds.