fix: photo import language + no-recipe-recognized handling (v0.29.0)

importFromPhoto() accepted a locale param but silently discarded it
(named _locale, never read) — now builds a language instruction the
same way generate-recipe.ts does for text generation.

The AI output schema had no way to signal "couldn't find a recipe in
this image" — generateObject would always fabricate a title/fields.
Added a `found` boolean the model sets to false in that case; the
route now returns 422 instead of creating a garbage recipe and
sending the user into the editor with it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-14 13:45:52 +02:00
parent 21c541e115
commit d8bc077f47
11 changed files with 40 additions and 8 deletions
@@ -44,6 +44,10 @@ export async function POST(req: NextRequest) {
if (!result.ok) return result.response;
const recipe = result.data;
if (!recipe.found) {
return NextResponse.json({ error: "No recipe recognized in photo" }, { status: 422 });
}
const newRecipeId = crypto.randomUUID();
const now = new Date();