diff --git a/app/(app)/projects/[id]/autoblog/setup/form.tsx b/app/(app)/projects/[id]/autoblog/setup/form.tsx
index 031c531a..a1af9572 100644
--- a/app/(app)/projects/[id]/autoblog/setup/form.tsx
+++ b/app/(app)/projects/[id]/autoblog/setup/form.tsx
@@ -38,9 +38,18 @@ type Existing = {
internal_links_per_article: number;
backlinks_enabled: boolean;
external_links_per_article: number;
+ banner_style: string | null;
status: string;
};
+const BANNER_STYLE_OPTIONS: Array<{ value: string; label: string; hint: string }> = [
+ { value: "editorial", label: "Editorial photo", hint: "Cinematic photojournalistic cover" },
+ { value: "hype", label: "Marketing hype", hint: "Bold, energetic launch-poster look" },
+ { value: "concept", label: "Concept illustration", hint: "Clean illustrated metaphor of the idea" },
+ { value: "tech", label: "3D / isometric", hint: "Sleek 3D render of the topic" },
+ { value: "bold_type", label: "Bold minimal", hint: "Striking minimal composition" },
+];
+
const DAY_LABELS: Array<{ n: number; label: string }> = [
{ n: 1, label: "Mon" },
{ n: 2, label: "Tue" },
@@ -115,6 +124,7 @@ export function SetupForm({
const [seoTitle, setSeoTitle] = useState(initial?.seo_title ?? "");
const [seoDescription, setSeoDescription] = useState(initial?.seo_description ?? "");
const [tone, setTone] = useState(initial?.tone ?? "");
+ const [bannerStyle, setBannerStyle] = useState(initial?.banner_style ?? "editorial");
const [competitors, setCompetitors] = useState(
(initial?.competitors ?? []).join(", "),
);
@@ -566,6 +576,7 @@ export function SetupForm({
seoTitle,
seoDescription,
tone,
+ bannerStyle,
competitors,
webhookUrl,
webhookSecret,
@@ -933,6 +944,26 @@ export function SetupForm({
onChange={(e) => setTone(e.target.value)}
/>
+
+
+
+
+ {BANNER_STYLE_OPTIONS.find((o) => o.value === bannerStyle)?.hint}
+ {" "}— every banner depicts the post's actual topic in this style.
+
+