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

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

This document provides 10 comprehensive AI image prompts, creative briefs, and visual direction specifications, designed for professional use in generating high-quality AI imagery. Each entry is meticulously detailed to ensure clarity, artistic intent, and technical precision, suitable for direct input into advanced AI image generation models and for guiding human creative teams.


Image Prompt & Brief Creator: Detailed Output

1. Prompt: "Dawn of Innovation"

  • AI Image Prompt:

A high-resolution, ultra-realistic, cinematic photograph of a sleek, minimalist, glowing holographic interface displaying complex data visualizations, seamlessly integrated into a modern, sun-drenched architectural space. A diverse, professional team (one woman, two men) in contemporary business attire are subtly interacting with the interface, their faces illuminated by its soft light, conveying focus and collaborative synergy. The background features a panoramic view of a futuristic cityscape at dawn, with soft, golden hour light filtering through large glass windows. Sharp focus on the interface and team, subtle bokeh in the background. Shot on a Sony Alpha a7R IV with a 50mm f/1.2 lens, ISO 100, professional studio lighting, 4K, hyper-detailed, volumetric lighting, slight lens flare.

  • Creative Brief:

* Objective: To visually represent cutting-edge technology, collaborative innovation, and a forward-thinking approach in a corporate or tech context.

* Target Audience: Tech industry professionals, investors, corporate clients, potential employees, and a general audience interested in the future of work and technology.

* Key Message/Concept: Innovation through collaboration, seamless integration of technology, and a bright future powered by human ingenuity.

* Desired Mood/Emotion: Optimistic, sophisticated, intelligent, aspirational, collaborative, modern.

* Usage Context: Corporate websites, annual reports, technology presentations, marketing materials for tech products/services, internal communications.

* Mandatories/Exclusions: Must convey diversity and professionalism. Avoid overly dystopian or overtly sci-fi elements; maintain a grounded, near-future feel.

  • Visual Direction Specs:

* Subject Details: Three professionals (1 woman, 2 men, diverse ethnicities) in their late 20s to early 40s, dressed in smart-casual to business-casual attire. Their interaction with the interface should be natural and focused, not exaggerated. Holographic interface should be subtle, sophisticated, and visually engaging, displaying abstract but plausible data.

* Setting/Environment: A spacious, high-ceilinged, open-plan office or innovation lab with clean lines, minimalist design, and ample natural light. Materials should be high-tech (glass, polished concrete, brushed metal). Futuristic cityscape outside should be aspirational, not dystopian.

* Composition: Rule of thirds, with the holographic interface as a central focal point, and the team positioned around it, creating a sense of interaction. Eye-level perspective.

* Lighting: Soft, warm, golden hour light from a large window on one side, complemented by cool, subtle light emanating from the holographic display. Volumetric lighting to highlight dust particles in the air for added realism.

* Color Palette: Dominant cool blues and greens from the interface, balanced by warm golden and amber tones from the sunrise. Neutral grays and whites for the architecture.

* Style/Art Direction: Hyper-realistic, cinematic photography. Emphasis on clean aesthetics and contemporary design.

* Technical Specifications: 4K resolution, 16:9 aspect ratio. Shallow depth of field to keep focus on the team and interface. Subtle lens flare from the sun.


2. Prompt: "Whispers of the Ancient Forest"

  • AI Image Prompt:

An ethereal, highly detailed, and atmospheric photograph of an ancient, moss-covered forest, bathed in mystical, diffused morning light. Sunlight filters through a dense canopy, creating dramatic light shafts and a soft, misty atmosphere. A majestic, gnarled oak tree with glowing runes subtly etched into its bark stands as the central focal point. A faint, almost imperceptible magical aura emanates from the forest floor, illuminating delicate bioluminescent flora and ancient stone ruins partially overgrown with ivy and moss. The scene evokes a sense of deep tranquility and ancient wisdom. Shot on a Hasselblad X1D II 50C with a 90mm f/2.8 lens, wide aperture, ISO 200, natural volumetric fog, 4K, hyper-detailed textures, cinematic color grading.

  • Creative Brief:

* Objective: To evoke a sense of wonder, mystery, and deep connection to nature, with a touch of fantasy and ancient lore.

* Target Audience: Fantasy enthusiasts, nature lovers, wellness brands, eco-tourism, storytelling and gaming industries.

* Key Message/Concept: The enduring power and magic of nature, hidden ancient wisdom, and a sense of serene discovery.

* Desired Mood/Emotion: Mystical, tranquil, awe-inspiring, mysterious, ancient, peaceful.

