Create PowerSource from URL
create_powersource_urlBuild a complete creative intelligence profile of a brand from a single website URL. Takes a website URL (homepage, PDP, landing page) plus optional idempotency_key, force_refresh, and webhook_url. Returns a job_id immediately; poll with get_powersource every 3-5s (typically 60-90s total). The final payload contains 14 structured sections: identity, offer, selling_points, brand_story, brand_style, brand_assets, brand_voice, buyer_profile, 12 buyer tensions, marketing angles, emotional_arcs, ctas, proof_assets, and strategic narrative.
Use this when the user says "analyse my brand", "load my brand", "build a strategy from my site", "what should my ads say", "decode this website", or pastes a homepage / competitor URL and wants a brand profile (not an ad decode). Also use this as the brand layer before calling generate_adscript — pass the returned powersource_id.
Costs 100 credits. Re-scanning the same URL within your org returns the cached result free.
Do NOT use for internal docs / PDFs / brand guidelines — use create_powersource_docs. For URL + docs combined (highest fidelity), use create_powersource_full. Do NOT use to decode a video ad — use decode_ad.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL to analyze. Supports any public website (e.g., gymshark.com, notion.so). Bare domains auto-resolve to https. | |
| brand_id | No | Optional Brand to attach this scan to. Get from list_brands. When omitted, the pipeline auto-resolves a brand by the scanned domain (creating one if needed) — the addendum D6 default. Pass this when you have an existing brand_id (e.g. from a prior list_brands call) and want to guarantee linkage rather than relying on domain match. | |
| webhook_url | No | HTTPS URL to receive a POST notification when the scan completes or fails. Eliminates need for polling. | |
| force_refresh | No | Force re-extraction of brand data even if cached. Use when a brand has rebranded or updated their website. | |
| idempotency_key | No | Optional unique key to make this call safely retryable. If the same key + org repeats, the original result is returned without re-charging. |