Spaces:
Running on Zero
Running on Zero
File size: 6,724 Bytes
f821a4a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | """Gradio theme and CSS in the style of interhuman.ai.
The site is a monochrome, shadcn-style system: white (dark mode: near-black)
background, near-black text, black primary buttons, hairline grey borders, a
10px radius, tight bold headlines, JetBrains Mono for code, and one purple
accent (#c181ff). Its body face, AT Surt, is commercial, so Inter stands in.
"""
from __future__ import annotations
import gradio as gr
ACCENT = "#c181ff"
THEME = gr.themes.Base(
primary_hue=gr.themes.colors.neutral,
secondary_hue=gr.themes.colors.neutral,
neutral_hue=gr.themes.colors.neutral,
radius_size=gr.themes.sizes.radius_md,
font=[gr.themes.GoogleFont("Inter"), "system-ui", "sans-serif"],
font_mono=[gr.themes.GoogleFont("JetBrains Mono"), "ui-monospace", "monospace"],
).set(
body_background_fill="#ffffff",
body_background_fill_dark="#050505",
body_text_color="#0a0a0a",
body_text_color_dark="#f5f5f5",
body_text_color_subdued="#8e8e8e",
body_text_color_subdued_dark="#8e8e8e",
background_fill_primary="#ffffff",
background_fill_primary_dark="#121212",
background_fill_secondary="#fafafa",
background_fill_secondary_dark="#1a1a1a",
block_background_fill="#fdfdfd",
block_background_fill_dark="#121212",
block_border_color="#e5e5e5",
block_border_color_dark="rgba(255,255,255,0.1)",
block_border_width="1px",
block_shadow="none",
block_shadow_dark="none",
block_radius="10px",
block_label_background_fill="transparent",
block_label_background_fill_dark="transparent",
block_label_text_color="#8e8e8e",
block_label_text_color_dark="#8e8e8e",
block_title_text_weight="500",
input_background_fill="#ffffff",
input_background_fill_dark="#0f0f0f",
input_border_color="#e5e5e5",
input_border_color_dark="rgba(255,255,255,0.12)",
input_border_color_focus="#a3a3a3",
input_border_color_focus_dark="rgba(255,255,255,0.3)",
input_shadow="none",
input_shadow_focus="none",
button_primary_background_fill="#171717",
button_primary_background_fill_hover="#000000",
button_primary_background_fill_dark="#f5f5f5",
button_primary_background_fill_hover_dark="#ffffff",
button_primary_text_color="#fafafa",
button_primary_text_color_dark="#171717",
button_primary_border_color="transparent",
button_primary_border_color_dark="transparent",
button_secondary_background_fill="#f5f5f5",
button_secondary_background_fill_hover="#ebebeb",
button_secondary_background_fill_dark="#262626",
button_secondary_background_fill_hover_dark="#303030",
button_secondary_text_color="#171717",
button_secondary_text_color_dark="#f5f5f5",
button_secondary_border_color="transparent",
button_secondary_border_color_dark="transparent",
button_large_radius="8px",
button_medium_radius="8px",
button_primary_shadow="none",
button_secondary_shadow="none",
checkbox_background_color_selected="#171717",
checkbox_background_color_selected_dark=ACCENT,
checkbox_border_color_selected="#171717",
checkbox_border_color_selected_dark=ACCENT,
slider_color="#171717",
slider_color_dark="#f5f5f5",
color_accent=ACCENT,
color_accent_soft="rgba(193,129,255,0.12)",
)
CSS = f"""
.gradio-container {{ max-width: 1120px !important; margin: 0 auto !important; }}
.ih-hero {{ padding: 40px 0 24px; }}
.ih-eyebrow {{
font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: 0.08em;
text-transform: uppercase; color: var(--body-text-color-subdued); display: flex; align-items: center; gap: 8px;
}}
.ih-eyebrow::before {{ content: ''; width: 8px; height: 8px; border-radius: 50%; background: {ACCENT}; }}
.ih-hero h1 {{ font-size: 44px; line-height: 1.05; font-weight: 700; letter-spacing: -0.025em; margin: 14px 0 12px; }}
.ih-hero p {{ max-width: 640px; color: var(--body-text-color-subdued); font-size: 16px; line-height: 1.6; margin: 0; }}
.ih-card {{
border: 1px solid var(--block-border-color); border-radius: 10px; padding: 18px 20px;
background: var(--block-background-fill); min-height: 120px;
}}
.ih-caption {{
font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: 0.08em;
text-transform: uppercase; color: var(--body-text-color-subdued);
}}
.ih-headline {{ font-size: 32px; font-weight: 600; letter-spacing: -0.02em; margin: 6px 0 4px; }}
.ih-meta {{ font-size: 14px; color: var(--body-text-color-subdued); }}
.ih-note {{ font-size: 14px; line-height: 1.55; color: var(--body-text-color-subdued); margin: 10px 0 0; }}
.ih-warning {{ font-size: 13px; color: var(--body-text-color-subdued); margin: 0 0 12px; font-style: italic; }}
.ih-tiles {{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }}
.ih-tile {{ border: 1px solid var(--block-border-color); border-radius: 8px; padding: 9px 10px; min-width: 0; }}
.ih-value {{
font-size: 15px; font-weight: 600; letter-spacing: -0.01em; margin-top: 4px;
display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}}
.ih-section {{ margin: 20px 0 4px; padding-top: 14px; border-top: 1px solid var(--block-border-color); }}
.ih-signal {{ padding: 10px 0; border-bottom: 1px solid var(--block-border-color); }}
.ih-signal:last-child {{ border-bottom: none; padding-bottom: 0; }}
.ih-signal .ih-note {{ margin-top: 4px; }}
.ih-signal-head {{ font-weight: 600; font-size: 15px; display: flex; align-items: center; gap: 8px; }}
.ih-badge {{
font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; font-weight: 500;
padding: 2px 8px; border-radius: 999px; border: 1px solid var(--block-border-color);
color: var(--body-text-color-subdued); text-transform: lowercase; letter-spacing: 0.02em;
}}
.ih-badge-high {{ background: rgba(193,129,255,0.14); border-color: rgba(193,129,255,0.45); color: var(--body-text-color); }}
.ih-footer {{
margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--block-border-color);
font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; color: var(--body-text-color-subdued);
}}
footer {{ font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; }}
@media (max-width: 640px) {{ .ih-hero h1 {{ font-size: 32px; }} }}
"""
HERO = """
<div class="ih-hero">
<div class="ih-eyebrow">Inter-2 Audio</div>
<h1>Hear how it was said.</h1>
<p>Upload or record a speech clip and the model reads emotion, social signals and vocal delivery from the
voice: tone, prosody, pace and intensity. Pick a task, edit the prompt, or tick the schema to speed up inference.</p>
</div>
"""
FOOTER = '<div class="ih-footer">Interhuman AI · first 30 s of each clip are used</div>'
|