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

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

Image Prompt & Brief Creator: Detailed Output

This document provides 10 professional AI image prompts, comprehensive creative briefs, and specific visual direction specifications, designed to generate high-quality, targeted visual assets. Each entry is meticulously crafted for clarity, creativity, and actionable guidance for AI image generation.


Prompt #1: Futuristic Urban Oasis

1. AI Image Prompt:

A hyperrealistic, wide-angle shot of a utopian vertical city garden at dawn. Towering skyscrapers with integrated lush, cascading greenery, bioluminescent flora subtly glowing, and clean, reflective surfaces. A single, sleek, autonomous drone hovers gracefully in the foreground, observing the tranquil scene. Soft, golden hour light breaking through a light mist, casting long shadows. Ultra HD, cinematic quality, intricate details, serene atmosphere.

2. Creative Brief:

  • Purpose: To evoke a sense of hope, sustainability, and advanced urban living. Ideal for showcasing future-forward concepts or eco-tech initiatives.
  • Target Audience: Innovators, environmentalists, urban planners, tech enthusiasts, and a general audience interested in positive future visions.
  • Key Message: The future is green, sustainable, and technologically harmonious with nature.
  • Context/Use Case: Website hero image for a sustainable development company, magazine cover for an architecture or technology publication, promotional material for green tech, or a background for a presentation on urban innovation.

3. Visual Direction Specifications:

  • Style: Hyperrealistic, Photorealistic, Cinematic.
  • Composition: Wide-angle establishing shot, showcasing verticality and depth. Rule of thirds with the drone slightly off-center.
  • Lighting: Golden hour, soft diffused light with subtle rim lighting on the drone and building edges. Bioluminescent glow from the flora.
  • Color Palette: Predominantly greens, blues, and whites, with warm golden hues from the sunrise. Subtle purples/pinks from bioluminescence.
  • Mood/Atmosphere: Serene, hopeful, futuristic, tranquil, aspirational.
  • Key Elements/Details: Integrated vertical gardens, reflective glass, sleek drone, mist, subtle glowing plants.
  • Resolution/Aspect Ratio: Ultra HD, 16:9.

Prompt #2: Ancient Wisdom in Modern Form

1. AI Image Prompt:

A striking, minimalist composition featuring a weathered, ancient scroll unrolling to reveal a glowing holographic projection of complex data structures and neural networks. The scroll is made of aged parchment with subtle cracks, resting on a polished, dark obsidian surface. The hologram is vibrant blue and purple, emanating a soft light that illuminates the surrounding area. Studio lighting, dramatic contrast, high detail, symbolizing knowledge and progress. 8K, conceptual art.

2. Creative Brief:

  • Purpose: To represent the fusion of foundational knowledge with cutting-edge technology and data science. Ideal for educational platforms, AI companies, or thought leadership content.
  • Target Audience: Academics, tech professionals, researchers, students, and anyone interested in the evolution of knowledge and technology.
  • Key Message: The past informs the future; traditional wisdom combined with modern innovation creates powerful insights.
  • Context/Use Case: Educational website banner, tech conference presentation slide, book cover for a non-fiction title on AI or history, social media post for an intellectual campaign.

3. Visual Direction Specifications:

  • Style: Conceptual Art, Minimalist, Sci-Fi.
  • Composition: Close-up, centered composition focusing on the scroll and hologram. Strong negative space around the main elements.
  • Lighting: Dramatic studio lighting, emphasizing the contrast between the dark obsidian and the glowing hologram. Soft spill light from the hologram.
  • Color Palette: Earthy browns and creams for the scroll, deep blacks for the obsidian. Vibrant blues, purples, and subtle white for the hologram.
  • Mood/Atmosphere: Mysterious, intelligent, profound, innovative.
  • Key Elements/Details: Aged parchment texture, intricate holographic data, polished obsidian surface.
  • Resolution/Aspect Ratio: 8K, 4:3 (for a more focused, art-like feel).

Prompt #3: Dynamic Product Showcase: Sleek Smartwatch

1. AI Image Prompt:

A professional, high-resolution product shot of a minimalist, black matte smartwatch with a vibrant, customizable digital display showing a complex health metric interface. The smartwatch is positioned diagonally on a gradient background transitioning from dark charcoal to a subtle, deep teal. Soft, diffused studio lighting highlights the watch's contours and screen clarity. A slight bokeh effect in the background, drawing focus to the product. Photorealistic, clean, luxurious.

