Browse Source

fix(03-01): pass API keys to /api/models and extract models array

UAT fixes:
- UAT-001: Extract .models from API response (was setting whole object)
- UAT-002: Send X-Replicate-Key and X-Fal-Key headers to /api/models
handoff-20260429-1057
shrimbly 6 months ago
parent
commit
a2540f1392
  1. 15
      src/components/nodes/GenerateImageNode.tsx

15
src/components/nodes/GenerateImageNode.tsx

@ -62,10 +62,17 @@ export function GenerateImageNode({ id, data, selected }: NodeProps<NanoBananaNo
setIsLoadingModels(true); setIsLoadingModels(true);
try { try {
const capabilities = IMAGE_CAPABILITIES.join(","); const capabilities = IMAGE_CAPABILITIES.join(",");
const response = await fetch(`/api/models?provider=${currentProvider}&capabilities=${capabilities}`); const headers: HeadersInit = {};
if (providerSettings.providers.replicate?.apiKey) {
headers["X-Replicate-Key"] = providerSettings.providers.replicate.apiKey;
}
if (providerSettings.providers.fal?.apiKey) {
headers["X-Fal-Key"] = providerSettings.providers.fal.apiKey;
}
const response = await fetch(`/api/models?provider=${currentProvider}&capabilities=${capabilities}`, { headers });
if (response.ok) { if (response.ok) {
const models = await response.json(); const data = await response.json();
setExternalModels(models); setExternalModels(data.models || []);
} else { } else {
setExternalModels([]); setExternalModels([]);
} }
@ -78,7 +85,7 @@ export function GenerateImageNode({ id, data, selected }: NodeProps<NanoBananaNo
}; };
fetchModels(); fetchModels();
}, [currentProvider]); }, [currentProvider, providerSettings]);
// Handle provider change // Handle provider change
const handleProviderChange = useCallback( const handleProviderChange = useCallback(

Loading…
Cancel
Save