Image Prompt & Brief Creator
Run ID: 69cd01f73e7fb09ff16a70d42026-04-01Design
PantheraHive BOS
BOS Dashboard

Generate 10 professional AI image prompts, creative briefs, and visual direction specs

Image Prompt & Brief Creator: Detailed Professional Output

This deliverable provides 10 comprehensive AI image prompts, each accompanied by a creative brief and detailed visual direction specifications. These are designed to be immediately actionable for AI image generation platforms, ensuring high-quality, professional results tailored to specific creative objectives.


1. Concept: "The Lumina Nexus"

Image Prompt

Prompt: A hyper-realistic, high-detail shot of a futuristic urban core at twilight. Towering, bioluminescent skyscrapers with intricate, fractal-like patterns emit soft, shifting neon blues and purples. Flying autonomous vehicles trace elegant light trails across the deep indigo sky. A bustling, multi-level pedestrian plaza below, rendered with wet, reflective surfaces mirroring the city lights, features diverse, stylishly dressed individuals interacting with holographic displays. The atmosphere is one of serene technological advancement and vibrant urban life. Shot with a wide-angle lens, low perspective, cinematic lighting, 16K resolution, volumetric fog, dynamic depth of field, Octane render, photorealistic. --ar 16:9 --v 5.2

Creative Brief

Purpose: To evoke a sense of awe and wonder for a future-forward technology brand's marketing campaign, showcasing potential urban environments powered by their innovations.

Target Audience: Tech enthusiasts, urban planners, design professionals, early adopters.

Key Message: "Experience the future, today." A harmonious blend of advanced technology and human experience.

Desired Feeling: Optimistic, sophisticated, breathtaking, aspirational.

Visual Direction Specs

  • Camera Angle: Low-angle, looking up towards the towering structures, emphasizing their scale.
  • Lens: Wide-angle (e.g., 16mm or 24mm equivalent) to capture expansive city views.
  • Lighting: Twilight, with primary light sources coming from within and around the buildings (bioluminescent, neon), complemented by ambient city glow and subtle volumetric fog.
  • Color Palette: Dominant cool tones (deep blues, purples, cyans) with accents of warm oranges or yellows from holographic displays or vehicle lights.
  • Textures: Smooth, reflective glass and metal for buildings; wet, polished ground; subtle glow and transparency for holographic elements.
  • Overall Mood: Majestic, technologically advanced, slightly ethereal.

2. Concept: "Whispers of the Ancient Grove"

Image Prompt

Prompt: A mystical, enchanting forest scene bathed in ethereal morning light. Ancient, gnarled trees with glowing moss and bioluminescent fungi line a winding path made of smooth, iridescent stones. Soft, golden light filters through a dense canopy, creating dappled patterns on the forest floor. Wisps of magical mist drift between the trees, revealing glimpses of hidden, glowing runes carved into tree trunks. A single, majestic deer with antlers adorned with tiny sparkling crystals stands peacefully by a crystal-clear stream. Fantasy art, high fantasy, dreamlike, intricate detail, volumetric lighting, cinematic, digital painting, trending on ArtStation, 8K, highly detailed. --ar 3:2 --v 5.2

Creative Brief

Purpose: To create key art for a fantasy novel or a nature-themed meditative app, conveying magic, tranquility, and hidden wonders.

Target Audience: Fantasy readers, nature lovers, wellness app users.

Key Message: "Discover the magic within." Embrace serenity and ancient wisdom.

Desired Feeling: Magical, peaceful, mysterious, awe-inspiring, serene.

Visual Direction Specs

  • Camera Angle: Eye-level or slightly low, looking along the path into the depth of the forest.
  • Lens: Standard to slightly wide-angle (e.g., 35mm or 50mm equivalent) to balance detail and scope.
  • Lighting: Soft, filtered morning light (golden hour), with internal light sources from bioluminescent elements and glowing runes. Volumetric mist adds to the ethereal quality.
  • Color Palette: Rich greens and browns, accented by glowing gold, soft blues, and purples from fungi and crystals.
  • Textures: Rough bark, smooth stones, velvety moss, shimmering crystal, soft mist.
  • Overall Mood: Enchanting, tranquil, ancient, slightly mysterious.

