feat: add css parameter for custom CSS injection in screenshots
All checks were successful
Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 10m33s

This commit is contained in:
OpenClaw 2026-03-04 21:06:50 +01:00
parent 1b7251fbcb
commit 0999474fbd
8 changed files with 176 additions and 17 deletions

View file

@ -134,6 +134,7 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
</div>
<div class="release-body">
<ul>
<li>✨ New: <code>css</code> parameter — inject custom CSS into the page before capture (max 5000 chars). Perfect for custom fonts, color overrides, or complex layout adjustments</li>
<li>✨ New: <code>darkMode</code> parameter — emulate prefers-color-scheme: dark for dark mode screenshots</li>
<li>✨ New: <code>hideSelectors</code> parameter — hide elements by CSS selector before capture (max 10, 200 chars each)</li>
<li>🔒 Fixed: Cancelled subscriptions now properly blocked (was incorrectly getting free tier)</li>
@ -141,7 +142,7 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
<li>🛡️ Added: Rate limiting on billing endpoints (10 req/15min)</li>
<li>🐛 Fixed: FAQ accordion double-toggle</li>
<li>🐛 Fixed: Privacy/Terms/Impressum 404s on extensionless URLs</li>
<li>📊 360 tests passing</li>
<li>📊 366 tests passing</li>
</ul>
</div>
</div>

View file

@ -301,6 +301,12 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
<span class="flag">-H</span> <span class="str">"Authorization: Bearer YOUR_API_KEY"</span> \
<span class="flag">-H</span> <span class="str">"Content-Type: application/json"</span> \
<span class="flag">-d</span> <span class="str">'{"url":"https://example.com","hideSelectors":["#cookie-banner",".popup"]}'</span>
<span class="cmt"># Inject custom CSS</span>
<span class="kw">curl</span> <span class="flag">-X POST</span> <span class="url">https://snapapi.eu/v1/screenshot</span> \
<span class="flag">-H</span> <span class="str">"Authorization: Bearer YOUR_API_KEY"</span> \
<span class="flag">-H</span> <span class="str">"Content-Type: application/json"</span> \
<span class="flag">-d</span> <span class="str">'{"url":"https://example.com","css":"body { background: #1a1a2e !important }"}'</span>
</div>
<div class="code-body" id="code-get" style="display:none">
<span class="cmt"># GET request with query parameters</span>
@ -327,6 +333,7 @@ footer{border-top:1px solid var(--border);padding:48px 24px 32px;background:var(
<span class="prop">fullPage</span>: <span class="kw">true</span>,
<span class="prop">darkMode</span>: <span class="kw">true</span>,
<span class="prop">hideSelectors</span>: [<span class="str">'#cookie-banner'</span>, <span class="str">'.popup'</span>],
<span class="prop">css</span>: <span class="str">'body { background: #1a1a2e !important }'</span>,
});
</div>
<div class="code-body" id="code-python" style="display:none">
@ -342,6 +349,7 @@ screenshot = snap.<span class="fn">capture</span>(
<span class="prop">full_page</span>=<span class="kw">True</span>,
<span class="prop">dark_mode</span>=<span class="kw">True</span>,
<span class="prop">hide_selectors</span>=[<span class="str">"#cookie-banner"</span>, <span class="str">".popup"</span>],
<span class="prop">css</span>=<span class="str">"body { background: #1a1a2e !important }"</span>,
)
</div>
</div>