Repository navigation
Add Pixabay as a stock source for image_find - #28
Merged
Merged
Conversation
image_find now searches Pixabay last, after Pexels and Unsplash, when PIXABAY_API_KEY is set in the environment. Pixabay pictures are saved locally with a credit record, as the other sources are. - parse_pixabay reads hits and the 1280 px image; search order is Pexels, Unsplash, Pixabay; the first provider with results wins. - A failed request raises StockError naming only the provider. The Pixabay key travels in the URL, so the original exception is never passed on. - Credit wording for Pixabay is "Image by X on Pixabay". - Catalog regenerated; docs, notices and tool description list the key. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017qYKdYke3ySSZS76W9Tp34
The full run flagged tests/studio/test_stock_pixabay.py in test_no_secrets: a 28-character fake key after a SECRET assignment matched the generic pattern. The value is not a credential, but the test should not need an exemption. It is now a 13-character fake key. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017qYKdYke3ySSZS76W9Tp34
IsraelWebDev
pushed a commit
that referenced
this pull request
Nov 12, 2026
Brings in Pixabay (#28). Conflicts in tools.py, studio.md and catalog.json resolved to keep both the 24-hour expiry and the Pixabay wording; the catalog was regenerated. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017qYKdYke3ySSZS76W9Tp34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds Pixabay as the third stock source for
image_find, after Pexels and Unsplash. It is used only whenPIXABAY_API_KEYis set in the environment.inputs/<name>.jpgwith a credit record, like the other sources. Credit line: "Image by [author] on Pixabay".StockErrornaming the provider only. The Pixabay key travels in the URL, so the original exception is never passed on.Changed
funkbox/studio/stock.py:parse_pixabay,PIXABAY_ORIENTATION, the Pixabay branch insearch, provider-only error messages, the key inKEYS.funkbox/studio/tools.py: theimage_finddescription lists the Pixabay key.docs/catalog.jsonregenerated;docs/studio.md;THIRD_PARTY_NOTICES.md(Pixabay Content Licence).Tests
tests/studio/test_stock_pixabay.py(7 tests, offline): parsing, credit requirement, search order (Pixabay only after Pexels and Unsplash have nothing), the key sent as a query parameter, no key leaked in errors, no call without a key, orientation mapping.test_p7_hygiene.py::test_no_secrets, which matched a 28-character fake key in the new test. The last commit shortens the fake key to 13 characters.test_p7_hygiene.pyand the studio, catalog and server tests now pass (72 passed).Not in this PR
card/unsplash-cache24h, not here.card/unsplash-cache24hboth touchstock.py,tools.pyanddocs/studio.md, so the second one to merge will need a merge ofmain.🤖 Generated with Claude Code
Co-Authored-By: Claude Haiku 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_017qYKdYke3ySSZS76W9Tp34
Generated by Claude Code