3. Concept: "Zenith Smartwatch - Minimalist Elegance"

Image Prompt

Prompt: A pristine, ultra-minimalist studio product shot of a sleek, matte black smartwatch with a vibrant, customizable digital display showing a subtle, abstract geometric pattern. The smartwatch is positioned diagonally on a seamless, pure white background. Soft, diffused top-down lighting creates subtle, clean shadows that emphasize the watch's contours without distraction. The focus is razor-sharp on the watch face and strap, with a shallow depth of field gently blurring the very edges of the background. High-resolution, crisp, clean, professional product photography, studio lighting, advertising style, 4K. --ar 4:5 --style raw --v 5.2

Creative Brief

Purpose: For a product launch campaign targeting premium tech consumers, highlighting the smartwatch's sophisticated design and cutting-edge display technology.

Target Audience: Affluent tech consumers, design enthusiasts, professionals seeking minimalist accessories.

Key Message: "Simplicity, redefined." Elegance meets innovation.

Desired Feeling: Modern, sophisticated, clean, precise, aspirational.

Visual Direction Specs

  • Camera Angle: Slightly elevated, looking down onto the watch, showcasing its profile and display.
  • Lens: Macro lens (e.g., 100mm equivalent) for extreme detail and shallow depth of field.
  • Lighting: Softbox lighting from directly above and slightly to the front, creating minimal, soft shadows. No harsh reflections.
  • Color Palette: Predominantly monochrome (matte black watch, white background) with a single, vibrant accent color from the watch's digital display (e.g., electric blue or emerald green).
  • Textures: Smooth, matte finish on the watch body; subtle texture on the strap; crisp, bright display.
  • Overall Mood: Clean, precise, elegant, high-tech.

4. Concept: "Echoes of the Digital Soul"

Image Prompt

Prompt: A dynamic, abstract digital art piece. Swirling vortexes of luminous data streams and geometric light particles coalesce and dissipate, forming a stylized, ethereal human silhouette at the center. The color palette is a vibrant gradient from deep indigo and electric blue to radiant fuchsia and neon green, pulsing with energy. The background is a dark, infinite digital void, emphasizing the glowing forms. Highly complex algorithms, generative art, digital painting, abstract expressionism, volumetric light, motion blur effect, 16K, trending on Behance. --ar 16:9 --v 5.2

Creative Brief

Purpose: To serve as a visual metaphor for artificial intelligence or data processing, suitable for a tech conference backdrop, digital art gallery, or software company branding.

Target Audience: Tech innovators, digital artists, modern art enthusiasts, AI researchers.

Key Message: "The essence of data." Exploring the intersection of technology and consciousness.

Desired Feeling: Energetic, intelligent, abstract, futuristic, thought-provoking.

Visual Direction Specs

  • Camera Angle: N/A (abstract, non-representational space).
  • Lens: N/A (digital rendering).
  • Lighting: Internal luminosity from the data streams and particles, creating self-illumination against a dark background.
  • Color Palette: High-contrast, vibrant, and iridescent: deep blues, purples, fuchsias, greens, with bright white highlights.
  • Textures: Smooth, glowing, flowing, crystalline, ephemeral.
  • Overall Mood: Dynamic, intelligent, abstract, futuristic.

5. Concept: "Aethernaut's Ascent"

Image Prompt

Prompt: A retro-futuristic pulp sci-fi poster, reminiscent of 1950s and 60s illustration styles. A bold, intrepid astronaut in a bubble helmet and a clunky, metallic suit is seen ascending on a jetpack towards a colossal, ringed gas giant planet that dominates the background. The astronaut is tiny in comparison, emphasizing the vastness of space. Stylized rocket ships with exaggerated fins fly in the distance. Vibrant, saturated colors, strong comic-book outlines, halftone dots, distressed paper texture, bold typography (placeholder for "AETHERNAUT"), dramatic composition. By Frank R. Paul or Chesley Bonestell, high detail, vintage print quality, 4K. --ar 2:3 --v 5.2

