curl --request GET \
--url https://app.uselamina.ai/v1/intelligence/brand-context \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/intelligence/brand-context"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/intelligence/brand-context', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.uselamina.ai/v1/intelligence/brand-context",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/intelligence/brand-context"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/intelligence/brand-context")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/intelligence/brand-context")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"brandDna": {
"voiceAttributes": [
"bold",
"confident",
"playful"
],
"visualIdentity": [
"minimalist",
"high-contrast",
"warm tones"
],
"contentPillars": [
"product innovation",
"sustainability",
"community"
],
"audienceSignals": [
"Gen Z",
"urban professionals",
"eco-conscious"
],
"guardrails": [
"no political content",
"avoid controversial topics"
],
"toneSpectrum": {
"primary": "energetic",
"secondary": "witty",
"avoid": [
"corporate",
"formal"
]
},
"performanceProfile": {
"topPatterns": [
"lifestyle imagery",
"user-generated content style"
],
"weakPatterns": [
"stock photo aesthetic",
"text-heavy posts"
],
"avgEngagementTier": "high"
}
},
"guidance": {
"promptDirectives": [
"Lead with bold colors and dynamic composition",
"Include human subjects when possible"
],
"negativePrompts": [
"no text overlays",
"avoid cluttered backgrounds"
],
"recommendedMoves": [
"Test carousel format",
"Add behind-the-scenes content"
],
"testIdeas": [
"A/B test warm vs cool color palettes",
"Try vertical video format"
],
"winningPatterns": [
"lifestyle imagery",
"product-in-context shots"
],
"weakPatterns": [
"plain product shots on white background"
],
"supportingMetrics": [
"lifestyle posts avg 3.2x engagement",
"video posts outperform static by 40%"
],
"creativeStructure": null
},
"topPatterns": {
"topItems": [
{
"id": "item-001",
"title": "Summer Campaign Hero",
"modality": "image",
"platform": "instagram",
"performanceScore": 92.5,
"winningPatterns": [
"lifestyle imagery",
"warm tones",
"human subjects"
]
}
],
"topPatterns": [
{
"pattern": "lifestyle imagery",
"occurrences": 15,
"avgPerformance": 88.3
},
{
"pattern": "warm tones",
"occurrences": 12,
"avgPerformance": 85.7
}
],
"weakPatterns": [
{
"pattern": "stock photo aesthetic",
"occurrences": 4,
"avgPerformance": 32.1
}
]
}
}
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"Get Brand Context
Retrieve the complete brand context package for your workspace: brand DNA, workflow guidance, and top-performing content patterns. This is the primary intelligence endpoint — use it to inform content creation decisions.
The response combines three data sources resolved in parallel:
- brandDna — Voice attributes, visual identity, content pillars, audience signals, guardrails, tone spectrum, and performance profile extracted from the workspace’s brand profile.
- guidance — Prompt directives, negative prompts, recommended creative moves, test ideas, winning/weak patterns, supporting metrics, and creative structure. Resolved from the active workflow guidance package, optionally scoped by campaign, workflow, platform, or objective.
- topPatterns — The highest-performing content items and aggregated pattern analysis (winning patterns vs weak patterns with occurrence counts and average performance scores).
All parameters are optional. Omit them to get the workspace default context.
Provide brandProfileId to scope to a specific brand profile, campaignId or
workflowId to narrow guidance, and platform/objective/modality to get
platform-specific recommendations.
curl --request GET \
--url https://app.uselamina.ai/v1/intelligence/brand-context \
--header 'x-api-key: <api-key>'import requests
url = "https://app.uselamina.ai/v1/intelligence/brand-context"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.uselamina.ai/v1/intelligence/brand-context', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.uselamina.ai/v1/intelligence/brand-context",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.uselamina.ai/v1/intelligence/brand-context"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.uselamina.ai/v1/intelligence/brand-context")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.uselamina.ai/v1/intelligence/brand-context")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"brandDna": {
"voiceAttributes": [
"bold",
"confident",
"playful"
],
"visualIdentity": [
"minimalist",
"high-contrast",
"warm tones"
],
"contentPillars": [
"product innovation",
"sustainability",
"community"
],
"audienceSignals": [
"Gen Z",
"urban professionals",
"eco-conscious"
],
"guardrails": [
"no political content",
"avoid controversial topics"
],
"toneSpectrum": {
"primary": "energetic",
"secondary": "witty",
"avoid": [
"corporate",
"formal"
]
},
"performanceProfile": {
"topPatterns": [
"lifestyle imagery",
"user-generated content style"
],
"weakPatterns": [
"stock photo aesthetic",
"text-heavy posts"
],
"avgEngagementTier": "high"
}
},
"guidance": {
"promptDirectives": [
"Lead with bold colors and dynamic composition",
"Include human subjects when possible"
],
"negativePrompts": [
"no text overlays",
"avoid cluttered backgrounds"
],
"recommendedMoves": [
"Test carousel format",
"Add behind-the-scenes content"
],
"testIdeas": [
"A/B test warm vs cool color palettes",
"Try vertical video format"
],
"winningPatterns": [
"lifestyle imagery",
"product-in-context shots"
],
"weakPatterns": [
"plain product shots on white background"
],
"supportingMetrics": [
"lifestyle posts avg 3.2x engagement",
"video posts outperform static by 40%"
],
"creativeStructure": null
},
"topPatterns": {
"topItems": [
{
"id": "item-001",
"title": "Summer Campaign Hero",
"modality": "image",
"platform": "instagram",
"performanceScore": 92.5,
"winningPatterns": [
"lifestyle imagery",
"warm tones",
"human subjects"
]
}
],
"topPatterns": [
{
"pattern": "lifestyle imagery",
"occurrences": 15,
"avgPerformance": 88.3
},
{
"pattern": "warm tones",
"occurrences": 12,
"avgPerformance": 85.7
}
],
"weakPatterns": [
{
"pattern": "stock photo aesthetic",
"occurrences": 4,
"avgPerformance": 32.1
}
]
}
}
}{
"error": "Invalid API key"
}"Too many requests from this IP, please try again in a minute"POST /v1/content/create. Use this endpoint when you want to inspect what the engine knows, feed brand data into your own pipelines, or build brand-aware agent prompts.Authorizations
Workspace API key. Prefix: lma_. Example: lma_abc123...
Query Parameters
Scope to a specific brand profile. Omit for the workspace default.
Narrow guidance to a specific campaign.
Narrow guidance to a specific workflow/app.
Target platform (e.g. instagram, tiktok, facebook, linkedin).
Content objective (e.g. engagement, awareness, conversion).
Content modality to optimize guidance for.
image, video, text, audio, mixed Number of top-performing items to include in the topPatterns section.
Response
Brand context package with DNA, guidance, and top patterns
Complete brand context package combining DNA, guidance, and top patterns.
Show child attributes
Show child attributes