{"editorial_visual":"https://favicon.now/static/images/editorial/guides/favicon-api-automation.webp","implementation_artifact":{"code":"curl --fail-with-body \\\n  -X POST https://favicon.now/api/v1/package \\\n  -F file=@source/brand-mark.png \\\n  -F name='Example Site' \\\n  -F legacy=false \\\n  -F maskable=true \\\n  --output build/favicon-now-package.zip","heading":"Automated package build and evidence files","intro":"This CI layout separates the versioned source, generated archive, and machine-readable inspection report so releases can compare outputs rather than trust filenames.","language":"bash","tree":"source/brand-mark.png\nbuild/favicon-now-package.zip\nreports/favicon-package-check.json\n.github/workflows/favicon.yml"},"published":"2026-07-31","section_headings":["Choose one source of truth","Validate in CI","Monitor production","Call the versioned package API","Define a deterministic build contract","Test deployment after generation"],"sources":[{"label":"Pillow image file formats","url":"https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html"},{"label":"GitHub Actions artifacts","url":"https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts"}],"title":"Favicon API Automation: Deterministic Generation in CI/CD","updated":"2026-07-31","url":"https://favicon.now/guides/favicon-api-automation"}