Creative Brief

Purpose: To create promotional material for a retro-themed sci-fi game, comic book, or event, evoking nostalgia and adventure.

Target Audience: Sci-fi enthusiasts, retro gaming community, collectors of vintage art.

Key Message: "Explore the unknown." Bold adventure in the cosmic frontier.

Desired Feeling: Adventurous, nostalgic, pulpy, exciting, grand.

Visual Direction Specs

  • Camera Angle: Slightly low-angle, looking up at the astronaut and the planet, giving a sense of upward motion and grandeur.
  • Lens: N/A (illustrative style).
  • Lighting: Dramatic, high-contrast lighting typical of vintage posters, with strong highlights and deep shadows. Emphasize light sources from distant stars or nebulae.
  • Color Palette: Saturated primary and secondary colors (bold reds, blues, yellows, greens) with deep blacks for space and shadows.
  • Textures: Flat, illustrative colors with visible halftone dots; distressed paper or canvas texture overlay.
  • Overall Mood: Heroic, adventurous, vintage, epic.

6. Concept: "Summit's Embrace"

Image Prompt

Prompt: A majestic, panoramic landscape photograph of a snow-capped mountain range at sunrise. Golden light from the rising sun bathes the peaks, casting long, dramatic shadows across untouched snowfields and glacial valleys. A pristine, calm alpine lake in the foreground perfectly reflects the illuminated mountains and the clear, vibrant sky. The sky transitions from deep blues and purples near the horizon to warm oranges and yellows overhead. Ultra-realistic, breathtaking, National Geographic quality, incredible detail, sharp focus throughout, 16K, wide panoramic aspect ratio. --ar 21:9 --v 5.2

Creative Brief

Purpose: For a travel agency campaign, outdoor apparel brand, or nature documentary, to inspire a sense of wonder, tranquility, and the majesty of nature.

Target Audience: Travelers, hikers, outdoor enthusiasts, nature photographers.

Key Message: "Conquer the sublime." Experience nature's grandeur.

Desired Feeling: Awe-inspiring, serene, majestic, peaceful, expansive.

Visual Direction Specs

  • Camera Angle: Eye-level or slightly elevated, capturing the vastness of the landscape.
  • Lens: Ultra-wide-angle lens (e.g., 14mm or 20mm equivalent) for a sweeping panoramic view.
  • Lighting: Golden hour lighting from the rising sun, creating strong directional light, dramatic shadows, and warm highlights.
  • Color Palette: Cool blues and purples in the sky and shadows, transitioning to warm yellows, oranges, and pinks on the illuminated peaks. Pristine whites for snow.
  • Textures: Crisp snow, jagged rock, smooth water surface, clear sky.
  • Overall Mood: Grand, peaceful, inspiring, natural.

7. Concept: "The City's Canvas"

Image Prompt

Prompt: A gritty, candid street photography portrait of an elderly, charismatic artist with paint-splattered hands and a worn denim jacket, sitting on a milk crate in a vibrant, graffiti-covered alleyway. They are looking directly at the camera with a knowing, gentle smile. The alley is filled with rich, textured street art, peeling posters, and scattered art supplies. Natural, overcast daylight provides soft, even illumination, highlighting the character's wrinkles and the textures of the surroundings. Urban realism, documentary style, high dynamic range, shallow depth of field, 35mm film grain, 8K. --ar 4:3 --v 5.2

Creative Brief

Purpose: To capture authentic human connection and urban artistic spirit for a cultural magazine feature, documentary series, or social awareness campaign.

Target Audience: Art enthusiasts, urban culture followers, documentary viewers, local community advocates.

Key Message: "Art lives everywhere." Celebrating the unsung heroes of urban creativity.

Desired Feeling: Authentic, human, gritty, artistic, warm.

