Lade eine kombinierte JSON-Datei hoch, die photobook und imageMap enthält.
Dies ist ein Service für die Erstellung von digitalen Fotobüchern. Sie senden eine JSON-Datei mit Fotobuch-Layout und Bild-URLs und erhalten automatisch ein PDF-Fotobuch zurück.
/uploadErwartet einen JSON-Body mit folgenden Feldern:
{
"photobook": { ... },
"imageMap": { "entryImageId": "https://..." },
"entryMap": { "entryId": { "title": "...", "content": "...", "entryDate": "..." } },
"config": {
"pageSize": "21cm",
"preview": false
}
}
Felder:
"21cm" Standard oder "29cm")true/false)Alternativ können Sie die JSON-Datei auch über die Weboberfläche hochladen:
photobook und imageMapDas Cover enthält ein Layout (square, round oder arch), optional ein Bild, Farben und Texte.
Jeder Eintrag besteht aus einer oder mehreren Seiten. Jede Seite hat ein Layout und Elemente (Fotos oder Texte).
Verfügbare Seitenlayouts:
text-only — Nur Textfull-image — Ein Vollbildtext-top-image-bottom — Text oben, Bild untentext-top-2-images-bottom — Text oben, 2 Bilder unten2-images-vertical — 2 Bilder vertikal2-images-horizontal — 2 Bilder horizontalimage-top-2-images-bottom — Bild oben, 2 Bilder unten2-images-top-image-bottom — 2 Bilder oben, Bild unten2-image-top-2-images-bottom — 2 Bilder oben, 2 Bilder unten3-image-top-2-images-bottom — 3 Bilder oben, 2 Bilder unten2-image-top-3-images-bottom — 2 Bilder oben, 3 Bilder untenfontFamily im Layout legt die Schrift des ganzen Buches fest – Cover wie Innenseiten:
"josefin-sans" (Standard, auch wenn das Feld fehlt)"josefin-slab""chewy" – nur ein Schnitt, Titel werden damit nicht fettUnbekannte Werte und die im Editor stillgelegten Schriften ("lora", "italiana") fallen auf den
Standard zurück – genau wie im Editor, damit Bildschirm und Druck übereinstimmen.
{ "layout": { "fontFamily": "josefin-slab", "cover": { ... }, "entries": [ ... ] } }
Die Layouts text-top-image-bottom und text-top-2-images-bottom haben eine Textzone über den Bildern.
Zwei optionale Felder steuern sie:
textHeight auf der Seite — wie hoch die Textzone ist:
"half" (Standard, auch wenn das Feld fehlt) — sie nimmt die halbe Seite ein"auto" — sie passt sich ihrem Inhalt an. Nach oben ist sie auf 70 % der Nutzhöhe gedeckelt, damit
langer Text die Bildzone nicht verdrängt. Der frei werdende Platz geht an die Bilder darunter.showDate / showTitle / showContent im Textelement — welche Bestandteile gezeigt werden.
Fehlt ein Feld, wird der Teil gezeigt; nur ein explizites false blendet ihn aus.
Sind alle drei auf false, zeigt die Textzone nichts mehr und fällt samt Zeilenabstand auf 0 zusammen —
die Bilder beginnen dann am oberen Seitenrand und fluchten mit denen der Nachbarseite.
{
"layout": "text-top-image-bottom",
"textHeight": "auto",
"elements": [
{
"position": 1,
"type": "text",
"text": { "alignment": "left", "showDate": true, "showTitle": true, "showContent": false }
},
{ "position": 2, "type": "photo", "photo": { "entryImageId": "img-1" } }
]
}
Bei text-only wirken beide Felder nicht: dort füllt der Text ohnehin die ganze Seite.
imageMap geladen