2. Creative Brief:

  • Purpose: To showcase the elegance, functionality, and high-tech appeal of a premium smartwatch.
  • Target Audience: Tech-savvy consumers, fitness enthusiasts, professionals seeking sophisticated accessories, and luxury product buyers.
  • Key Message: Seamless integration of style, health, and cutting-edge technology.
  • Context/Use Case: E-commerce product page, digital advertisement (banner ad, social media ad), lifestyle magazine feature, product launch campaign.

3. Visual Direction Specifications:

  • Style: Photorealistic, Product Photography, Clean.
  • Composition: Close-up, slightly off-center diagonal placement of the watch, using negative space effectively.
  • Lighting: Softbox studio lighting, even and diffused, with subtle highlights on the watch's edges and screen.
  • Color Palette: Dominant blacks and grays for the watch and background, with vibrant, customizable colors (e.g., electric blue, bright green) on the digital display.
  • Mood/Atmosphere: Modern, sophisticated, premium, technologically advanced.
  • Key Elements/Details: Matte finish, clear digital display with detailed interface, subtle reflections.
  • Resolution/Aspect Ratio: Ultra HD, 1:1 (for versatile social media and e-commerce use).

Prompt #4: Enigmatic Forest Portal

1. AI Image Prompt:

A breathtaking, fantasy-style render of an ancient, moss-covered stone archway nestled deep within an ethereal, mist-shrouded forest. Through the archway, a shimmering portal pulsates with soft, otherworldly light in hues of emerald green and violet. Giant, ancient trees with gnarled roots dominate the foreground. Sunbeams pierce through the dense canopy, creating dramatic god rays. Dreamlike, high fantasy, intricate details, enchanting atmosphere. 4K, digital painting.

2. Creative Brief:

  • Purpose: To evoke wonder, mystery, and a sense of adventure. Ideal for fantasy game art, book covers, or imaginative brand storytelling.
  • Target Audience: Gamers, fantasy readers, artists, creative industries, and anyone drawn to magical realism.
  • Key Message: Explore the unknown; magic exists just beyond the veil of perception.
  • Context/Use Case: Game concept art, fantasy novel cover, desktop wallpaper, art print, promotional material for a themed event or product.

3. Visual Direction Specifications:

  • Style: High Fantasy, Digital Painting, Ethereal.
  • Composition: Central focus on the archway and portal, framed by ancient trees. Use of leading lines from roots and branches towards the portal.
  • Lighting: Mystical, dappled sunlight with strong god rays. The portal itself is a primary light source.
  • Color Palette: Deep greens, earthy browns, grays for the forest; vibrant emerald green and violet for the portal. Soft blues/whites for mist.
  • Mood/Atmosphere: Enchanting, mysterious, magical, adventurous, dreamlike.
  • Key Elements/Details: Moss and vines on stone, gnarled tree roots, shimmering portal effect, mist, sunbeams.
  • Resolution/Aspect Ratio: 4K, 16:9.

Prompt #5: Abstract Data Flow and Connection

1. AI Image Prompt:

A dynamic, abstract representation of interconnected data streams and neural pathways. Glowing, translucent lines and spheres in vibrant blues, purples, and greens intertwine and converge, forming complex networks against a deep, subtly textured dark background. A central, brighter nexus radiates energy. Smooth motion blur suggests rapid flow, while sharp focal points highlight key connections. High-tech, futuristic, conceptual, 8K, digital art.

2. Creative Brief:

  • Purpose: To visually represent concepts like global connectivity, artificial intelligence, big data, or network security.
  • Target Audience: Tech companies, data analysts, cybersecurity firms, educational institutions, and businesses focused on digital transformation.
  • Key Message: Data is power; connection is key; intelligence emerges from networks.
  • Context/Use Case: Corporate website background, tech report cover, presentation slide for a data science topic, social media graphic for a tech brand, abstract art for a modern office.

3. Visual Direction Specifications:

  • Style: Abstract, Conceptual, Digital Art, High-Tech.
  • Composition: Dynamic, non-symmetrical, with elements flowing towards a central, brighter point. Sense of depth and movement.
  • Lighting: Self-illuminated elements, glowing lines and spheres. Dark background with subtle ambient light.
  • Color Palette: Predominantly cool tones: electric blues, deep purples, vibrant greens, with hints of white for intensity.
  • Mood/Atmosphere: Intelligent, dynamic, complex, futuristic, innovative.
  • Key Elements/Details: Intertwining lines, glowing spheres, central nexus, subtle motion blur, textured background.
  • Resolution/Aspect Ratio: 8K, 21:9 (ultrawide for immersive feel).

Prompt #6: Rustic Charm Meets Modern Comfort

1. AI Image Prompt:

