Import blanks from a CSV
If you already have your products in a spreadsheet, you can create their blanks in one go instead of one at a time. In the studio, go to Blanks, then Import, and find Import from a CSV. Choose the file and the studio shows a preview, with any problems listed against the row and column they are in. Import is available once the file has no errors.
There is an example file to start from.
How the file is laid out
Section titled “How the file is laid out”The first line names the columns, and every line after it is one row. The columns are listed below; their names must be spelled exactly as shown, in any order. The required columns must be in the file. An optional column may be left out, which is the same as leaving its cells empty. A blank sold in several colours or sizes adds variant columns of its own naming.
- One row per mockup photo. A placement with three photos takes three rows.
- Rows with the same
blank_namemake one blank. Its other columns, such ascategory, are read from its first row. A later row may leave them empty, but a value that differs from the first row is an error. - Rows with the same
blank_nameandplacement_idmake one placement. Every row of a placement repeats the placement’s columns. A later row may leave them empty, but a value that differs from the placement’s first row is an error. - Photos of a placement with the same
view_labelmake one view. A view is one way of photographing the placement, such as Flat or On model. Labels are compared in any case, and an empty label takes the placement’s name, so a placement’s unlabelled photos make one view. - Every photo of a view is the same size and shares its print area. The view’s first photo states the print area; a later photo of the view may repeat it or leave it empty, but a value that differs is an error. A photo of another size than its view’s first photo fails its blank, and the result names the view. Give it a view label of its own.
- A row with all the photo columns empty is a placement with no photo. You can add its photos later in the studio.
- A photo needs its address, and its view’s first photo its print area. A row that fills only some of them is an error.
- Sizes are in millimetres. The mockup’s print area is the exception: it is measured in pixels of the original photo, from its top left corner, not of any resized copy.
The columns
Section titled “The columns”| Column | Required | When the cell is empty | What it holds |
|---|---|---|---|
blank_name | Yes | The row has an error | The blank's name. Rows with the same name make one blank, and a blank of this name that already exists is skipped. |
category | No | The default | The name of the blank category the blank goes in. A name the workspace has no category for creates one. Empty puts the blank in no category. |
printshop | No | The default | The name of the printshop that makes the blank, as your printshops are named in Pixonaut, in any case. It is set when the blank is created and does not change. Empty takes the category's printshop, else the workspace's default printshop; a blank with none of the three has an error. |
areas_vary_by | No | The default | The options the blank's print areas change with, such as Size: each is the name of one of the file's option columns, several separated by |. Its placements then state a print area per row of those options, in the area columns. Empty, every placement has one print area for every variant. |
placement_id | Yes | The row has an error | The placement's id, unique within its blank. Rows with the same blank and id make one placement. |
placement_name | Yes | The row has an error | The placement's name, such as Front. |
shop_name | No | The default | Printed as: the name your printshop knows the placement by, on orders and job sheets. Empty prints the placement's name. |
max_width_mm | Yes | The row has an error | The widest print the placement takes, in millimetres. |
max_height_mm | Yes | The row has an error | The tallest print the placement takes, in millimetres. |
default_width_mm | No | The max_width_mm | The usual print width, in millimetres. Empty on a placement with print areas per row is the widest of them. |
default_height_mm | No | The max_height_mm | The usual print height, in millimetres. Empty on a placement with print areas per row is the tallest of them. |
bleed_mm | No | The default | How far the print runs past its edge, in millimetres. Empty uses the workspace's default bleed. |
safe_area_mm | No | The default | How far inside its edge important artwork stays, in millimetres. Empty uses the workspace's default safe area. |
print_method | Yes | The row has an error | How the placement is printed: digital, large-format, uv, dtg, dtf, sublimation, screen, pad, offset, embroidery, laser, cut-sew. |
dpi | No | The default | The print resolution, in dots per inch. Empty uses the default. |
coverage | No | The default | How a print covers the placement: within or full. Within takes a print of any size up to the largest, placed inside it; full prints edge to edge, the print being the whole area. Empty is within. |
required | No | The default | Whether every order of the blank must print the placement, because the item cannot be made without it, such as a cut-and-sewn sleeve: yes or no. Empty is no. |
fill_colour | No | The default | The colour, as #rrggbb, an optional placement is printed in when nobody designs it, such as a plain hood lining. Empty is none. |
area_width_mm | No | The row states no print area | The widest print the placement takes on the row's variants, in millimetres. The row is the line's values of the blank's areas_vary_by options. Lines of one placement and row repeat the area columns or leave them empty; a line that states an area states its width and height, and every area fits inside max_width_mm and max_height_mm. |
area_height_mm | No | The row states no print area | The tallest print the placement takes on the row's variants, in millimetres. |
area_default_width_mm | No | The area_width_mm | The usual print width on the row's variants, in millimetres. |
area_default_height_mm | No | The area_height_mm | The usual print height on the row's variants, in millimetres. |
area_dpi | No | The placement's | The print resolution on the row's variants, in dots per inch. Empty uses the placement's. |
area_bleed_mm | No | The placement's | How far the print runs past its edge on the row's variants, in millimetres. Empty uses the placement's. |
area_safe_area_mm | No | The placement's | How far inside its edge important artwork stays on the row's variants, in millimetres. Empty uses the placement's. |
mockup_url | No | The row has no photo | An https address of a product photo (PNG, JPEG, WebP, HEIC). Pixonaut downloads it and keeps it as one of your images. |
mockup_x_px | No | The view's first photo states it | The print area's left edge on the photo, in the photo's pixels. Every photo of a view shares it. |
mockup_y_px | No | The view's first photo states it | The print area's top edge on the photo, in the photo's pixels. Every photo of a view shares it. |
mockup_width_px | No | The view's first photo states it | The print area's width on the photo, in the photo's pixels. Every photo of a view shares it. |
mockup_height_px | No | The view's first photo states it | The print area's height on the photo, in the photo's pixels. Every photo of a view shares it. |
view_label | No | The placement_name | The view the photo is in, such as Flat or On model. Photos of one placement with the same label, in any case, make one view, and must all be the same size. Empty uses the placement's name, so a placement's unlabelled photos make one view. |
The photos
Section titled “The photos”Photo addresses must be https and reachable by anyone on the internet;
an address behind a login, or on a private network, cannot be fetched.
Pixonaut downloads each photo and keeps it as one of your images, so it
counts against your storage. It accepts PNG, JPEG, WebP and HEIC, and judges which
by the file’s content, not its name or the address’s ending.
The printshop
Section titled “The printshop”Every blank is made by one printshop, set when the blank is created and never
changed. The printshop column names it by the name your printshop has in
Pixonaut, in any case. An empty cell takes the printshop of the blank’s
category, and if the category has none, or the import creates the category,
the workspace’s default printshop. The preview shows which printshop each
blank gets and where it came from.
A blank’s first row has an error when:
- none of the three gives it a printshop;
- the name is not one of your printshops, or two of them have it;
- the printshop is disconnected, or no longer available;
- you may not choose printshops, and the name is not the category’s printshop.
Variants
Section titled “Variants”A blank sold in several colours and sizes holds each combination as one of its variants. Add a column for each of its option axes, and one for each variant field its printshop declares:
| Column | What it holds |
|---|---|
option:Color | One column per option axis, such as option:Color and option:Size, in the order the shopper sees them. Every row of a blank fills each one, and rows of a blank that differ only in these cells make its variants. Rows of one view naming the same photo make one photo, which shows the variants of the colours on its rows. |
field:colorCode | One column per variant field the blank's printshop declares, such as field:colorCode: the value its orders send for the row's variant. Empty sends the field's default. A column the printshop does not declare is an error on a blank that fills it. |
- Rows of a blank that differ only in their options make its variants. A tee in Red and Blue, each in S and M, takes four rows for its front placement, one per variant, and its axes are Color and Size in the order of the columns.
- A colour’s photo shows every variant of that colour. Put the same photo address on the rows of that colour, or on one of them and leave the others’ photo columns empty. A view holds one photo per colour; on a blank with no Color axis it holds one photo, which shows every variant.
- A variant may span several placements and views. Its later rows repeat its field values or leave them empty; a value that differs is an error.
- A file with no option columns makes each blank its one variant.
A row has an error when one of its option cells is empty, or when another row of the same placement and photo has the same options; a blank’s row has one when it fills a field its printshop does not declare. A blank may have at most 5 axes and 2,000 variants.
Print areas per size
Section titled “Print areas per size”A cut-and-sewn sweater’s front panel is larger on an XL than on an S. Name
the options a blank’s print areas change with in its areas_vary_by cell,
such as Size, and state each placement’s print area on its rows with the
area_ columns:
- A row’s print area is for its option values. On a blank whose areas
vary by Size, a front row with
option:SizeM states the front’s area on every M variant. - Rows of one placement and size repeat the area or leave it empty. A
value that differs is an error. A row that states an area fills its
area_width_mmandarea_height_mm; the usual size, resolution, bleed and safe area may be left out. - Every area fits inside the placement’s
max_width_mmandmax_height_mm. One that does not is an error on its row, naming it. A placement whose usual size is left empty takes the widest and tallest of its areas. - A blank whose
areas_vary_byis empty may not fill the area columns.
The coverage, required and fill_colour columns describe the placement
on every size: a sleeve panel the sweater cannot be made without is full
and required, and a plain hood lining nobody designs takes a fill colour.
What happens when you import
Section titled “What happens when you import”The import runs in the background. As it starts, every blank the file creates appears in your blanks at once, with its name, marked as importing, and the studio tells you when the import has finished. You can go on working meanwhile.
- A blank whose name already exists is skipped and never updated. The import only creates. To change a blank you already have, edit it in the studio.
- Each blank is all or nothing. The import fetches each blank’s photos in turn, and the blank becomes ready with all of them. If one of its photos cannot be fetched or stored, or does not fit its view, the blank is marked as failed, and the rest of the file carries on. If your storage fills up, that blank and every one after it fail.
A failed blank says why when you open it. Remove it, fix what went wrong, and run the same file again: because existing names are skipped, it creates only what is missing.
Limits
Section titled “Limits”- The file may be at most 170 KB.
- At most 500 rows.
- At most 100 blanks.
- One import has 60 minutes to fill its blanks in. Blanks it does not reach in that time fail. Split a large catalogue into several files, or remove the failed blanks and run the same file again.
- One import runs at a time in a workspace. Wait for it to finish before starting the next.
The example file
Section titled “The example file”The example holds a t-shirt whose front is photographed flat and on a model (two views) and whose back has one unlabelled photo, and a tote whose single placement has no photo yet. The photo addresses are placeholders: replace them with your own.
Download blanks-example.csv
blank_name,category,printshop,areas_vary_by,placement_id,placement_name,shop_name,max_width_mm,max_height_mm,default_width_mm,default_height_mm,bleed_mm,safe_area_mm,print_method,dpi,coverage,required,fill_colour,area_width_mm,area_height_mm,area_default_width_mm,area_default_height_mm,area_dpi,area_bleed_mm,area_safe_area_mm,mockup_url,mockup_x_px,mockup_y_px,mockup_width_px,mockup_height_px,view_label
Classic tee,T-shirts,,,front,Front,,300,400,250,300,0,10,dtg,300,,,,,,,,,,,https://example.com/photos/classic-tee-front.png,410,360,380,500,Flat
Classic tee,,,,front,Front,,300,400,250,300,0,10,dtg,300,,,,,,,,,,,https://example.com/photos/classic-tee-front-model.jpg,520,300,300,400,On model
Classic tee,,,,back,Back,,300,400,,,0,10,dtg,300,,,,,,,,,,,https://example.com/photos/classic-tee-back.png,410,300,380,500,
Canvas tote,Bags,,,front,Front,,280,320,,,,,screen,,,,,,,,,,,,,,,,,
Questions? Write to [email protected].