mirror of
https://github.com/direct-img/direct-img.link.git
synced 2026-10-17 18:27:52 +00:00
free.* and ai.* stay at 20, since Openverse and Wikimedia return ~50 results together. Also note that production's Openverse requests are authenticated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
708 B
JavaScript
14 lines
708 B
JavaScript
// { urls } ([] if none found), or { error } if Brave refused or failed, e.g. once our rate or spending limit is hit
|
|
export async function braveImageSearch(query, apiKey) {
|
|
try {
|
|
const res = await fetch(`https://api.search.brave.com/res/v1/images/search?q=${encodeURIComponent(query)}&count=100&safesearch=off`, {
|
|
headers: { "Accept": "application/json", "X-Subscription-Token": apiKey },
|
|
});
|
|
if (!res.ok) return { error: `HTTP ${res.status}: ${(await res.text()).slice(0, 300)}` };
|
|
const data = await res.json();
|
|
return { urls: data.results?.map(r => r.properties?.url || r.thumbnail?.src).filter(url => !!url) || [] };
|
|
} catch (err) {
|
|
return { error: err.message };
|
|
}
|
|
}
|