バッチ
POST /v1/renders/batch は単一のリクエストで最大 50 個の画像をレンダリングします。アイテムは並行して実行され、アイテムごとにメーター化されます。1つのアイテムの失敗が他のアイテムを中止することはありません。
# 2つの形式
1つのテンプレート、複数の修正セット — 一般的なケース:
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" }
]
}'
各アイテムは modifications オブジェクト、またはアイテムごとにフォーマットをオーバーライドするための { "modifications": {…}, "output": "…" } です。
異種レンダリング — 1つの呼び出しで異なるテンプレート:
{
"renders": [
{ "template": "tpl_a", "modifications": { "title": "A" }, "output": "png" },
{ "template": "tpl_b", "modifications": { "title": "B" }, "output": "pdf" }
]
}
# 1つの複数ページPDFにマージ
merge: true を追加してすべてのアイテムを ページ としてレンダリングし、1つの複数ページPDFに縫い合わせます — 法律文書、レポート、その他の複数ページドキュメント向けのパスです:
{
"template": "tpl_report",
"merge": true,
"items": [
{ "title": "Cover" },
{ "title": "Summary" },
{ "title": "Appendix" }
]
}
アイテムごとの結果の代わりに、1つのドキュメントが得られます:
{ "id": "rnd_doc", "url": "https://img.mostlyrender.com/mostlyrender/renders/rnd_doc.pdf", "output": "pdf", "pages": 3 }
# レスポンス
merge がない場合、結果は位置決めされます — アイテムごとに1つのエントリ:
{
"results": [
{ "id": "rnd_1", "url": "https://img.mostlyrender.com/mostlyrender/renders/rnd_1.png", "output": "png" },
{ "error": "render failed" }
],
"count": 2,
"ok": 1
}
results は位置決めされます — 各エントリはレンダリング結果または { "error" } オブジェクトのいずれかです。count は処理された合計数です。ok は成功した数です。
# SDK
res = mr.render_batch(
template_id="tpl_abc",
output="png",
items=[{"title": "One"}, {"title": "Two"}, {"title": "Three"}],
)
print(res["count"], res["ok"])
50より大きいバッチの場合は、複数のリクエストに分割するか、非同期ジョブを使用してください。