FotoPal TemplatesSign in

Moving from Pixnub

FotoPal Templates runs the batches you run today with Pixnub Sports Photo Automation (SPA 10) in Photoshop, on our servers instead of your computer. Bring the same PSD templates, the same data file and the same photo folders; download one zip of print files (JPEG, PNG, or on a paid plan PDF with bleed) when it's done.

What carries over

Your PSD templates

Upload the PSD. Its SPA layers carry over: SPA-Player-1 to 3, SPA-Team and SPA-Logo photo areas (with their modes and face targets), text layers named after your columns (FIRSTNAME, TEAMNAME, SPATEXT1…), and layers you switch on or off per row. You get a green / amber / red report of anything that comes across differently, and a step for missing fonts.

Text resizing works as in SPA 10: the text layer's name in the PSD sets it, not the data file. TEAMNAME-R fits the text to the placeholder's width, growing or shrinking it. TEAMNAME-RM only shrinks text that is longer than the placeholder. TEAMNAME with no suffix is placed at the PSD size. As in SPA, resizing works on point text; paragraph (box) text keeps its box.

Your data file as it is

SPA in cell A1 and the player photo file names in column A. Every other column optional and in any order, headers in any case. CSV or TSV, separated by commas, semicolons or tabs. Curly quotes are fine. Excel's "CSV UTF-8" is best; an older Mac or Windows Excel save is read too, with a reminder to check accented names.

Your folders

Zip the job folder. FotoPal looks in the same folders as SPA:

  • (the top) or players/: player photos: column A (SPA), PLAYER 2 FILE, PLAYER 3 FILE
  • teams/: team photos (TEAM FILE)
  • logos/: logos (LOGO FILE)
  • backgrounds/: backgrounds (BG FILE): JPEG, PNG or WebP

Zip the folder as it is: one folder around everything is fine. Team files, logos and backgrounds are also found at the top. Names match exactly, extension included; a name that only differs in capitals is used with a warning.

Your file names and folders

NEW FILE NAME, APPEND FILE NAME and SUB FOLDER name and file each print inside the zip, nested folders included. The zip also holds manifest.csv: every row, its file, whether it printed, and any note.

