
BikininjasCustomPosters
Bikininjas Custom Posters with french people and memes for Lethal Company
Last updated | 3 days ago |
Total downloads | 24 |
Total rating | 1 |
Categories | Posters |
Dependency string | Bikininjas-BikininjasCustomPosters-0.1.3 |
Dependants | 0 other packages depend on this package |
This mod requires the following mods to function

seechela-CustomPosters
Replaces the default posters in the ship with custom posters. You can add your own images!
Preferred version: 3.2.0README
Bikininjas Custom Posters
A content pack and intelligent pack generator for the CustomPosters mod in Lethal Company.
๐ฏ What's Included
- Custom Poster Pack: Pre-configured posters ready for the game
- Intelligent Pack Generator: Python script that automatically matches images to poster slots based on aspect ratio similarity
๐ฆ Quick Start - Using the Poster Pack
- Download this repository
- Copy the
BepInEx
folder to your Lethal Company directory - Launch the game and enjoy custom posters!
๐ ๏ธ Pack Generator Tool
โจ How It Works
The pack generator uses intelligent aspect ratio matching to automatically assign your images and videos to the best-fitting poster slots:
- Scans all images and videos in the
input/
folder - Calculates the aspect ratio of each file (width/height)
- Matches each file to the poster slot with the closest aspect ratio
- Generates a complete poster pack ready for the game
- Videos are automatically converted to MP4 format
๐ Poster Specifications
The mod supports exactly 6 slots per pack:
Slot | Dimensions | Aspect Ratio | Orientation | Output Format |
---|---|---|---|---|
Poster1 | 639 ร 488 | 1.31:1 | Landscape | PNG or MP4 |
Poster2 | 730 ร 490 | 1.49:1 | Landscape | PNG or MP4 |
Poster3 | 749 ร 1054 | 0.71:1 | Portrait | PNG or MP4 |
Poster4 | 729 ร 999 | 0.73:1 | Portrait | PNG or MP4 |
Poster5 | 552 ร 769 | 0.72:1 | Portrait | PNG or MP4 |
CustomTips | 860 ร 1219 | 0.71:1 | Portrait | PNG or MP4 |
Note:
- Images are saved as
.png
files - Videos are converted to
.mp4
files (H.264 video, AAC audio) - All files are saved to
posters/
ortips/
folders
๏ฟฝ Intelligent Matching Example
If you have these images:
landscape1.jpg
(1920ร1080, ratio 1.78:1)landscape2.jpg
(1280ร720, ratio 1.78:1)portrait1.jpg
(1080ร1920, ratio 0.56:1)portrait2.jpg
(800ร1200, ratio 0.67:1)portrait3.jpg
(900ร1400, ratio 0.64:1)portrait4.jpg
(1000ร1500, ratio 0.67:1)
The script will automatically match:
landscape1.jpg
โ Poster2 (closest to 1.49:1)landscape2.jpg
โ Poster1 (closest to 1.31:1)portrait1.jpg
โ CustomTips (closest to 0.71:1)portrait2.jpg
โ Poster4 (closest to 0.73:1)portrait3.jpg
โ Poster5 (closest to 0.72:1)portrait4.jpg
โ Poster3 (closest to 0.71:1)
๐ Supported Formats
.jpg
.jpeg
.png
.bmp
.gif
.tiff
.webp
.avif
๐ Installation & Setup
1. Install Python (3.7+)
2. Navigate to Image Resizer Directory
cd /path/to/lc_bikininjaPosters/image_resizer
3. Create Virtual Environment (Recommended)
# Create venv
python3 -m venv venv
# Activate venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
4. Install Dependencies
pip install -r requirements.txt
This installs:
- Pillow - Image processing
- pillow-avif-plugin - AVIF format support
- moviepy - Video conversion and processing
๐ป Usage
Basic Workflow
# 1. Activate virtual environment
cd /path/to/lc_bikininjaPosters/image_resizer
source venv/bin/activate # Linux/Mac
# 2. Add your images and videos to input/
cp ~/Pictures/*.jpg input/
cp ~/Videos/*.mp4 input/
# 3. Run the generator
python poster_resizer.py
# 4. The script will:
# - Analyze all images and videos
# - Match them to best-fitting slots
# - Convert videos to MP4 format
# - Create a complete poster pack
# - Move processed files to done/
Example Session
$ python poster_resizer.py
======================================================================
๐ผ๏ธ CUSTOMPOSTERS PACK GENERATOR
======================================================================
Intelligently matches images to poster slots based on aspect ratio
======================================================================
โ๏ธ Configuration:
Input: input
Output: ../BepInEx/plugins
Pack: BikininjasPosters
Aspect: Maintained
๐ Scanning for images...
โ Found 6 file(s)
๐ฏ Matching images to poster slots...
======================================================================
๐ IMAGE-TO-SLOT MATCHING REPORT
======================================================================
โ Matched 6 of 6 possible slots
โ Poster1 (639ร488) โ landscape1.jpg
Target ratio: 1.309 | Image ratio: 1.333 | Fit: Excellent
โ Poster2 (730ร490) โ action_video.mp4 ๐ฌ
Target ratio: 1.490 | Image ratio: 1.500 | Fit: Perfect
โ Poster3 (749ร1054) โ portrait1.jpg
Target ratio: 0.710 | Image ratio: 0.700 | Fit: Perfect
โ Poster4 (729ร999) โ portrait2.jpg
Target ratio: 0.730 | Image ratio: 0.720 | Fit: Perfect
โ Poster5 (552ร769) โ animation.mp4 ๐ฌ
Target ratio: 0.718 | Image ratio: 0.714 | Fit: Perfect
โ CustomTips (860ร1219) โ portrait4.jpg
Target ratio: 0.705 | Image ratio: 0.707 | Fit: Perfect
======================================================================
๐ฆ Creating pack: BikininjasPosters
โ Pack directory: ../BepInEx/plugins/BikininjasPosters
======================================================================
๐ผ๏ธ PROCESSING IMAGES & VIDEOS
======================================================================
๐ Poster1:
Processing IMAGE: landscape1.jpg โ Poster1.png
โ Saved: ../BepInEx/plugins/BikininjasPosters/posters/Poster1.png
๐ Poster2:
Processing VIDEO: action_video.mp4 โ Poster2.mp4
Loading video: action_video.mp4
Encoding video to MP4...
โ Saved: ../BepInEx/plugins/BikininjasPosters/posters/Poster2.mp4
[... continues for all slots ...]
โ Successfully processed 6 of 6 files
======================================================================
๐ Pack info saved: ../BepInEx/plugins/BikininjasPosters/pack_info.txt
======================================================================
๐งน CLEANING UP
======================================================================
โ Moved to done: landscape1.jpg
โ Moved to done: action_video.mp4
[... continues ...]
โ Moved 6 files to done directory
======================================================================
======================================================================
๐ PACK GENERATION COMPLETE!
======================================================================
โ Pack: ../BepInEx/plugins/BikininjasPosters
โ Processed: 6 file(s) (4 images, 2 videos)
๐ Next steps:
1. Review: ../BepInEx/plugins/BikininjasPosters
2. Copy 'BikininjasPosters' to:
Lethal Company/BepInEx/plugins/
======================================================================
๐ง Advanced Options
Custom Pack Name
python poster_resizer.py --pack-name MyAwesomePosters
Custom Directories
python poster_resizer.py --input ~/my_images --output ~/game_mods
Stretch Images (No Aspect Ratio Preservation)
python poster_resizer.py --no-aspect
Keep Original Files in Input
python poster_resizer.py --no-cleanup
Show Help
python poster_resizer.py --help
๐ Directory Structure
lc_bikininjaPosters/
โโโ BepInEx/plugins/
โ โโโ BikininjasPosters/ # Generated pack (ready for game)
โ โโโ posters/
โ โ โโโ Poster1.png
โ โ โโโ Poster2.png
โ โ โโโ Poster3.png
โ โ โโโ Poster4.png
โ โ โโโ Poster5.png
โ โโโ tips/
โ โ โโโ CustomTips.png
โ โโโ pack_info.txt # Pack information
โโโ image_resizer/
โโโ poster_resizer.py # Main script
โโโ config.py # Poster specifications
โโโ ratio_matcher.py # Aspect ratio matching logic
โโโ image_processor.py # Image resizing and saving
โโโ pack_generator.py # Pack structure creation
โโโ requirements.txt # Python dependencies
โโโ input/ # Add your images here
โโโ done/ # Processed files moved here
โโโ venv/ # Virtual environment
๐ก Multiple Packs
If you have more than 6 images, the script will match the best 6 and leave the rest in input/
:
$ python poster_resizer.py
โ Found 15 image(s)
โ Matched 6 of 6 possible slots
๐ฆ Unmatched images (9):
โข image7.jpg (ratio: 1.500)
โข image8.jpg (ratio: 0.720)
[... etc ...]
๐ก Tip: These images can be used for additional packs
To create another pack:
# The matched images are now in done/
# Unmatched images are still in input/
# Create a second pack
python poster_resizer.py --pack-name BikininjasPosters2
# Create a third pack
python poster_resizer.py --pack-name BikininjasPosters3
๐ฏ Tips for Best Results
- Media Quality - Use high-resolution images and videos (script downscales)
- Aspect Ratios - Pre-sort files by orientation:
- Landscape files (~1.3:1 to 1.5:1) โ Poster1, Poster2
- Portrait files (~0.7:1 to 0.75:1) โ Poster3, Poster4, Poster5, CustomTips
- Video Tips:
- Keep videos short (30 seconds or less recommended)
- Any format works - automatically converted to MP4 (H.264)
- Video encoding may take time - be patient
- File Names - Use descriptive names to track which file goes where
- Review First - Check the matching report before deploying
- Test In-Game - Review posters in game before creating more packs
๐ Troubleshooting
No images found
# Check input directory
ls input/
# Ensure files have valid extensions
moviepy library not found
# Activate venv
source venv/bin/activate
# Install moviepy
pip install moviepy
Video processing is slow
- Video encoding takes time - be patient
- Consider shorter clips or lower resolution sources
- The script shows encoding progress
Import errors
# Activate venv
source venv/bin/activate
# Reinstall dependencies
pip install --upgrade -r requirements.txt
Poor aspect ratio matches
The script always assigns all 6 slots. If your images don't match well:
- Add more images with different aspect ratios
- Use
--no-aspect
to stretch images (may distort) - Manually crop images before processing
Permission denied
chmod -R u+w BepInEx/
Virtual environment issues
# Ubuntu/Debian
sudo apt-get install python3-venv
# Recreate venv
rm -rf venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
๐งน File Management
Automatic Cleanup
- Successfully processed images โ moved to
done/
- Unmatched images โ stay in
input/
for next pack - Duplicate filenames โ automatically numbered (_1, _2, etc.)
Git Ignore
The following are automatically ignored by git:
- All media files in
input/
,done/
- Virtual environment (
venv/
) - Generated pack folders
๐ Technical Details
Aspect Ratio Matching Algorithm
- Calculate aspect ratio for each input image
- Calculate target ratios for all 6 slots
- Use greedy assignment:
- Prioritize slots with most unique ratios first
- For each slot, find the closest-matching available image
- Remove matched image from available pool
- Report match quality (Perfect/Excellent/Good/Fair)
Image Processing
- Resizing: Pillow/LANCZOS for high quality
- Aspect ratio: Smart cropping - crops images to match target ratio, then resizes
- No padding: Images fill entire space (no white/black bars)
- Centering: Crops are centered to preserve focal point
- Format: Images saved as PNG
- Quality: Lossless compression
Video Processing
- Codec: H.264 video, AAC audio
- Output: Always MP4 format
- Aspect ratio: Maintained with black bars (centered)
- Quality: Preserves original quality where possible
- Framerate: Maintains original framerate
- Dimensions: Adjusted to even numbers (required for H.264)
Pack Management
- Auto-cleanup: Existing pack directory is cleaned before generating new pack
- No duplicates: Each source file used exactly once per pack
- Processed tracking: Files moved to
done/
after successful processing
๐ License
This tool is provided as-is for use with the CustomPosters mod. Please respect the original mod's license and the copyrights of any images you process.
๐ Links
Smart matching โข Perfect packs โข Infinite creativity ๐จ
๐ ๏ธ Image Resizer Tool
A Python script that batch-processes images and videos for the CustomPosters mod with triple output functionality.
โจ Key Features
- โ Unlimited files - Process as many images/videos as you want
- โ
Triple output - Each file saved to 3 locations automatically:
posters/
- for in-game wall decorationstips/
- for in-game loading screensoutput/
- for additional processing with 3rd party tools
- โ Same naming - All locations use identical filenames (Poster1, Poster2, etc.)
- โ Dimension cycling - Automatically cycles through 5 different poster sizes
- โ Video support - Converts any video format to MP4
- โ Zero interaction - Fully automatic, no prompts
- โ
Auto cleanup - Moves processed files to
done/
directory - โ Git-friendly - Media files automatically ignored
๐ Dimension Cycling
Files automatically cycle through 5 standard dimensions:
File # | Dimensions | Format | Extension |
---|---|---|---|
1, 6, 11... | 639ร488 | PNG | .png |
2, 7, 12... | 730ร490 | JPEG | .jpg |
3, 8, 13... | 749ร1054 | BMP | .bmp |
4, 9, 14... | 729ร999 | BMP | .bmp |
5, 10, 15... | 552ร769 | JPEG | .jpg |
Videos: Always .mp4
regardless of cycle
๐ Supported Formats
Images: .jpg
.jpeg
.png
.bmp
.gif
.tiff
.webp
.avif
Videos: .mp4
.avi
.mov
.mkv
.flv
.wmv
.webm
.m4v
๐ Installation & Setup
1. Install Python (3.7+)
2. Navigate to the Image Resizer Directory
cd /path/to/lc_bikininjaPosters/image_resizer
3. Create Virtual Environment (Recommended)
# Create venv
python3 -m venv venv
# Activate venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Your prompt should show: (venv)
4. Install Dependencies
pip install -r requirements.txt
This installs:
- Pillow - Image processing
- pillow-avif-plugin - AVIF format support
- moviepy - Video conversion
๐ป Usage
Basic Workflow (3 Commands)
# 1. Activate virtual environment
cd /path/to/lc_bikininjaPosters/image_resizer
source venv/bin/activate # Linux/Mac
# 2. Add your images/videos to input/
cp ~/Pictures/*.jpg input/
# 3. Run the script (fully automatic)
python poster_resizer.py
What Happens
Each file in input/
is:
- Resized to the appropriate dimensions (cycling through 5 sizes)
- Saved to THREE locations with the same name:
../BepInEx/plugins/BikininjasPosters/posters/
../BepInEx/plugins/BikininjasPosters/tips/
output/
(for additional processing)
- Original file moved to
done/
Example Session
$ ls input/
cat.jpg dog.png video.mp4
$ python poster_resizer.py
Found 3 file(s) in input/:
- 2 image(s)
- 1 video(s)
Processing #1: cat.jpg โ Poster1.png (639x488)
โ Saved to posters: Poster1.png
โ Saved to tips: Poster1.png
โ Saved to output: Poster1.png
โณ Moved to done: cat.jpg
Processing #2: dog.png โ Poster2.jpg (730x490)
โ Saved to posters: Poster2.jpg
โ Saved to tips: Poster2.jpg
โ Saved to output: Poster2.jpg
โณ Moved to done: dog.png
Processing #3: video.mp4 โ Poster3.mp4 (749x1054)
โ Saved to posters: Poster3.mp4
โ Saved to tips: Poster3.mp4
โ Saved to output: Poster3.mp4
โณ Moved to done: video.mp4
๐ Processing complete! Processed 3 files
Output summary:
๐ 3 files in each location:
- BepInEx/plugins/BikininjasPosters/posters
- BepInEx/plugins/BikininjasPosters/tips
- output
๐ Directory Structure
lc_bikininjaPosters/
โโโ BepInEx/plugins/BikininjasPosters/
โ โโโ posters/ # Game-ready posters (output from script)
โ โ โโโ Poster1.png
โ โ โโโ Poster2.jpg
โ โ โโโ ...
โ โโโ tips/ # Game-ready tips (output from script)
โ โโโ Poster1.png
โ โโโ Poster2.jpg
โ โโโ ...
โโโ image_resizer/
โโโ poster_resizer.py # Main script
โโโ requirements.txt # Python dependencies
โโโ input/ # Put your media files here
โโโ done/ # Processed files moved here
โโโ output/ # Additional processing workspace
โโโ venv/ # Virtual environment (created by you)
๐ก Use Cases
Use Case 1: Simple Mod Creation
# 1. Add images to input/
cp ~/Pictures/*.jpg input/
# 2. Run script
python poster_resizer.py
# 3. Copy to game
cp -r BepInEx ~/Games/LethalCompany/
Use Case 2: With Additional Processing
# 1. Run script
python poster_resizer.py
# 2. Process files in output/ with 3rd party tools
cd output/
# ... run optimization, filters, etc ...
# 3. Copy optimized files back to posters/tips if needed
cp optimized_*.png ../BepInEx/plugins/BikininjasPosters/posters/
Use Case 3: Quality Check Before Deploy
# 1. Run script
python poster_resizer.py
# 2. Review files in output/
ls -lh output/
# 3. If issues found, reprocess
mv done/bad_image.jpg input/
python poster_resizer.py
๐ง Advanced Options
Custom Commands
# Use custom input directory
python poster_resizer.py --input ~/my_media
# Use custom target directory
python poster_resizer.py --target /path/to/mod
# Show help
python poster_resizer.py --help
Aspect Ratio
By default, the script maintains aspect ratio with white/black padding.
To stretch/distort images instead:
python poster_resizer.py --no-aspect
๐ฏ Tips for Best Results
- Use high-quality source media - Script downscales but won't enhance quality
- Consider aspect ratios:
- Files 1, 6, 11... (639ร488) - Landscape ~1.31:1
- Files 2, 7, 12... (730ร490) - Landscape ~1.49:1
- Files 3, 8, 13... (749ร1054) - Portrait ~0.71:1
- Files 4, 9, 14... (729ร999) - Portrait ~0.73:1
- Files 5, 10, 15... (552ร769) - Portrait ~0.72:1
- For videos:
- Keep short (30 seconds or less recommended)
- Any format works - auto-converted to MP4
- Consider file size for mod distribution
- Review output/ before deploying to game
๐ Troubleshooting
"No supported media files found"
# Check input directory
ls input/
# Make sure files have valid extensions
"moviepy library not found"
# Activate venv first
source venv/bin/activate
# Reinstall dependencies
pip install -r requirements.txt
Video processing is slow
- Video encoding takes time - be patient
- Consider shorter clips or lower resolution sources
Permission denied
# Fix permissions
chmod -R u+w BepInEx/
Import errors
# Ensure venv is activated
source venv/bin/activate
which python # Should show: .../venv/bin/python
# Reinstall dependencies
pip install --upgrade -r requirements.txt
Virtual environment issues
# Ubuntu/Debian: Install venv module
sudo apt-get install python3-venv
# Recreate venv
rm -rf venv
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
๐งน File Management
What Gets Processed
- All supported image and video files in
input/
- Files are processed in alphabetical order
- Sequential numbering: Poster1, Poster2, Poster3...
What Happens to Files
- Successful: Moved from
input/
todone/
- Failed: Stays in
input/
for retry - Duplicates: Number suffix added (_1, _2, etc.)
Git Ignore Configuration
Automatically ignored by git:
- โ All media files in
input/
,done/
,output/
- โ Virtual environment (
venv/
,.venv/
,env/
) - โ Temporary video files
- โ Directory structure and scripts tracked
๐ Technical Details
Image Processing
- Aspect ratio: Maintained by default (white padding added)
- Transparency: Converted to RGB with white background
- Quality: JPEG 95%, PNG lossless, BMP standard
Video Processing
- Codec: H.264 video, AAC audio
- Output: Always MP4 format
- Quality: Preserves original quality where possible
- Framerate: Maintains original framerate
Triple Output Logic
For each file in input/:
1. Determine dimensions (cycle index)
2. Resize/convert media
3. Save to posters/PosterN.ext
4. Copy to tips/PosterN.ext
5. Copy to output/PosterN.ext
6. Move original to done/
๐ Benefits
Feature | Benefit |
---|---|
Unlimited files | Process entire collections at once |
Triple output | Maximum flexibility for any workflow |
Zero interaction | Just run and go |
Dimension cycling | Automatic variety across poster sizes |
Video support | Animated posters made easy |
Auto cleanup | Organized workflow, no manual file management |
Git-friendly | Clean repository, no large media commits |
Virtual environment | Isolated dependencies, no conflicts |
๐ฆ File Count Examples
Input Files | Output Files | Total Created |
---|---|---|
1 file | 3 files | 3ร multiplication |
5 files | 15 files | 3ร multiplication |
13 files | 39 files | 3ร multiplication |
100 files | 300 files | 3ร multiplication |
Disk usage: 3ร the processed file sizes (by design)
๐ Quick Reference
First Time Setup
cd image_resizer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Every Time After
source venv/bin/activate
python poster_resizer.py
deactivate
Essential Commands
Command | Purpose |
---|---|
source venv/bin/activate |
Activate virtual environment |
python poster_resizer.py |
Run the script |
deactivate |
Exit virtual environment |
ls input/ |
Check input files |
ls output/ |
Check processed files |
ls done/ |
Check archived originals |
๐ License
This tool is provided as-is for use with the CustomPosters mod. Please respect the original mod's license and the copyrights of any images you process.
๐ Links
Remember: Each file โ 3 locations โ Same name โ Automatic! ๐