Choose the source evidence
A source-based request accepts up to 30 entries, with at most one website and one Instagram account. Files can supply Brand guides, briefs, logos, covers, and other useful evidence.- Website sources use
{ "kind": "website", "url": "https://..." }. - Instagram sources use
{ "kind": "instagram", "username": "acme" }. - File sources use
{ "kind": "file", "url": "https://...", "filename": "..." }.
filename labels a source; it does not tell Bloom what role the file should play.
Bloom determines the Brand name from the evidence. Pass workspaceId in the API or workspace_id in MCP when the Brand should belong to a team workspace; otherwise creation defaults to the caller’s personal workspace.
Tell the Brand Agent what matters
instructions is optional, accepts up to 4,000 characters, and applies only to this Brand Agent run. Use it to:
- identify the role or authority of a supplied file;
- emphasize evidence important to the application; or
- request additional guidance that the resulting Brand Skill should cover.
instructions is not a strict output guarantee.
Start creation
- API
- MCP
Send the ordered source set to Bloom returns
POST /brands:202 Accepted after the work is queued:Wait until the Brand is ready
- API
- MCP
Call the Brand with
wait=true:status: "analyzing", repeat the same request with the same Brand ID. Generate only after the Brand becomes ready.
Supply a specific logo
Include the approved logo as a file source and name its role explicitly:GET /brands/{id} returns the selected logo in profile.primaryLogo. The complete active Skill provides its exact asset identity.
Handle failures
If Bloom rejects the creation request, correct the source or instructions before retrying. Common API validation codes includeINVALID_URL, UNSUPPORTED_SOURCE, and INVALID_SOURCE; MCP returns the corresponding validation failure through the tool result.
After creation is queued, a failed Brand includes a stable failure code and a human-readable message. Show the message, correct the input, and submit a new creation request.
Compatibility inputs
The API and MCP retain a single website or Instagramurl input for existing integrations. A plain url creates a Brand Skill through the same source-first pipeline. New integrations should use sources so they can combine evidence and provide instructions.
Adding logoUrl to an API request, or logo_url to an MCP request, switches the request to the older explicit-logo onboarding workflow. That compatibility path can return logo_required; supply a replacement logo and wait for the Brand again before generating.
Next steps
- Retrieve and use the active Brand Skill
- Generate images with the Brand
- Inspect the exact
POST /brandscontract