mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-28 07:32:52 +00:00
/referral promised $25/$100/$500 credits, a 10% token kickback, a free week per paid upgrade and a free Enterprise year; nothing in the cloud pays any of it (the score is +1 signup, +20 referral that pays, +1 per 100K tokens, +10 star, +1 follow). The page is the real rules and the same share card as the beta. scripts/audit-copy.ts fails words that sell and marks of work not done; the customer, proof, history and careers files, which move to the CMS, are listed there until they do. Claude-Session: https://claude.ai/code/session_017vrVus6PPBgP5YRzKV1iqW
589 lines
22 KiB
TypeScript
589 lines
22 KiB
TypeScript
/**
|
||
* Hanzo Creative AI — Open Foundations & Proprietary Model Class Registry
|
||
*
|
||
* Establishes two strictly separate product classes:
|
||
* 1. Open Foundation (Zen): Apache-2.0 / MIT, public weights on huggingface.co/zenlm,
|
||
* reproducible research, open development.
|
||
* 2. Research Preview (Hanzo): Proprietary fine-tunes, private weights,
|
||
* controlled research-access gating on hanzo.ai & platform.hanzo.ai.
|
||
*/
|
||
|
||
import { phrase } from '@hanzo/i18n'
|
||
|
||
/** A colour as a design token reference, or a mix of them, never a literal. */
|
||
export type Tone = `var(--${string})`
|
||
|
||
export type ModelClass = 'open' | 'proprietary'
|
||
export type WeightsAccess = 'public' | 'private'
|
||
export type LicenseType = 'Apache 2.0' | 'MIT' | 'Proprietary' | 'Apache 2.0 / MIT' | string
|
||
export type AccessPolicy = 'public' | 'research_approval'
|
||
export type ApiVisibility = 'public' | 'inference_gated' | 'public_catalog'
|
||
export type StudioVisibility = 'general_availability' | 'research_preview'
|
||
export type FineTuningPolicy = 'open' | 'controlled' | 'open_license' | 'hanzo_agreement'
|
||
export type CreativeRole = 'Video' | 'Image' | '3D' | 'Foley' | 'Voice' | 'Music'
|
||
export type CreativeModality = 'video' | 'image' | '3d' | 'foley' | 'voice' | 'music'
|
||
|
||
export interface OpenFoundation {
|
||
id: string
|
||
name: string
|
||
base: string
|
||
license: string
|
||
hf_url: string
|
||
huggingface: string
|
||
github_url: string
|
||
github: string
|
||
notes: string
|
||
model_class: 'open'
|
||
weights_access: 'public'
|
||
access_policy: 'public'
|
||
api_visibility: 'public_catalog'
|
||
studio_visibility: 'general_availability'
|
||
fine_tuning: 'open_license'
|
||
}
|
||
|
||
export interface CreativeCapability {
|
||
title: string
|
||
description: string
|
||
}
|
||
|
||
export interface CreativeUseCase {
|
||
industry: string
|
||
title: string
|
||
description: string
|
||
}
|
||
|
||
export interface CreativeModel {
|
||
id: string
|
||
slug: string
|
||
modelId: string
|
||
name: string
|
||
/** The release, as menus and the page heading say it: "Koma 1". */
|
||
release: string
|
||
role: CreativeRole
|
||
modality: CreativeModality
|
||
/** What it makes, in a word, as authored English (`phrase`): draw it with `t()`. */
|
||
modalityLabel: string
|
||
tagline: string
|
||
/** What it does, in a line, as authored English (`phrase`): draw it with `t()`. */
|
||
lede: string
|
||
/** The model's hue, one of @hanzo/design's art palette, so it follows the theme. */
|
||
accent: Tone
|
||
accentColor: Tone
|
||
accentGradient: string
|
||
route: string
|
||
model_class: ModelClass
|
||
weights_access: WeightsAccess
|
||
license: LicenseType
|
||
access_policy: AccessPolicy
|
||
huggingface: string | null
|
||
github: string | null
|
||
api_visibility: ApiVisibility
|
||
studio_visibility: StudioVisibility
|
||
fine_tuning: FineTuningPolicy
|
||
foundation: OpenFoundation
|
||
open_foundation: OpenFoundation
|
||
capabilities: CreativeCapability[]
|
||
use_cases: CreativeUseCase[]
|
||
}
|
||
|
||
export const CREATIVE_MODELS: readonly CreativeModel[] = [
|
||
{
|
||
id: 'koma-1',
|
||
slug: 'koma',
|
||
modelId: 'koma-1',
|
||
name: 'Koma',
|
||
release: 'Koma 1',
|
||
role: 'Video',
|
||
modality: 'video',
|
||
modalityLabel: phrase('Video'),
|
||
tagline: 'Every frame tells a story.',
|
||
lede: phrase('Cinematic video generation, character continuity, motion, animation, and shot-level creative control.'),
|
||
accent: 'var(--art-tide)',
|
||
accentColor: 'var(--art-tide)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-tide) 0%, var(--art-iris) 100%)',
|
||
route: '/koma',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen-director',
|
||
name: 'Zen Director',
|
||
base: 'Wan2.2 5B',
|
||
license: 'Apache 2.0',
|
||
hf_url: 'https://huggingface.co/zenlm/zen-director',
|
||
huggingface: 'https://huggingface.co/zenlm/zen-director',
|
||
github_url: 'https://github.com/zenlm/zen-director',
|
||
github: 'https://github.com/zenlm/zen-director',
|
||
notes: 'Upstream diffusion transformer foundation under Apache 2.0 for community video research.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Temporal character continuity',
|
||
description: 'Maintains identity, costume attributes, facial geometry, and lighting coherence across multi-cut cinematic sequences.',
|
||
},
|
||
{
|
||
title: 'Shot-level director control',
|
||
description: 'Parametric camera choreography: focal length, pan/tilt rate, crane elevation, and dynamic optical depth-of-field.',
|
||
},
|
||
{
|
||
title: 'High-fidelity motion synthesis',
|
||
description: 'Continuous flow-matching spatial-temporal diffusion eliminating morphing, temporal flicker, and anatomy degeneration.',
|
||
},
|
||
{
|
||
title: 'Keyframe-guided scene trajectories',
|
||
description: 'Interpolates smoothly between user-defined storyboard keyframes with physics-aware object kinematics.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Film and episodic VFX',
|
||
title: 'Previsualization and virtual production',
|
||
description: 'Turn treatment scripts and concept art into dynamic camera animatics before principal photography begins.',
|
||
},
|
||
{
|
||
industry: 'Advertising',
|
||
title: 'High-velocity spot iteration',
|
||
description: 'Generate product-centric commercial variants with exact brand asset placement and lighting continuity.',
|
||
},
|
||
{
|
||
industry: 'Game development',
|
||
title: 'In-game cinematics and storyboards',
|
||
description: 'Rapidly construct dynamic narrative cutscenes matching game engine art direction.',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: 'iro-1',
|
||
slug: 'iro',
|
||
modelId: 'iro-1',
|
||
name: 'Iro',
|
||
release: 'Iro 1',
|
||
role: 'Image',
|
||
modality: 'image',
|
||
modalityLabel: phrase('Image'),
|
||
tagline: 'Imagine without limits.',
|
||
lede: phrase('High-fidelity image generation, creative direction, editing, character design and consistent visual assets.'),
|
||
accent: 'var(--art-iris)',
|
||
accentColor: 'var(--art-iris)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-iris) 0%, var(--art-ember) 100%)',
|
||
route: '/iro',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen3-image',
|
||
name: 'Zen3 Image',
|
||
base: 'Qwen-Image (Evaluating Qwen-Image-2512)',
|
||
license: 'Apache 2.0',
|
||
hf_url: 'https://huggingface.co/zenlm/zen3-image',
|
||
huggingface: 'https://huggingface.co/zenlm/zen3-image',
|
||
github_url: 'https://github.com/zenlm/zen-artist',
|
||
github: 'https://github.com/zenlm/zen-artist',
|
||
notes: 'Apache 2.0 foundation for text-to-image synthesis, stylistic fine-tunes, and community benchmarks.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Photorealistic and stylized direction',
|
||
description: 'Micro-surface textures, ray-traced global illumination and lettering in any period’s style.',
|
||
},
|
||
{
|
||
title: 'Iterative semantic inpainting',
|
||
description: 'Perform granular region-based edits and relighting without altering unmasked background or introducing stylistic seam lines.',
|
||
},
|
||
{
|
||
title: 'Multi-perspective character sheets',
|
||
description: 'Create multi-angle turnarounds, expression sheets, and costume variations for fictional or branded characters.',
|
||
},
|
||
{
|
||
title: '16-bit wide-gamut output',
|
||
description: 'Native wide-gamut RGB pipeline supporting Rec. 2020, Adobe RGB, and CMYK proofing workflows.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Brand and marketing',
|
||
title: 'Omnichannel campaign assets',
|
||
description: 'Produce high-resolution campaign assets adapted for billboard, mobile, social, and print mediums simultaneously.',
|
||
},
|
||
{
|
||
industry: 'Concept art and design',
|
||
title: 'Rapid worldbuilding and props',
|
||
description: 'Accelerate visual development phases for entertainment franchises and industrial product packaging.',
|
||
},
|
||
{
|
||
industry: 'Publishing',
|
||
title: 'Custom hero cover artwork',
|
||
description: 'Synthesize stylistically coherent editorial illustrations with complex conceptual metaphors.',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: 'mori-1',
|
||
slug: 'mori',
|
||
modelId: 'mori-1',
|
||
name: 'Mori',
|
||
release: 'Mori 1',
|
||
role: '3D',
|
||
modality: '3d',
|
||
modalityLabel: phrase('3D'),
|
||
tagline: 'Build worlds, not just images.',
|
||
lede: phrase('3D assets, geometry, materials, environments and spatially consistent scenes.'),
|
||
accent: 'var(--art-ember)',
|
||
accentColor: 'var(--art-ember)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-ember) 0%, var(--art-glow) 100%)',
|
||
route: '/mori',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen-3d',
|
||
name: 'Zen 3D',
|
||
base: 'TRELLIS',
|
||
license: 'MIT',
|
||
hf_url: 'https://huggingface.co/zenlm/zen-3d',
|
||
huggingface: 'https://huggingface.co/zenlm/zen-3d',
|
||
github_url: 'https://github.com/zenlm/zen-3d',
|
||
github: 'https://github.com/zenlm/zen-3d',
|
||
notes: 'Open-source 3D asset generator based on MIT-licensed TRELLIS neural radiance representations.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Production quad and tri topologies',
|
||
description: 'Generates clean, water-tight, manifold meshes with optimized edge flow ready for rigging, animation, and real-time engine shaders.',
|
||
},
|
||
{
|
||
title: 'Complete PBR material synthesis',
|
||
description: 'Delivers full Physically Based Rendering material stacks: albedo, normal, roughness, metallic, ambient occlusion, and emissive maps.',
|
||
},
|
||
{
|
||
title: 'Spatially coherent environments',
|
||
description: 'Construct full 3D interior and exterior scene geometry aligned to absolute real-world metric scale and coordinate grids.',
|
||
},
|
||
{
|
||
title: 'Universal engine export',
|
||
description: 'Exports USDZ, glTF and GLB, FBX and OBJ, and 3D Gaussian splats.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Spatial computing',
|
||
title: 'AR asset pipeline',
|
||
description: 'Generate photorealistic interactive 3D models for AR commerce and spatial apps.',
|
||
},
|
||
{
|
||
industry: 'Game development',
|
||
title: 'Real-time environment and prop kitbashing',
|
||
description: 'Populate vast open worlds with hundreds of unique, textured 3D props matching target polycount budgets.',
|
||
},
|
||
{
|
||
industry: 'Architecture and industrial design',
|
||
title: 'Rapid spatial prototyping',
|
||
description: 'Translate conceptual sketches and CAD schematics into fully realized 3D spatial volumes.',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: 'oto-1',
|
||
slug: 'oto',
|
||
modelId: 'oto-1',
|
||
name: 'Oto',
|
||
release: 'Oto 1',
|
||
role: 'Foley',
|
||
modality: 'foley',
|
||
modalityLabel: phrase('Foley'),
|
||
tagline: 'Give every moment its sound.',
|
||
lede: phrase('Film Foley, immersive sound effects, environmental audio and synchronized scene sound.'),
|
||
accent: 'var(--art-tide)',
|
||
accentColor: 'var(--art-tide)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-tide) 0%, var(--art-glow) 100%)',
|
||
route: '/oto',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen-foley',
|
||
name: 'Zen Foley',
|
||
base: 'MOSS-SoundEffect v2',
|
||
license: 'Apache 2.0',
|
||
hf_url: 'https://huggingface.co/zenlm/zen-foley',
|
||
huggingface: 'https://huggingface.co/zenlm/zen-foley',
|
||
github_url: 'https://github.com/zenlm/zen-foley',
|
||
github: 'https://github.com/zenlm/zen-foley',
|
||
notes: 'New open foundation release derived from Apache 2.0 licensed MOSS-SoundEffect v2 with attribution.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Timeline-synchronized Foley',
|
||
description: 'Aligns transient sound impacts, footsteps, collisions, and cloth rustle to video frames down to millisecond precision.',
|
||
},
|
||
{
|
||
title: 'Acoustic room impulse modeling',
|
||
description: 'Automatically matches early reflections, reverberation decay, and high-frequency absorption to physical scene geometry.',
|
||
},
|
||
{
|
||
title: 'Layered multi-stem ambience',
|
||
description: 'Generates isolated multichannel bed tracks: wind, urban traffic, foliage movement, room tone, and distant atmospheric cues.',
|
||
},
|
||
{
|
||
title: 'Dynamic mechanical and impact sound',
|
||
description: 'Produces complex physical audio: vehicle engine load, firearm transients, glass stress fractures, and metallic resonance.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Post-production',
|
||
title: 'Automated Foley track generation',
|
||
description: 'Eliminate tedious manual spot-effects editing by synthesizing frame-aligned footsteps, props, and cloth movements.',
|
||
},
|
||
{
|
||
industry: 'Game audio',
|
||
title: 'Procedural audio asset banks',
|
||
description: 'Generate endless non-repeating variations of impact sounds, footsteps on varying surfaces, and weapon transients.',
|
||
},
|
||
{
|
||
industry: 'Virtual worlds',
|
||
title: 'Spatial 3D audio environments',
|
||
description: 'Bake realistic acoustic audio stems into virtual venues, architectural walkthroughs, and simulations.',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: 'koe-1',
|
||
slug: 'koe',
|
||
modelId: 'koe-1',
|
||
name: 'Koe',
|
||
release: 'Koe 1',
|
||
role: 'Voice',
|
||
modality: 'voice',
|
||
modalityLabel: phrase('Voice'),
|
||
tagline: 'Performance in every word.',
|
||
lede: phrase('Directable speech synthesis, character performances, dubbing and multilingual dialogue.'),
|
||
accent: 'var(--art-iris)',
|
||
accentColor: 'var(--art-iris)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-iris) 0%, var(--art-tide) 100%)',
|
||
route: '/koe',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen3-tts',
|
||
name: 'Zen3 TTS',
|
||
base: 'Qwen3-TTS',
|
||
license: 'Apache 2.0',
|
||
hf_url: 'https://huggingface.co/zenlm/zen3-tts',
|
||
huggingface: 'https://huggingface.co/zenlm/zen3-tts',
|
||
github_url: 'https://github.com/zenlm/zen-dub',
|
||
github: 'https://github.com/zenlm/zen-dub',
|
||
notes: 'Open foundation multilingual speech synthesis under Apache 2.0.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Director-grade emotional modulation',
|
||
description: 'Direct nuances in tone: breath control, hesitation, whispers, intense delivery, irony, and pitch contour through natural language instructions.',
|
||
},
|
||
{
|
||
title: 'Cross-lingual voice cloning',
|
||
description: 'Preserves vocal identity, formant fingerprint and emotional timbre across languages and regional dialects.',
|
||
},
|
||
{
|
||
title: 'Viseme-synchronized dubbing',
|
||
description: 'Phoneme timing alignment matched to video mouth shapes and facial cadence for localization.',
|
||
},
|
||
{
|
||
title: 'Actor likeness rights',
|
||
description: 'Every synthesized voice carries an imperceptible cryptographic watermark, and its provenance is logged.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Localization',
|
||
title: 'Actor-preserving film dubbing',
|
||
description: 'Dub episodic television and movies into international languages while retaining the original actor’s voice characteristics.',
|
||
},
|
||
{
|
||
industry: 'Game dialogue',
|
||
title: 'Real-time branching character speech',
|
||
description: 'Deliver thousands of hours of high-performance character dialogue in video games without recording bottlenecks.',
|
||
},
|
||
{
|
||
industry: 'Audiobooks and podcasts',
|
||
title: 'Multi-voice dramatic performances',
|
||
description: 'Cast an entire ensemble of distinct characters from a single manuscript with consistent chapter-to-chapter character voices.',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
id: 'uta-1',
|
||
slug: 'uta',
|
||
modelId: 'uta-1',
|
||
name: 'Uta',
|
||
release: 'Uta 1',
|
||
role: 'Music',
|
||
modality: 'music',
|
||
modalityLabel: phrase('Music'),
|
||
tagline: 'Compose beyond imagination.',
|
||
lede: phrase('Soundtracks, original songs, musical ideas, cue-driven scoring and creative music production.'),
|
||
accent: 'var(--art-ember)',
|
||
accentColor: 'var(--art-ember)',
|
||
accentGradient: 'linear-gradient(135deg, var(--art-ember) 0%, var(--art-iris) 100%)',
|
||
route: '/uta',
|
||
model_class: 'proprietary',
|
||
weights_access: 'private',
|
||
license: 'Proprietary',
|
||
access_policy: 'research_approval',
|
||
huggingface: null,
|
||
github: null,
|
||
api_visibility: 'inference_gated',
|
||
studio_visibility: 'research_preview',
|
||
fine_tuning: 'controlled',
|
||
open_foundation: {
|
||
id: 'zen-musician',
|
||
name: 'Zen Musician',
|
||
base: 'YuE stage 1 (Evaluating ACE-Step 1.5 MIT)',
|
||
license: 'Apache 2.0 / MIT',
|
||
hf_url: 'https://huggingface.co/zenlm/zen-musician',
|
||
huggingface: 'https://huggingface.co/zenlm/zen-musician',
|
||
github_url: 'https://github.com/zenlm/zen-musician',
|
||
github: 'https://github.com/zenlm/zen-musician',
|
||
notes: 'Preserves historical YuE checkpoint; evaluating complete architecture on MIT-licensed ACE-Step 1.5 foundation.',
|
||
model_class: 'open',
|
||
weights_access: 'public',
|
||
access_policy: 'public',
|
||
api_visibility: 'public_catalog',
|
||
studio_visibility: 'general_availability',
|
||
fine_tuning: 'open_license',
|
||
},
|
||
get foundation() {
|
||
return this.open_foundation
|
||
},
|
||
capabilities: [
|
||
{
|
||
title: 'Multi-movement song and score generation',
|
||
description: 'Composes full multi-movement compositions with cohesive motifs, verse-chorus-bridge progressions, and orchestral codas.',
|
||
},
|
||
{
|
||
title: 'Dynamic video cue scoring',
|
||
description: 'Automated tempo ramps, harmonic tension builds, and dynamic hits synchronized to scene cuts and dramatic beats.',
|
||
},
|
||
{
|
||
title: 'Multitrack stem separation',
|
||
description: 'Generates separate mixable stems: lead vocal, backing vocal, drums, bass, rhythm guitars, synthesizers, and orchestral strings.',
|
||
},
|
||
{
|
||
title: 'Precise music theory controls',
|
||
description: 'Explicit direction over key signatures, modes (Dorian, Mixolydian, etc.), time signatures, BPM tempos, and arrangement density.',
|
||
},
|
||
],
|
||
use_cases: [
|
||
{
|
||
industry: 'Film and trailer scoring',
|
||
title: 'Adaptive cinematic soundtracks',
|
||
description: 'Draft, test, and orchestrate hybrid orchestral and electronic scores tailored directly to picture edits.',
|
||
},
|
||
{
|
||
industry: 'Game music',
|
||
title: 'Dynamic non-linear music systems',
|
||
description: 'Compose layered stems that dynamically fade in, intensify, or resolve based on in-game combat states.',
|
||
},
|
||
{
|
||
industry: 'Advertising',
|
||
title: 'Bespoke commercial brand anthems',
|
||
description: 'Produce original, broadcast-cleared signature themes and underscores without production music library compromises.',
|
||
},
|
||
],
|
||
},
|
||
]
|
||
|
||
export function getCreativeModel(slugOrId: string): CreativeModel | undefined {
|
||
const norm = slugOrId.toLowerCase().trim()
|
||
return CREATIVE_MODELS.find(
|
||
(m) => m.slug === norm || m.id === norm || m.modelId === norm || m.name.toLowerCase() === norm,
|
||
)
|
||
}
|
||
|
||
export const OPEN_FOUNDATIONS = CREATIVE_MODELS.map((m) => m.open_foundation)
|
||
export const PROPRIETARY_MODELS = CREATIVE_MODELS.map((m) => ({
|
||
id: m.id,
|
||
name: m.name,
|
||
slug: m.slug,
|
||
role: m.role,
|
||
modality: m.modality,
|
||
route: m.route,
|
||
tagline: m.tagline,
|
||
}))
|