What's different

  • Photoshop actions don't run. There is no Photoshop on the server, so PRE ACTION and POST ACTION columns are recognised and left out. The column step and each row's report say so. Most actions recolour or switch layers: do that in the template instead, with Show if (a layer shown when a column says so) or colour variables.
  • One template per batch, for now. BG FILE, BACKGROUND FILE and TEMPLATE FILE all work. A background image swaps the template's background on that row. A cell naming the batch's own PSD template is fine. A row naming a different template is stopped before anything renders, with a note to split the CSV by template; batches that mix templates are coming.
  • Backgrounds are JPEG, PNG or WebP. Save a TIFF or PSD background as one of those first.
  • File names are matched with a little more grace. SPA needs an exact match. FotoPal tries that first, then a name that differs only in capitals or in its image extension (IMG_0101.jpg in the CSV, IMG_0101.png in the zip), and notes it on the row. A missing photo stops the batch before anything renders, and the rows are listed so you can fix them.
  • Output names are made safe for every computer. Accents become plain letters and other symbols become an underscore (Zoë → Zoe). SUB FOLDER must be a folder inside the output: a full path such as /Volumes/Jobs, or .., is refused.
  • SPA 9 resize columns are ignored (X, A, Y, XM, AM, YM). SPA 10 moved resizing into the PSD, and so does FotoPal.
  • One data file for many clubs: coming soon. Club Brand Kits (each club's colours, crest and sponsors) and a KIT column that picks a club per row are being built. Until then a LOGO FILE column gives each row its own logo, and BG FILE its own background.

A sample data file

Four fictitious players across two fictitious clubs, using every column FotoPal runs. Download the sample CSV. It expects a photo zip holding players/IMG_0101.jpg, players/IMG_0102.jpg, players/IMG_0103.jpg, players/IMG_0104.jpg, players/IMG_0105.jpg, teams/raptors-u12-girls.jpg, teams/kingfishers-u14-boys.jpg, logos/raptors.png, logos/kingfishers.png, backgrounds/court-blue.jpg.

SPA,FIRSTNAME,LASTNAME,NUMBER,POSITION,TEAMNAME,LEAGUENAME,YEAR,SCHOOLNAME,PLAYER 2 FILE,TEAM FILE,LOGO FILE,BG FILE,SHOW LAYER 1,HIDE LAYER 1,NEW FILE NAME,APPEND FILE NAME,SUB FOLDER
IMG_0101.jpg,Juliet,Wrenhaven,7,Guard,Riverton Raptors,Under 12 Girls,2026,Riverton Raptors Basketball Club,IMG_0102.jpg,raptors-u12-girls.jpg,raptors.png,court-blue.jpg,Captain,,,_poster,U12 Girls/Riverton Raptors
IMG_0103.jpg,Priya,Castellane,11,Forward,Riverton Raptors,Under 12 Girls,2026,Riverton Raptors Basketball Club,,raptors-u12-girls.jpg,raptors.png,court-blue.jpg,,,,_poster,U12 Girls/Riverton Raptors
IMG_0104.jpg,Tomas,Ardley,4,Centre,Kestrel Bay Kingfishers,Under 14 Boys,2026,Kestrel Bay Basketball Club,,kingfishers-u14-boys.jpg,kingfishers.png,,,Stripe,tomas-ardley-4,,U14 Boys/Kestrel Bay Kingfishers
IMG_0105.jpg,Oscar,Penhallow,15,Guard,Kestrel Bay Kingfishers,Under 14 Boys,2026,Kestrel Bay Basketball Club,,kingfishers-u14-boys.jpg,kingfishers.png,,,,,,U14 Boys/Kestrel Bay Kingfishers

Every SPA 10 column

From Pixnub's own "Sports Photo Automation: CSV data" page. Headers work in any case and with extra spaces.

Pixnub columnIn FotoPalStatusNotes
SPAPlayer cut-out (primary pose)Works as in SPACell A1. Column A holds the player photo for SPA-Player-1, from the zip root or a players/ folder. Names match exactly, extension included; a different capitalisation is accepted with a warning.
NAMEFull nameWorks as in SPAFull name. Fills the PSD text layer NAME.
FIRSTNAMEFirst nameWorks as in SPAFirst name. Fills the PSD text layer FIRSTNAME.
LASTNAMESurnameWorks as in SPASurname. Fills the PSD text layer LASTNAME.
POSITIONPositionWorks as in SPAPosition. Fills the PSD text layer POSITION.
NUMBERJersey numberWorks as in SPAJersey number. Fills the PSD text layer NUMBER.
TEAMNAMETeam nameWorks as in SPATeam name. Fills the PSD text layer TEAMNAME.
LEAGUENAMEDivision / leagueWorks as in SPALeague or division (FotoPal: "Division / league"). Fills the PSD text layer LEAGUENAME.
YEARSeason yearWorks as in SPASeason year. Fills the PSD text layer YEAR.
SCHOOLNAMEClub nameWorks as in SPASchool or club name (FotoPal: "Club name"). Fills the PSD text layer SCHOOLNAME.
CLASSGroup label (full)Works as in SPAClass or group (FotoPal: "Group label"). Fills the PSD text layer CLASS.
SPATEXT1–5Division line (league + type) … Caption absentees (names of absent players)Works as in SPAFree text for the PSD text layers SPATEXT1 to SPATEXT5. FotoPal's own templates read them as the division line and the team-photo caption rows, so the mapping step asks you to confirm them there.
PLAYER 2 FILE / PLAYER FILE 2, PLAYER 3 FILE / PLAYER FILE 3Player cut-out (pose 2), Player cut-out (pose 3)Works as in SPASecond player photo (SPA-Player-2), from the same place as column A.
TEAM FILETeam group cut-outWorks as in SPATeam photo for SPA-Team, from the zip's teams/ folder (or its root).
LOGO FILEClub logo (crest) (this row)Works as in SPALogo for SPA-Logo (FotoPal's club logo, $crest), from the zip's logos/ folder (or its root). It replaces the club logo on that row.
BG FILE / BACKGROUND FILE / TEMPLATE FILEBackground (this row)Works, with a differenceA background image (JPEG, PNG or WebP) from the zip's backgrounds/ folder (or its root) replaces the template's background on that row; blank keeps the template's own. Naming a PSD template works when it is this batch's template. Rows for other templates need a batch of their own for now: split the CSV by template.
SHOW LAYER 1–5Show layerWorks as in SPAShows the layer the cell names (save it hidden in the PSD).
HIDE LAYER 1–5Hide layerWorks as in SPAHides the layer the cell names. When a row both shows and hides a layer, it is hidden.
NEW FILE NAMEOutput file nameWorks as in SPAThe output file name (an extension is optional). Blank: FotoPal's default name, such as 0001_Wrenhaven_Juliet_7.jpg.
APPEND FILE NAMEAdded to the file nameWorks as in SPAAdded to the end of the file name, with or without NEW FILE NAME.
SUB FOLDEROutput folderWorks as in SPAA folder inside the output zip. Nest folders with / or \; they are created automatically. A full path (such as /Volumes/Jobs or C:\) or .. is refused.
PRE ACTION 1–3Not supportedNot supportedPhotoshop actions can't run in FotoPal (there is no Photoshop on the server). Rows that name an action render without it, and the batch report says so. Use Show if (a layer switched on by a column) or colour variables in the template instead.
POST ACTION 1–5Not supportedNot supportedPhotoshop actions can't run in FotoPal (there is no Photoshop on the server). Rows that name an action render without it, and the batch report says so. Use Show if (a layer switched on by a column) or colour variables in the template instead.

Pixnub and Sports Photo Automation are Pixnub's names; FotoPal isn't connected with Pixnub.