From 26936b6f4a16e1cf2ea26ac264c37e9133adb528 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 15:25:05 +0000 Subject: [PATCH 1/7] Add recruitment video assets for Cargo Survey Script/storyboard, Suno music config, ElevenLabs voice profile and dialogue for an industrial harbor recruitment video. https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- assets/audio/cargo-survey-dialogue.json | 11 +++++ assets/audio/cargo-survey-recruitment-suno.md | 45 +++++++++++++++++ .../audio/cargo-survey-voice-description.txt | 1 + docs/recruitment-video-script.md | 48 +++++++++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 assets/audio/cargo-survey-dialogue.json create mode 100644 assets/audio/cargo-survey-recruitment-suno.md create mode 100644 assets/audio/cargo-survey-voice-description.txt create mode 100644 docs/recruitment-video-script.md diff --git a/assets/audio/cargo-survey-dialogue.json b/assets/audio/cargo-survey-dialogue.json new file mode 100644 index 0000000..5756d25 --- /dev/null +++ b/assets/audio/cargo-survey-dialogue.json @@ -0,0 +1,11 @@ +[ + {"text": "Varje dag.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Varje last.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Varje kontroll.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Vi är Cargo Survey.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Vi ser till att allt fungerar — säkert, korrekt, varje gång.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Nu söker vi fler till vårt team.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Omedelbar tillträde.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Cargo Survey.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, + {"text": "Ansök idag.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"} +] 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..6df8bee --- /dev/null +++ b/docs/recruitment-video-script.md @@ -0,0 +1,48 @@ +# 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. + +## 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. From 54988fea74d782edfd6a0e61342aeead28ef0ec7 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 15:48:29 +0000 Subject: [PATCH 2/7] Add .gitignore to protect API keys from being committed https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitignore 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 From f6a9c67778cfe3ca4e5b2545adb932ded701b608 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 15:59:21 +0000 Subject: [PATCH 3/7] Update storyboard with approved reference images and Suno track https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- docs/recruitment-video-script.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/recruitment-video-script.md b/docs/recruitment-video-script.md index 6df8bee..829ac8d 100644 --- a/docs/recruitment-video-script.md +++ b/docs/recruitment-video-script.md @@ -41,6 +41,16 @@ Säkerhetsvakter / inspektörer som söker nytt jobb. Omedelbar tillträde. > 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. From 765c22ab4a1d252a727601483fb4d32168c38421 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 16:06:18 +0000 Subject: [PATCH 4/7] Add video generation script for local Sora rendering All four recruitment video scenes with cinematic prompts. Run locally with: ./scripts/generate-videos.sh https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- scripts/generate-videos.sh | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 scripts/generate-videos.sh diff --git a/scripts/generate-videos.sh b/scripts/generate-videos.sh new file mode 100755 index 0000000..2aee9e2 --- /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..." +python "$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..." +python "$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..." +python "$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..." +python "$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" From 933f64c8d2956d30f35bb624e174dad57e1c628e Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 16:08:02 +0000 Subject: [PATCH 5/7] Add voiceover generation script for ElevenLabs Deep bass Josh voice with Swedish recruitment narration. Run locally with: ./scripts/generate-voiceover.sh https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- scripts/generate-voiceover.sh | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 scripts/generate-voiceover.sh diff --git a/scripts/generate-voiceover.sh b/scripts/generate-voiceover.sh new file mode 100755 index 0000000..6b405b4 --- /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..." +python "$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" From 0bc61a3f38c2bb35b9775a5d6be74ed971a111b3 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 27 Mar 2026 07:46:35 +0000 Subject: [PATCH 6/7] Fix scripts to use python3 for macOS compatibility https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- scripts/generate-videos.sh | 8 ++++---- scripts/generate-voiceover.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/generate-videos.sh b/scripts/generate-videos.sh index 2aee9e2..23c80d5 100755 --- a/scripts/generate-videos.sh +++ b/scripts/generate-videos.sh @@ -16,28 +16,28 @@ echo "=== Cargo Survey — Videogenerering ===" echo "" echo "[1/4] Scen 1: Hamnen vid gryning..." -python "$SCRIPT" \ +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..." -python "$SCRIPT" \ +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..." -python "$SCRIPT" \ +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..." -python "$SCRIPT" \ +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 diff --git a/scripts/generate-voiceover.sh b/scripts/generate-voiceover.sh index 6b405b4..6ed5790 100755 --- a/scripts/generate-voiceover.sh +++ b/scripts/generate-voiceover.sh @@ -33,7 +33,7 @@ if [ -z "$ELEVENLABS_API_KEY" ]; then fi echo "Genererar voiceover..." -python "$SCRIPT" \ +python3 "$SCRIPT" \ --input "$OUTDIR/cargo-survey-dialogue.json" \ --output "$OUTDIR/cargo-survey-voiceover.mp3" From 0e64616156afb6222071d9f792b1507bc3394274 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 27 Mar 2026 08:02:04 +0000 Subject: [PATCH 7/7] Update ElevenLabs voice ID to working voice https://claude.ai/code/session_01VpxvyomTMBw81ZK9qdzN6e --- assets/audio/cargo-survey-dialogue.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/assets/audio/cargo-survey-dialogue.json b/assets/audio/cargo-survey-dialogue.json index 5756d25..e956959 100644 --- a/assets/audio/cargo-survey-dialogue.json +++ b/assets/audio/cargo-survey-dialogue.json @@ -1,11 +1,11 @@ [ - {"text": "Varje dag.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Varje last.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Varje kontroll.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Vi är Cargo Survey.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Vi ser till att allt fungerar — säkert, korrekt, varje gång.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Nu söker vi fler till vårt team.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Omedelbar tillträde.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Cargo Survey.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"}, - {"text": "Ansök idag.", "voice_id": "TxGEqnHWrfWFTfGW9XjX"} + {"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"} ]