import React from 'react'; import { motion } from 'framer-motion'; import { VideoProvider } from '@/types'; import { ZapIcon, BrainIcon, CheckIcon } from './Icons'; type PricingSamples = { '1s'?: number; '8s'?: number; '30s'?: number; '60s'?: number }; interface ProviderCard { id: VideoProvider; name: string; subtitle?: string; description?: string; icon: React.FC; color: 'coral' | 'electric'; features: string[]; badge?: string; pricing?: { per_second?: number | null; samples?: PricingSamples; evidence?: string | null }; } interface ProviderSelectProps { onSelect: (provider: VideoProvider) => void; } const providers: ProviderCard[] = [ { id: 'kling' as VideoProvider, name: 'Kie API', subtitle: '(cheap use less credits)', description: 'High-quality video generation with advanced continuity. Perfect for professional UGC and talking head videos.', icon: ZapIcon, color: 'coral', features: [ 'Veo 3.1 Fast Model', 'Image-to-Video & Text-to-Video', 'Video Extension (Seamless)', 'GPT-4o Prompt Generation', '9:16 Portrait Format', 'Voice Type Selection', ], badge: 'Recommended', pricing: { per_second: 0.05, samples: { '1s': 0.05, '8s': 0.4, '30s': 1.5, '60s': 3.0, }, evidence: 'Veo 3 Fast (8s, with audio) — Kie.ai $0.40 (≈$0.05/sec)', }, }, { id: 'replicate' as VideoProvider, name: 'Replicate API', subtitle: '(more credits, more expensive)', description: 'Access to diverse video generation models. Great for experimentation and unique creative styles.', icon: BrainIcon, color: 'electric', features: [ 'Multiple Model Options', 'Flexible Duration', 'Creative Styles', 'Cost Effective', 'API Simplicity', 'Community Models', ], badge: 'Flexible', pricing: { per_second: 0.15, samples: { '1s': 0.15, '8s': 1.2, '30s': 4.5, '60s': 9.0, }, evidence: 'google/veo-3-fast with_audio — $0.15 per second', }, }, ]; export const ProviderSelect: React.FC = ({ onSelect }) => { return (
{/* Hero Section */}

Video AdGenesis Studio

Transform your scripts into stunning videos with AI. Choose your preferred generation engine to get started.

{/* Provider Cards */}
{providers.map((provider, index) => ( ))}
{/* Footer Note */} Both providers use your Python backend. API keys are configured server-side.
); };