* Usage Context: Book covers, game concept art, environmental campaigns, meditation apps, fantasy art prints, website backgrounds for nature-focused brands.

* Mandatories/Exclusions: Must feel ancient and untouched. Avoid any signs of modern human intervention. The magic should be subtle and integrated, not overtly flashy.

  • Visual Direction Specs:

* Subject Details: The central oak tree should be truly ancient, with deep crevices and thick moss. Runes should be subtle and integrated into the bark, glowing with a soft, warm light. Bioluminescent flora should be delicate, like small mushrooms or ferns, emitting a gentle, cool glow.

* Setting/Environment: A temperate rainforest or old-growth forest. Ground covered in thick moss, fallen leaves, and ferns. Ancient, weathered stone ruins (e.g., a crumbling archway or partially buried pillar) should be visible but not dominant.

* Composition: Leading lines created by tree trunks and light shafts guiding the eye towards the central oak. Low-angle shot to emphasize the height of the trees and the grandeur of the forest.

* Lighting: Diffused, soft morning light with strong volumetric light shafts cutting through the mist. The light should have a slightly golden hue. Soft, cool glow from bioluminescent elements.

* Color Palette: Dominant greens (moss, foliage), browns (tree bark, earth), with accents of soft gold (sunlight), cool blues/purples (bioluminescence), and muted grays (stone).

* Style/Art Direction: Highly realistic with a painterly, fantastical undertone. Emphasis on texture and atmospheric depth.

* Technical Specifications: 4K resolution, 3:2 aspect ratio. Deep depth of field to capture the expanse of the forest, but with a slight fall-off in extreme distance to enhance the misty effect.


3. Prompt: "Abstract Data Flow"

  • AI Image Prompt:

A dynamic, high-resolution, abstract 3D render depicting complex data streams and networks as luminous, interconnected pathways of light, flowing through a dark, infinite void. The pathways are composed of thousands of tiny, glowing particles, forming intricate patterns and pulsating with energy. Colors transition smoothly from cool blues and purples to warm oranges and reds, symbolizing data processing and transformation. The perspective is from within the data flow, creating a sense of immersion and scale. Sharp focus on foreground data streams, with a subtle depth of field blurring distant networks. Rendered in OctaneRender with global illumination, volumetric light, 4K, hyper-detailed, futuristic, clean, digital art.

  • Creative Brief:

* Objective: To visually represent the complexity, scale, and dynamic nature of data, big data, and network connectivity in an abstract yet engaging manner.

* Target Audience: Tech companies, data analytics firms, cybersecurity, cloud computing providers, financial institutions, and anyone needing to visualize abstract digital concepts.

* Key Message/Concept: The power of data, interconnectedness, information flow, digital intelligence, and technological advancement.

* Desired Mood/Emotion: Intelligent, dynamic, futuristic, sophisticated, vast, energetic.

* Usage Context: Technology company websites, presentations, marketing materials, annual reports, stock imagery for digital concepts, screensavers, and digital art installations.

* Mandatories/Exclusions: Must be abstract; avoid literal representations of hardware or specific data points. The aesthetic should be clean and high-tech, not messy or chaotic.

  • Visual Direction Specs:

* Subject Details: Data streams should appear as intricate, glowing conduits or rivers of light. Particles within the streams should suggest data packets or bits, moving with a sense of purpose.

* Setting/Environment: A boundless, dark, digital void. The only light should emanate from the data streams themselves, creating glowing reflections and subtle illumination.

* Composition: Immersive, first-person perspective, as if floating within the data network. Strong diagonal lines and curves created by the data pathways to convey movement and depth.

* Lighting: Self-illuminating data streams provide all the light. Global illumination to create soft, ethereal glow and reflections. Subtle volumetric light to enhance the sense of depth in the void.

* Color Palette: A gradient spectrum: starting with deep blues and purples, transitioning through electric greens and yellows, and culminating in vibrant oranges and reds. This gradient should suggest progression or transformation.

* Style/Art Direction: High-fidelity 3D digital art. Smooth, clean lines and surfaces. Emphasis on light and shadow play.

* Technical Specifications: 4K resolution, 21:9 aspect ratio (cinematic widescreen). Moderate depth of field to emphasize foreground elements while showing the vastness of the network.


4. Prompt: "Gourmet Dessert Alchemy"

  • AI Image Prompt:

