MostlyRender

Stapel

POST /v1/renders/batch rendert bis zu 50 Bilder in einer einzelnen Anfrage. Elemente laufen gleichzeitig und werden pro Element gemessen; ein Fehler bei einem Element bricht niemals die anderen ab.

# Zwei Formen

Eine Vorlage, viele Änderungssätze — der häufige Fall:

bash
curl https://api.mostlyrender.com/v1/renders/batch \
  -H "Authorization: Bearer mr_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "tpl_abc",
    "output": "png",
    "items": [
      { "title": "One" },
      { "title": "Two" },
      { "title": "Three" }
    ]
  }'

Jedes Element ist ein modifications Objekt oder { "modifications": {…}, "output": "…" } um das Format pro Element zu überschreiben.

Heterogene Renders — verschiedene Vorlagen in einem Aufruf:

json
{
  "renders": [
    { "template": "tpl_a", "modifications": { "title": "A" }, "output": "png" },
    { "template": "tpl_b", "modifications": { "title": "B" }, "output": "pdf" }
  ]
}

# In ein Multi-Page-PDF zusammenführen

Fügen Sie merge: true hinzu um jedes Element als Seite zu rendern und sie in ein einzelnes mehrseitiges PDF zu nähen — der Weg für rechtliche Dokumente, Berichte und andere mehrseitige Dokumente:

json
{
  "template": "tpl_report",
  "merge": true,
  "items": [
    { "title": "Cover" },
    { "title": "Summary" },
    { "title": "Appendix" }
  ]
}

Anstelle von pro-Element-Ergebnissen erhalten Sie ein Dokument:

json
{ "id": "rnd_doc", "url": "https://img.mostlyrender.com/mostlyrender/renders/rnd_doc.pdf", "output": "pdf", "pages": 3 }

# Antwort

Ohne merge sind Ergebnisse positionell — ein Eintrag pro Element:

json
{
  "results": [
    { "id": "rnd_1", "url": "https://img.mostlyrender.com/mostlyrender/renders/rnd_1.png", "output": "png" },
    { "error": "render failed" }
  ],
  "count": 2,
  "ok": 1
}

results ist positionell — jeder Eintrag ist entweder ein Render-Ergebnis oder ein { "error" } Objekt. count ist die Gesamtzahl verarbeitet; ok ist wie viele erfolgreich waren.

# SDK

python
res = mr.render_batch(
    template_id="tpl_abc",
    output="png",
    items=[{"title": "One"}, {"title": "Two"}, {"title": "Three"}],
)
print(res["count"], res["ok"])

Für Stapel größer als 50 teilen Sie in mehrere Anfragen auf oder verwenden Sie asynchrone Jobs.