diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6cf828b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.env +node_modules/ +__pycache__/ +*.pyc diff --git a/assets/audio/cargo-survey-dialogue.json b/assets/audio/cargo-survey-dialogue.json new file mode 100644 index 0000000..e956959 --- /dev/null +++ b/assets/audio/cargo-survey-dialogue.json @@ -0,0 +1,11 @@ +[ + {"text": "Varje dag.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Varje last.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Varje kontroll.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Vi är Cargo Survey.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Vi ser till att allt fungerar — säkert, korrekt, varje gång.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Nu söker vi fler till vårt team.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Omedelbar tillträde.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Cargo Survey.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"}, + {"text": "Ansök idag.", "voice_id": "k8cFOyAg7B9qwBlDDNTC"} +] diff --git a/assets/audio/cargo-survey-recruitment-suno.md b/assets/audio/cargo-survey-recruitment-suno.md new file mode 100644 index 0000000..549edb2 --- /dev/null +++ b/assets/audio/cargo-survey-recruitment-suno.md @@ -0,0 +1,45 @@ +# Cargo Survey — Recruitment Video Music +**Suno AI Song Package** +Created: 2026-03-26 + +--- + +## Style Description (300 characters) + +``` +Industrial electronic heavy rock, pounding metallic beats, deep bass synth pulse, distorted electric guitar riffs, driving drum machine. Cinematic tension. Professional and powerful, action trailer energy. 130 BPM. Instrumental, no vocals. Dark ambient undertones with strong, building crescendo end. +``` + +Character count: 300 + +--- + +## Tagged Lyrics + +``` +[Intro] +[Instrumental Break] + +[Verse] +[Instrumental Break] + +[Drop] + +[Bridge] +[Instrumental Break] + +[Outro] +[Instrumental Break] +``` + +--- + +## Notes + +- This is a fully instrumental track designed as background music for a recruitment video with voiceover +- The [Intro] should establish a low, pulsing electronic foundation — dark and industrial +- The [Drop] is the climactic power peak — maximum energy, metallic percussion and guitar +- The [Outro] tapers back to the pulse, professional and resolved +- Target feel: 30 seconds, short and punchy — select the most intense segment when editing the final video +- Mood reference: action movie trailer + oil refinery + industrial precision +- Suno will generate 2 variations — choose the one with the cleanest build and strongest drop diff --git a/assets/audio/cargo-survey-voice-description.txt b/assets/audio/cargo-survey-voice-description.txt new file mode 100644 index 0000000..a1862f5 --- /dev/null +++ b/assets/audio/cargo-survey-voice-description.txt @@ -0,0 +1 @@ +Powerful deep bass male voice with a commanding, authoritative presence. Measured, deliberate pace with cinematic gravitas. Rich, resonant timbre that rumbles with conviction. Warm undertones that invite trust and respect. Neutral accent with crystal-clear articulation. Built for trailer narrations. \ No newline at end of file diff --git a/docs/recruitment-video-script.md b/docs/recruitment-video-script.md new file mode 100644 index 0000000..829ac8d --- /dev/null +++ b/docs/recruitment-video-script.md @@ -0,0 +1,58 @@ +# Cargo Survey — Rekryteringsfilm: Manus & Storyboard + +## Koncept +En kort, kraftfull rekryteringsfilm för sociala medier (20-30 sek). Industriell stämning vid hamnen — olja, rör, tankers — men med en vänlig och professionell underton. Berättarrösten är djup och action-filmaktig men inbjudande. + +## Målgrupp +Säkerhetsvakter / inspektörer som söker nytt jobb. Omedelbar tillträde. + +## Ton & Känsla +- Industriell men varm +- Professionell och noggrann +- "Det här är ett riktigt jobb för riktiga människor" +- Action-film energi i berättarrösten + +## Storyboard + +### Scen 1 — Establishing shot (0-5 sek) +**Bild:** Gryningsljus över en hamn. En stor oljetanker ligger vid kaj. Pipelines och rör syns tydligt. +**Musik:** Lågt elektroniskt pulsslag börjar byggas upp. +**Voiceover:** *"Varje dag. Varje last. Varje kontroll."* + +### Scen 2 — Arbetet (5-15 sek) +**Bild:** En säkerhetsvakt i Cargo Survey-kläder inspekterar ledningar vid en pumpstation. Närbild på händer som kontrollerar kopplingar. Bild på pumpar i gång. +**Musik:** Byggs upp — tyngre beats och industriella ljud. +**Voiceover:** *"Vi är Cargo Survey. Vi ser till att allt fungerar — säkert, korrekt, varje gång."* + +### Scen 3 — Teamet (15-22 sek) +**Bild:** Teamet går tillsammans längs kajen. Professionella, fokuserade, men med ett leende. +**Musik:** Når sin peak — full kraft. +**Voiceover:** *"Nu söker vi fler till vårt team. Omedelbar tillträde."* + +### Scen 4 — Call to action (22-28 sek) +**Bild:** Cargo Survey logotyp/text mot industriell bakgrund. Kontaktinfo. +**Musik:** Landar i ett kraftfullt slut. +**Voiceover:** *"Cargo Survey. Ansök idag."* + +## Voiceover — Komplett text (svenska) + +> Varje dag. Varje last. Varje kontroll. +> Vi är Cargo Survey. Vi ser till att allt fungerar — säkert, korrekt, varje gång. +> Nu söker vi fler till vårt team. Omedelbar tillträde. +> Cargo Survey. Ansök idag. + +## Referensbilder (GODKÄNDA) + +Fyra bilder genererade i Gemini och godkända av användaren: +- **scene1-harbor-dawn** — Panorama av hamn med oljetanker vid kaj, pipelines, cisterner, gyllene solnedgång +- **scene2-inspector-work** — Inspektör i orange varselkläder och hjälm kontrollerar rörledningar vid pumpstation +- **scene3-team-walking** — Tre inspektörer går tillsammans på kajen, professionella och glada, oljetanker i bakgrund +- **scene4-logo-cta** — Slutkort med "CARGO SURVEY" i industriell metallisk font, rekryteringstext + +**Suno-låt vald:** https://suno.com/s/YiqTDMMKeeWZyhGJ + +## Musikbeskrivning +Elektronisk/industriell med tung rock-känsla. Börjar med ett lågt pulsslag, bygger upp till ett kraftfullt crescendo. Metalliska ljud, tunga beats, men inte aggressivt — snarare bestämt och professionellt. + +## Röstprofil +Djup basröst, manlig. Tänk action-filmtrailer men med värme. Bestämd utan att vara skrämmande. Auktoritativ men inbjudande. diff --git a/scripts/generate-videos.sh b/scripts/generate-videos.sh new file mode 100755 index 0000000..23c80d5 --- /dev/null +++ b/scripts/generate-videos.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Cargo Survey — Generera alla videor med Sora +# Kör detta lokalt på din dator +# Förutsätter att .env finns med OPENAI_API_KEY + +set -e +cd "$(dirname "$0")/.." + +# Ladda miljövariabler +export $(grep -v '^#' .env | xargs) + +SCRIPT=".claude/skills/sora-video/scripts/generate_video.py" +OUTDIR="assets/videos" + +echo "=== Cargo Survey — Videogenerering ===" +echo "" + +echo "[1/4] Scen 1: Hamnen vid gryning..." +python3 "$SCRIPT" \ + --prompt "Cinematic slow drone shot of an industrial harbor at dawn. A large oil tanker ship 'Oceanic Endeavor' is docked at the pier. Oil pipelines and pumping equipment stretch across the dock. Warm golden sunrise light reflects off the calm water and metal pipes. Workers in orange high-vis jackets walk along the pier. Industrial, professional, beautiful atmosphere." \ + --output "$OUTDIR/scene1-harbor-dawn.mp4" \ + --seconds 8 + +echo "" +echo "[2/4] Scen 2: Inspektören arbetar..." +python3 "$SCRIPT" \ + --prompt "Close-up cinematic shot of a safety inspector in orange high-visibility workwear and white hard hat carefully inspecting oil pipeline connections at a harbor pump station. His hands check pipe fittings with precision. Oil pumps running in background. Golden hour lighting, industrial setting. Professional and meticulous work." \ + --output "$OUTDIR/scene2-inspector-work.mp4" \ + --seconds 8 + +echo "" +echo "[3/4] Scen 3: Teamet..." +python3 "$SCRIPT" \ + --prompt "Cinematic tracking shot of three safety inspectors walking together along a harbor pier next to a large oil tanker. They wear orange high-visibility workwear and white hard hats. Professional and focused but with friendly expressions. One holds a clipboard. Industrial harbor with pipelines and cranes in background. Golden hour warm lighting." \ + --output "$OUTDIR/scene3-team-walking.mp4" \ + --seconds 8 + +echo "" +echo "[4/4] Scen 4: Slutkort..." +python3 "$SCRIPT" \ + --prompt "Cinematic wide shot slowly pulling back from an industrial harbor at sunset. Oil tanker and pipelines silhouetted against orange sky. The scene gradually darkens as text 'CARGO SURVEY' appears in large industrial metallic font. Professional recruitment advertisement feel." \ + --output "$OUTDIR/scene4-logo-cta.mp4" \ + --seconds 4 + +echo "" +echo "=== Klart! Alla videor sparade i $OUTDIR ===" +echo "" +echo "Nästa steg: Klipp ihop videorna med musik och voiceover" diff --git a/scripts/generate-voiceover.sh b/scripts/generate-voiceover.sh new file mode 100755 index 0000000..6ed5790 --- /dev/null +++ b/scripts/generate-voiceover.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# Cargo Survey — Generera voiceover med ElevenLabs +# Kör detta lokalt på din dator +# Förutsätter att .env finns med ELEVENLABS_API_KEY +# +# Behöver: pip install elevenlabs pydub +# Samt ffmpeg installerat (apt install ffmpeg / brew install ffmpeg) + +set -e +cd "$(dirname "$0")/.." + +# Ladda miljövariabler +export $(grep -v '^#' .env | xargs) + +SCRIPT=".claude/skills/elevenlabs-skill/scripts/generate_dialogue.py" +OUTDIR="assets/audio" + +echo "=== Cargo Survey — Voiceover-generering ===" +echo "" +echo "Röst: Josh (djup bas, action-trailer stil)" +echo "Text: Svenskt voiceover-manus" +echo "" + +# Kontrollera att ELEVENLABS_API_KEY finns +if [ -z "$ELEVENLABS_API_KEY" ]; then + echo "FEL: ELEVENLABS_API_KEY saknas i .env" + echo "" + echo "Lägg till den i .env-filen:" + echo " ELEVENLABS_API_KEY=din-nyckel-här" + echo "" + echo "Skaffa nyckel på: https://elevenlabs.io/api" + exit 1 +fi + +echo "Genererar voiceover..." +python3 "$SCRIPT" \ + --input "$OUTDIR/cargo-survey-dialogue.json" \ + --output "$OUTDIR/cargo-survey-voiceover.mp3" + +echo "" +echo "=== Klart! ===" +echo "Voiceover sparad: $OUTDIR/cargo-survey-voiceover.mp3" +echo "" +echo "Nästa steg: Klipp ihop video + musik + voiceover i valfritt videoredigeringsprogram" +echo "" +echo "Tidslinje för klippning:" +echo " 0-5s : scene1-harbor-dawn.mp4 + Voiceover: 'Varje dag. Varje last. Varje kontroll.'" +echo " 5-15s : scene2-inspector-work.mp4 + Voiceover: 'Vi är Cargo Survey. Vi ser till att allt fungerar...'" +echo " 15-22s : scene3-team-walking.mp4 + Voiceover: 'Nu söker vi fler till vårt team. Omedelbar tillträde.'" +echo " 22-28s : scene4-logo-cta.mp4 + Voiceover: 'Cargo Survey. Ansök idag.'" +echo "" +echo "Musik: Lägg Suno-låten som bakgrundsmusik genom hela filmen" +echo " Sänk musikvolymen under voiceover-partierna"