A cozy, inviting interior shot of a modern rustic living room. A large, plush sofa with textured throws faces a natural stone fireplace. Above the fireplace, a sleek, minimalist smart TV is seamlessly integrated. Exposed wooden beams on the ceiling, large windows revealing a sun-drenched, autumnal landscape outside. Warm, natural light floods the room. Hygge aesthetic, photorealistic, inviting, intricate textures. 4K, interior design photography.

2. Creative Brief:

  • Purpose: To showcase a harmonious blend of natural, rustic aesthetics with modern technological comfort. Ideal for home decor brands, real estate, or lifestyle content.
  • Target Audience: Homeowners, interior design enthusiasts, real estate investors, and those seeking comfortable, stylish living spaces.
  • Key Message: Create a home that is both timelessly charming and perfectly equipped for modern life.
  • Context/Use Case: Interior design blog post, real estate listing photo, furniture catalog, home decor advertisement, lifestyle magazine spread.

3. Visual Direction Specifications:

  • Style: Photorealistic, Interior Design Photography, Rustic Modern.
  • Composition: Medium shot, balanced composition focusing on the sofa and fireplace, with a glimpse of the outdoor view.
  • Lighting: Soft, warm, natural light from large windows. Subtle ambient indoor lighting.
  • Color Palette: Warm neutrals (creams, beiges, grays), rich browns from wood, deep greens/oranges from the autumnal view.
  • Mood/Atmosphere: Cozy, inviting, comfortable, sophisticated, serene.
  • Key Elements/Details: Plush sofa, textured throws, natural stone fireplace, exposed wooden beams, large window, autumnal landscape, integrated smart TV.
  • Resolution/Aspect Ratio: 4K, 3:2.

Prompt #7: Energetic Athlete in Motion

1. AI Image Prompt:

A dramatic, high-speed action shot of a male parkour athlete mid-air, leaping between two concrete rooftops in a gritty, urban environment at dusk. His body is taut with energy, muscles defined. Dynamic lighting from streetlights and a distant city glow creates sharp shadows and highlights. Rain-slicked surfaces reflect the neon lights. Motion blur on background elements emphasizes speed, while the athlete is sharp and in focus. Gritty realism, cinematic, powerful. 8K, sports photography.

2. Creative Brief:

  • Purpose: To convey strength, agility, determination, and the thrill of pushing physical limits. Ideal for sports brands, fitness campaigns, or action-oriented media.
  • Target Audience: Athletes, fitness enthusiasts, urban youth, sports apparel consumers, and fans of extreme sports.
  • Key Message: Unleash your potential; conquer challenges; embrace the urban playground.
  • Context/Use Case: Sports apparel advertisement, fitness campaign poster, magazine cover for a sports publication, social media content for an active lifestyle brand.

3. Visual Direction Specifications:

  • Style: Gritty Realism, Cinematic, Sports Photography.
  • Composition: Dynamic, low-angle shot looking up at the athlete, emphasizing his jump and the height. Diagonal lines creating tension.
  • Lighting: Dramatic, high-contrast lighting from urban sources (streetlights, neon signs). Strong rim lighting on the athlete. Rain reflections.
  • Color Palette: Muted urban grays and browns, contrasted with vibrant neon blues, reds, and yellows from city lights.
  • Mood/Atmosphere: Energetic, powerful, intense, determined, thrilling.
  • Key Elements/Details: Muscular athlete, concrete rooftops, rain-slicked surfaces, neon city lights, motion blur in background.
  • Resolution/Aspect Ratio: 8K, 16:9.

Prompt #8: Whimsical Sci-Fi Discovery

1. AI Image Prompt:

A charming, Studio Ghibli-inspired digital painting of a curious young girl (around 8-10 years old) in a sun-dappled, overgrown forest clearing. She kneels beside a small, intricately designed, retro-futuristic robot (think WALL-E meets a vintage radio) that has just emerged from behind an ancient tree root. The robot has large, expressive eyes and emits a soft, warm glow. Butterflies flutter around them. Dreamy, warm color palette, sense of wonder. 4K, animated film style.

2. Creative Brief:

  • Purpose: To evoke a sense of innocent discovery, wonder, and the harmonious blend of nature and gentle technology. Ideal for children's media, educational content, or brands promoting creativity and imagination.
  • Target Audience: Children, parents, fans of Studio Ghibli, educators, and anyone who appreciates heartwarming, imaginative narratives.
  • Key Message: Curiosity leads to wondrous discoveries; technology can be a friend in nature.
  • Context/Use Case: Children's book illustration, animated film concept art, educational poster, toy advertisement, brand image for a creative or imaginative product.

3. Visual Direction Specifications:

  • Style: Studio Ghibli, Digital Painting, Whimsical, Retro-Fut
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);}});}