A macro, ultra-high-resolution, art-directed photograph of an exquisitely plated gourmet dessert: a deconstructed dark chocolate lava cake with a vibrant raspberry coulis, delicate edible gold leaf, and a single perfectly sculpted quenelle of vanilla bean ice cream. The dessert is presented on a minimalist, dark slate plate, placed on a polished dark wooden table. Soft, dramatic studio lighting from the side highlights textures and creates deep shadows, emphasizing the dessert's sculptural qualities. A subtle mist or vapor effect around the ice cream adds a touch of freshness. Shot with a Canon EOS R5 and a 100mm f/2.8 macro lens, f/4, ISO 100, professional food styling, 4K, hyper-detailed, shallow depth of field, rich color saturation.

  • Creative Brief:

* Objective: To showcase a high-end, visually stunning dessert that evokes luxury, culinary artistry, and irresistible indulgence.

* Target Audience: Fine dining restaurants, gourmet food brands, culinary magazines, food bloggers, luxury lifestyle publications, and discerning foodies.

* Key Message/Concept: Culinary excellence, artistic presentation, premium ingredients, and a sophisticated dessert experience.

* Desired Mood/Emotion: Luxurious, indulgent, sophisticated, appetizing, artistic, elegant.

* Usage Context: Restaurant menus, social media marketing for high-end eateries, culinary advertisements, food photography portfolios, cookbook illustrations.

* Mandatories/Exclusions: Must appear perfectly styled and pristine. Avoid any imperfections, crumbs, or messy elements. Focus on elegance and precision.

  • Visual Direction Specs:

* Subject Details: Deconstructed lava cake: molten chocolate oozing, crisp outer shell. Raspberry coulis: vibrant red, artfully drizzled. Gold leaf: strategically placed for maximum visual impact. Ice cream quenelle: perfectly smooth and elegant.

* Setting/Environment: Minimalist background to keep focus solely on the dessert. Dark slate plate provides contrast. Polished dark wood surface adds warmth and texture without distracting.

* Composition: Close-up macro shot. Rule of thirds or centered, depending on the dynamic arrangement of elements. Negative space around the dessert to emphasize its presentation.

* Lighting: Softbox lighting from a 45-degree angle to create appealing highlights and deep, rich shadows that define the textures and forms. A subtle back light to add rim lighting to the ice cream.

* Color Palette: Rich dark browns of chocolate, vibrant reds of raspberry, creamy whites of ice cream, metallic gold, and dark grays/blacks of the plate/background. High contrast.

* Style/Art Direction: Professional food photography, highly stylized and art-directed. Emphasis on texture, color, and precise arrangement.

* Technical Specifications: 4K resolution, 5:4 aspect ratio (classic food photography). Extremely shallow depth of field to isolate the dessert and create creamy bokeh.


5. Prompt: "The Cartographer's Sanctuary"

  • AI Image Prompt:

A warm, inviting, and highly detailed photograph of a vintage explorer's desk laden with antique cartography tools. The desk is made of rich, dark wood, covered with unfurled, aged parchment maps with intricate hand-drawn details. On the desk are a brass telescope, a leather-bound journal, a quill and inkwell, a compass, and scattered old coins. A single, flickering oil lamp casts a warm, soft glow, creating dramatic shadows and highlights. Dust motes dance in the lamplight. The background is a softly blurred bookshelf filled with old, leather-bound books. Shot with a Fujifilm GFX 100S with an 80mm f/1.7 lens, f/2.8, ISO 400, professional still life lighting, 4K, hyper-realistic textures, nostalgic, warm sepia tones.

  • Creative Brief:

* Objective: To evoke a sense of adventure, discovery, history, and intellectual curiosity through a meticulously crafted vintage scene.

* Target Audience: Travel agencies specializing in historical tours, luxury vintage brands, writers, historians, educational institutions, interior design, and antique collectors.

* Key Message/Concept: Exploration, knowledge, the romance of the past, the journey of discovery, and timeless craftsmanship.

* Desired Mood/Emotion: Nostalgic, adventurous, intellectual, cozy, warm, inspiring, historical.

* Usage Context: Marketing for travel or historical brands, book covers, educational materials, editorial content for lifestyle magazines, home decor inspiration.

* Mandatories/Exclusions: Every item must look genuinely antique and well-used, but not dilapidated. Avoid any modern elements.

  • Visual Direction Specs:

* Subject Details: Maps should show intricate details of old-world continents. Journal should appear well-loved. Telescope, compass, quill, and inkwell should have a polished brass finish. Scattered gold coins add a touch of treasure.

* Setting/Environment: A sturdy, dark wooden desk with visible grain and slight wear. Background bookshelf filled with uniformly aged, leather-bound books, creating a sophisticated, scholarly atmosphere.

* Composition: Still life arrangement, carefully balanced to draw the eye across the various objects. Rule of thirds for primary objects (e.g., telescope, journal). Slight overhead angle to showcase the maps.

*

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);}});}