Visual Direction Specs

  • Camera Angle: Eye-level, direct and intimate, fostering a sense of connection with the subject.
  • Lens: Prime lens (e.g., 50mm or 85mm equivalent) for a natural perspective and excellent bokeh.
  • Lighting: Soft, diffused natural light from an overcast sky, or a shaded alleyway, ensuring even illumination and minimal harsh shadows.
  • Color Palette: Earthy tones, muted blues and greens from denim, vibrant splashes of color from graffiti and paint, warm skin tones.
  • Textures: Rough brick, peeling paint, worn fabric, textured skin, subtle film grain.
  • Overall Mood: Authentic, intimate, reflective, urban.

8. Concept: "Scandinavian Serenity"

Image Prompt

Prompt: A bright, airy, modern Scandinavian living room interior, bathed in abundant natural light from large, floor-to-ceiling windows overlooking a serene, minimalist garden. The room features a light grey sofa with textured throw pillows, a simple wooden coffee table with a single ceramic vase holding a minimalist green plant, and a clean white rug. Walls are painted a soft off-white. Minimalist design, clean lines, warm wood accents, natural textures, hygge aesthetic, architectural photography, volumetric lighting, photorealistic, 16K. --ar 16:9 --v 5.2

Creative Brief

Purpose: For an interior design magazine, furniture catalog, or real estate listing, showcasing a peaceful, functional, and aesthetically pleasing living space.

Target Audience: Homeowners, interior designers, architects, minimalist lifestyle enthusiasts.

Key Message: "Live with intention." Embrace calm and functional beauty.

Desired Feeling: Peaceful, clean, inviting, sophisticated, calm.

Visual Direction Specs

  • Camera Angle: Slightly wide-angle, capturing the breadth of the room while maintaining a natural perspective, from a corner looking towards the windows.
  • Lens: Architectural lens (e.g., 24mm or 35mm equivalent, tilt-shift if possible) to ensure straight lines and minimal distortion.
  • Lighting: Abundant natural daylight flooding the room from large windows, supplemented by soft, diffused ambient light.
  • Color Palette: Predominantly muted and neutral (whites, greys, light woods) with subtle green accents from plants.
  • Textures: Smooth wood, soft fabrics, ceramic, glass, crisp plaster walls.
  • Overall Mood: Serene, minimalist, clean, warm, inviting.

9. Concept: "The Whispering Labyrinth"

Image Prompt

Prompt: A surreal, dreamlike landscape reminiscent of Salvador Dalí. A vast, arid desert stretches to an impossibly distant horizon, punctuated by melting clocks draped over impossible rock formations. Giant, elongated shadows of unseen figures stretch across the sand. In the foreground, a single, impossibly tall, slender tree with bare branches reaches towards a swirling, multi-colored sky filled with fragmented reflections of unknown worlds. The atmosphere is one of profound silence and existential mystery. Surrealism, dreamscape, highly imaginative, hyper-detailed, oil painting texture, 8K. --ar 3:2 --v 5.2

Creative Brief

Purpose: To create a thought-provoking and visually striking piece for a fine art exhibition, album cover, or philosophical publication, exploring themes of time, perception, and reality.

Target Audience: Art collectors, surrealism enthusiasts, philosophers, avant-garde music listeners.

Key Message: "Beyond the veil of reality." Challenging perceptions of time and space.

Desired Feeling: Mysterious, contemplative, unsettling, dreamlike, profound.

Visual Direction Specs

  • Camera Angle: Elevated, sweeping perspective, emphasizing the vastness and strangeness of the landscape.
  • Lens: N/A (painterly style).
  • Lighting: Ethereal, non-directional light that creates deep, unnatural shadows. The sky itself is a light source, casting surreal glows.
  • Color Palette: Desaturated desert tones (ochres, browns, pale blues) contrasting with vibrant, swirling colors in the sky (purples, greens, oranges).
  • Textures: Smooth, melting forms; rough, cracked earth; ghostly, transparent elements.
  • Overall Mood: Surreal,
image_prompt___brief_creator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}