Skip to main content

Module

from penquify.models.cameras import CAMERAS, get_camera

get_camera

def get_camera(name: str) -> dict
Get camera config by preset name. If the name matches a preset, returns the full config. Otherwise, returns the name as free text with defaults.
get_camera("galaxy_s8")
# {"camera": "Samsung Galaxy S8", "year_device_style": "2017 Android flagship", "lens_equivalent": "26mm"}

get_camera("My Custom Phone")
# {"camera": "My Custom Phone", "year_device_style": "unknown", "lens_equivalent": "28mm"}

CAMERAS

All 22 camera presets:

2016

KeyCameraStyleLens
galaxy_s7Samsung Galaxy S72016 Android flagship26mm
iphone_7iPhone 72016 iOS28mm

2017

KeyCameraStyleLens
galaxy_s8Samsung Galaxy S82017 Android flagship26mm
galaxy_a5_2017Samsung Galaxy A5 20172017 Android mid-range28mm
moto_g5Motorola Moto G5 Plus2017 budget Android28mm
iphone_8iPhone 82017 iOS28mm
pixel_2Google Pixel 22017 Android27mm
huawei_p10Huawei P10 Lite2017 Android mid-range27mm
xiaomi_note4Xiaomi Redmi Note 42017 budget Android28mm

2018

KeyCameraStyleLens
galaxy_s9Samsung Galaxy S92018 Android flagship26mm
iphone_xriPhone XR2018 iOS26mm

2019

KeyCameraStyleLens
galaxy_a10Samsung Galaxy A102019 budget Android28mm
galaxy_a50Samsung Galaxy A502019 Android mid-range26mm
iphone_11iPhone 112019 iOS26mm

2020

KeyCameraStyleLens
galaxy_a21sSamsung Galaxy A21s2020 budget Android28mm
iphone_12iPhone 122020 iOS26mm
pixel_4aGoogle Pixel 4a2020 Android mid-range27mm

2021-2023

KeyCameraStyleLens
galaxy_a13Samsung Galaxy A132022 budget Android26mm
iphone_14iPhone 142022 iOS26mm
pixel_7Google Pixel 72022 Android25mm

Generic

KeyCameraStyleLens
warehouse_genericgeneric mid-range Android smartphone2017 budget Android28mm
field_workerrugged Android phone with screen protector2019 field device28mm
The camera presets are biased toward older and budget devices because that’s what most warehouse and logistics workers actually use. This produces more realistic operational photos with appropriate camera limitations (limited dynamic range, JPEG artifacts, etc.).