← Back

Full JSON for Task ID: 586

{
    "id": "586",
    "status": "failed",
    "input": {
        "text": "Ceļojums piemērots: visiem, kuriem varētu interesēt nebeidzamu kontrastu pilsēta ar bagātīgu vēsturisku mantojumu, elpu aizraujošu modernu arhitektūru – vieta, kur Austrumi un Rietumi sadodas rokās.\r\nGaisa temperatūra: ap 27 C dienā, ap 20 C naktī\r\nŪdens temperatūra: 20C\r\nLaikapstākļi: lietus iespējamība 15%\r\nLaika starpība ar Latviju: + 2 stundas\r\nValūta: Azerbaidžānas manats (AZN) 1 AZN = ~ 0.50 EUR\r\nAzerbaidžānā lielākā sabiedrības daļa ir musulmaņi. Mēs aicinām ceļotājus respektēt vietējās tradīcijas un likumus, jo īpaši apmeklējot reliģiskas vietas.\r\nJāņem līdz: peldkostīms, līdzekļi pret UV starojumu, galvassega, saulesbrilles, viegls, visu ķermeni nosedzošs apģērbs.\r\nGrupu ceļojumā pavadīs latviski, krieviski, angliski runājošs FlyMeAway grupas vadītājs un tās lielums būs max. 21 personas!\r\nEkskursiju programma norisināsies krievu valodā un visiem ceļotājiem tā jau IR IEKĻAUTA ceļojuma komplekta cenā. Tāpat iekļautas ir arī četras pusdienas ekskursiju laikā, kā arī divas kopīgas vakariņas.\r\nPirmā iemaksa 300 EUR, pilna apmaksa par ceļojumu jāveic līdz 10.05.2026.\r\nVārda maiņa - bez maksas iespējama līdz 02.06.2026!\r\nAtļautais bagāžas apjoms katram ceļotājam: 30 kg reģistrējamā bagāža, 8 kg rokas bagāža.\r\nLidojumus izpilda avio kompānija Turkish Airlines.\r\nVisos lidojumos pasniedz silto maltīti ar dzērienu pēc izvēles, kā arī izklaidei pieejams plašs klāsts ar filmām, mūziku vai izglītojošiem raidījumiem\r\nLidojuma kopējais ilgums turpceļā: 7h 55min\r\nRīga – Stambula: 3h 20min\/\/19 JUN RIX IST 10.55 - 14.15 (Boeing 737-800)\r\nStambula – Baku: 2h 50min\/\/19 JUN IST GYD  16.00 - 19.50 (Airbus A321-200neo)\r\nLidojuma kopējais ilgums atpakaļceļā: 8h 35min\r\nBaku - Stambula: 3h 15min\/\/24 JUN GYD IST 11.30 - 13.45 (Airbus A321-200neo)\r\nStambula – Rīga: 3h 05min\/\/24 JUN IST RIX 16.00 - 19.05 (Boeing 737-800)\r\nCeļojuma apdrošināšana: Klientiem vecumā līdz 80 gadiem (ieskaitot) komplekta cenā jau ir iekļauta ERGO paplašinātā polise!",
        "type": "EXCURSION",
        "section": "all"
    },
    "output": {
        "faq": {
            "questions": [
                {
                    "answer": "Jā, Latvijas pilsoņiem un nepilsoņiem ir nepieciešama vīza, taču tās noformēšana un izmaksas jau ir iekļautas ceļojuma cenā. Jums nepieciešama tikai pase, kuras derīguma termiņš ir vismaz 6 mēneši pēc ceļojuma pēdējās dienas. Pirms ceļojuma ieteicams reģistrēties Konsulārajā reģistrā.",
                    "category": "Dokumenti\/vīzas",
                    "question": "Vai ceļojumam uz Azerbaidžānu ir nepieciešama vīza?"
                },
                {
                    "answer": "Jūnijā Baku valda patīkama vasara – gaisa temperatūra dienā ir ap +27°C, bet naktī noslīd līdz +20°C. Lietus iespējamība ir zema. Ūdens temperatūra jūrā ir ap +20°C, kas ļauj izbaudīt programmā iekļauto pludmales atpūtu Mardakanas provincē.",
                    "category": "Labākais ceļojuma laiks",
                    "question": "Kādi laikapstākļi ir gaidāmi ceļojuma laikā jūnijā?"
                },
                {
                    "answer": "Dzīvosiet 4 zvaigžņu viesnīcā \"Holiday Inn Baku\" pilsētas centrā, numuros ar skatu uz jūru. Cenā ir iekļautas brokastis, četras pusdienas ekskursiju laikā un divas vakariņas. Viesnīcā bez maksas pieejams iekštelpu baseins un SPA centrs.",
                    "category": "Izmitināšana\/ēdināšana",
                    "question": "Kāda ir izmitināšana un vai ēdināšana ir iekļauta cenā?"
                },
                {
                    "answer": "Lidojumus nodrošina \"Turkish Airlines\" caur Stambulu ar iekļautu silto maltīti. Katram ceļotājam cenā iekļauta dāsna reģistrējamā bagāža līdz 30 kg un rokas bagāža līdz 8 kg, kas ļauj ērti pārvest suvenīrus un vietējos gardumus.",
                    "category": "Transports\/bagāža",
                    "question": "Kādi ir bagāžas noteikumi un lidojuma detaļas?"
                },
                {
                    "answer": "Cenā iekļauts gandrīz viss, tostarp vīza un ERGO ceļojuma apdrošināšana (līdz 80 gadu vecumam). Papildus jārēķinās ar izdevumiem par alkoholiskajiem dzērieniem pusdienu un vakariņu laikā, personīgajiem pirkumiem un suvenīriem, kā arī brīvā laika aktivitātēm.",
                    "category": "Papildu izmaksas",
                    "question": "Ar kādām papildu izmaksām jārēķinās ārpus ceļojuma cenas?"
                },
                {
                    "answer": "Lai rezervētu vietu, nepieciešama pirmā iemaksa 300 EUR apmērā. Atlikusī summa jāsamaksā līdz 2026. gada 10. maijam. Ja nepieciešams, vārda maiņa bez maksas ir iespējama līdz 2. jūnijam. Rezervāciju var veikt, sazinoties ar Vanilla Travel aģentiem.",
                    "category": "Rezervācijas process",
                    "question": "Kāda ir pieteikšanās kārtība un apmaksas termiņi?"
                }
            ]
        },
        "hero": {
            "title": "Jāņu brīvdienas Baku: Uguns un vēju pilsētas šarms",
            "summary": "6 dienu ceļojums uz Azerbaidžānu, kur Austrumu tradīcijas satiekas ar futūristisku arhitektūru. Atklāj Baku vecpilsētas noslēpumus un mūsdienīgos Liesmu torņus, dodies uz Mēness ainavām līdzīgajiem Gobustānas dubļu vulkāniem un izbaudi Kaspijas jūras piekrastes atpūtu. Piedzīvo autentisku kulinārijas meistarklasi, vīna degustāciju un nakšņo augstas klases 4* viesnīcā pilsētas centrā. Ideāla iespēja nelielā grupā iepazīt Uguns zemes viesmīlību un bagātīgo kultūras mantojumu."
        },
        "flight": {
            "carrier": {
                "name": "Turkish Airlines",
                "onboard_services": "Visos lidojumos tiek pasniegta siltā maltīte ar dzērienu pēc izvēles, kā arī pieejams plašs izklaides klāsts ar filmām, mūziku vai izglītojošiem raidījumiem."
            },
            "flight_schedule": {
                "inbound": [
                    "24. jūnijs: Baku (GYD) – Stambula (IST) 11:30 - 13:45 (Airbus A321-200neo)",
                    "24. jūnijs: Stambula (IST) – Rīga (RIX) 16:00 - 19:05 (Boeing 737-800)"
                ],
                "outbound": [
                    "19. jūnijs: Rīga (RIX) – Stambula (IST) 10:55 - 14:15 (Boeing 737-800)",
                    "19. jūnijs: Stambula (IST) – Baku (GYD) 16:00 - 19:50 (Airbus A321-200neo)"
                ],
                "total_travel_time": "7h 55min (turpceļā), 8h 35min (atpakaļceļā)"
            },
            "logistics_title": "Lidojumu un transporta loģistikas dati: Rīga – Baku – Rīga",
            "ground_transfers": [
                {
                    "type": "Ierašanās transfers",
                    "description": "Transfers no Baku lidostas uz viesnīcu pēc pasu kontroles (paredzamais laiks ~ 30 minūtes)."
                },
                {
                    "type": "Izbraukšanas transfers",
                    "description": "Transfers no viesnīcas uz lidostu pirms izlidošanas reisa (izlidošana plkst. 11:30)."
                }
            ],
            "baggage_allowance": {
                "cabin": "8 kg rokas bagāža",
                "checked": "30 kg reģistrējamā bagāža"
            }
        },
        "hotels": [
            {
                "dining": [
                    {
                        "name": "Marina 18",
                        "description": "Restorāns ar panorāmas skatu uz Kaspijas jūru, kas piedāvā dažādu tautu virtuves gardumus."
                    },
                    {
                        "name": "Sagi",
                        "description": "Bārs, kurā viesi var baudīt dažādus dzērienus."
                    }
                ],
                "location": {
                    "area": "Baku pilsētas centrs"
                },
                "hotel_name": "Holiday Inn Baku By IHG",
                "star_rating": "4 zvaigznes",
                "amenities_list": [
                    "Iekšējais peldbaseins",
                    "SPA un skaistumkopšanas centrs",
                    "Fitnesa centrs",
                    "Bankomāts",
                    "Valūtas maiņa",
                    "Bezmaksas pazemes autostāvvieta",
                    "Wi-Fi"
                ],
                "wellness_features": [
                    "Iekšējais peldbaseins",
                    "Sauna",
                    "Tvaika pirts",
                    "Fitnesa centrs"
                ],
                "article_description": "Šī modernā viesnīca atrodas pašā Baku sirdī, piedāvājot lielisku izejas punktu pilsētas iepazīšanai – vien dažu minūšu gājiena attālumā no vecpilsētas un galvenajiem apskates objektiem. Viesi var baudīt elpu aizraujošus skatus uz Kaspijas jūru un relaksēties augstākās klases SPA centrā pēc piedzīvojumiem bagātas dienas. Tā ir ideāla izvēle ceļotājiem, kuri novērtē mūsdienīgu komfortu un stratēģiski ērtu atrašanās vietu.",
                "room_specifications": "Plaši numuri ar gaisa kondicionieri, TV, Wi-Fi, minibāru, fēnu un tējkannu. Ceļojuma grupai paredzēti standarta numuri ar skatu uz jūru."
            }
        ],
        "pricing": {
            "included": [
                "Lidojums ar Turkish Airlines (Rīga – Stambula – Baku – Stambula – Rīga)",
                "30 kg reģistrējamā bagāža un 8 kg rokas bagāža",
                "Siltā maltīte un dzērieni lidojumu laikā",
                "Transfers lidosta – viesnīca – lidosta",
                "Dzīvošana 4* viesnīcā Holiday Inn Baku (standarta numuri ar skatu uz jūru)",
                "Brokastis viesnīcā",
                "Viesnīcas iekšējā peldbaseina apmeklējums",
                "Ekskursiju programma ar krieviski runājošu vietējo gidu",
                "FlyMeAway grupas vadītāja pakalpojumi",
                "Četras pusdienas ekskursiju laikā",
                "Divas kopīgas grupas vakariņas",
                "Ieejas maksas programmā minētajos apskates objektos (Širvanšaha pils, Jaunavas tornis, Paklāju muzejs, u.c.)",
                "Gobustānas nacionālā parka, dubļu vulkānu, Atešgas Uguns tempļa un Janardaga apmeklējums",
                "Saulessargu un pludmales krēslu noma pludmalē",
                "Kulinārijas meistarklase",
                "Vīna tūre un degustācija",
                "ERGO ceļojuma apdrošināšanas polise (klientiem līdz 80 gadiem)",
                "Azerbaidžānas vīzas noformēšana un izmaksas",
                "Vārda maiņa (līdz 02.06.2026)"
            ],
            "additional_costs": [
                "Alkoholiskie dzērieni pusdienu un vakariņu laikā",
                "Četrvietīgs numurs (cena un pieejamība pēc pieprasījuma)"
            ]
        },
        "program": [
            {
                "title": "1. diena: Lidojums uz Baku un ierašanās",
                "day_number": 1,
                "description": "Ceļojums sākas ar lidojumu no Rīgas uz Baku, izmantojot *Turkish Airlines* ar ērtu pārsēšanos Stambulā. Vakarā, plkst. 19:50, nolaidīsieties Azerbaidžānas galvaspilsētā, kur Austrumu eksotika savijas ar mūsdienu arhitektūru. Pēc robežkontroles formalitātēm dosieties aptuveni 30 minūšu transfērā uz pilsētas centru. Iekārtosieties modernajā viesnīcā, kas atrodas izdevīgā vietā netālu no Kaspijas jūras krastmalas un galvenajiem apskates objektiem. Atlikušais vakars paredzēts mierīgai atpūtai pēc ceļa, lai aklimatizētos un sagatavotos rītdienas piedzīvojumiem leģendārajā \"vēju pilsētā\".",
                "accommodation": {
                    "name": "Holiday Inn Baku",
                    "category": "4*"
                }
            },
            {
                "title": "2. diena: Baku pilsētas apskats",
                "day_number": 2,
                "description": "Plkst. 10:00 uzsāksiet aizraujošu Baku iepazīšanu, sākot ar Nizami ielu un UNESCO iekļauto vecpilsētu \"Icherisheher\", kur apskatīsiet vēsturisko Širvanšaha pili un leģendām apvīto Jaunavas torni. Tālāk apmeklēsiet unikālo Miniatūro grāmatu muzeju un baudīsiet elpu aizraujošus pilsētas skatus no Hailendas parka, fonā slejoties ikoniskajiem \"Liesmu torņiem\". Pēc sātīgām pusdienām vietējā restorānā izbaudīsiet pastaigu pa vēju pilsētas promenādi – Baku bulvāri, aplūkojot Paklāju muzeju un panorāmas ratu. Ekskursija ilgs aptuveni 5 stundas. Vakarā brīvs laiks atpūtai viesnīcas SPA centrā. Nakšņošana viesnīcā \"Holiday Inn Baku\".",
                "accommodation": {
                    "name": "Holiday Inn Baku",
                    "category": "4*"
                }
            },
            {
                "title": "3. diena: Gobustānas parks un Abšeronas pussalas dārgumi",
                "day_number": 3,
                "description": "Rītu sāksiet ar 70 km braucienu uz Gobustānas nacionālo parku, kur apbrīnosiet senos klinšu zīmējumus un unikālos dubļu vulkānus. Dienas gaitā apskatīsiet Bibi-Heibata mošeju un pasaulē pirmo mehāniski urbto naftas aku. Pēc pusdienām iepazīsiet zoroastriešu mantojumu Atešgas Uguns templī un redzēsiet Janardaga jeb \"Degošo kalnu\", kur no zemes paceļas dabasgāzes liesmas. Apmēram 9 stundu garo ekskursiju noslēgsiet pie modernā Heidara Alijeva centra. Vakarā paredzētas kopīgas vakariņas un nakšņošana viesnīcā \"Holiday Inn Baku\".",
                "accommodation": {
                    "name": "Holiday Inn Baku",
                    "category": "4*"
                }
            },
            {
                "title": "4. diena: Atpūta pie Kaspijas jūras un kulinārā meistarklase",
                "day_number": 4,
                "description": "Rīta cēlienā dosieties 30 km braucienā uz Mardakanas provinci Abšeronas pussalas dienvidaustrumos. Šeit, Kaspijas jūras piekrastē, izbaudīsiet nesteidzīgu atpūtu labiekārtotā pludmalē, kurā iekļauta saulessargu un krēslu noma. Dienas vidū kultūras iepazīšana turpināsies ar īpašu garšas piedzīvojumu – piedalīsieties kulinārijas meistarklasē. Vietējā šefpavāra uzraudzībā apgūsiet tradicionālo azerbaidžāņu ēdienu gatavošanas noslēpumus, ko vēlāk ar gandarījumu baudīsiet pašu gatavotās pusdienās. Pēc aptuveni 8 stundu ilgas programmas pēcpusdienā atgriezīsieties Baku, lai baudītu brīvu vakaru pilsētā vai viesnīcas SPA centrā. Nakšņošana modernajā viesnīcā 'Holiday Inn Baku'.",
                "accommodation": {
                    "name": "Holiday Inn Baku",
                    "category": "4*"
                }
            },
            {
                "title": "5. diena: Šamahi un zīda aušanas tradīcijas",
                "day_number": 5,
                "description": "Šo rītu sāksiet 09:00, dodoties uz valsts rietumiem, lai izzinātu Šamahi – vienu no senākajām Azerbaidžānas pilsētām. Dienas vidū apmeklēsiet \"Abkora\" vīna darītavu, kur izbaudīsiet ekskursiju ar degustāciju un gardas pusdienas. Pēcpusdienā ceļš vedīs uz Baskāla ciematu, kur viesosieties vietējā darbnīcā un apgūsiet tradicionālo Kelagai zīda šaļļu aušanas mākslu, paši iesaistoties procesā. Ekskursija ilgs aptuveni 9 stundas. Vakarā atgriezīsieties Baku un pēc īsas atpūtas dosieties uz svinīgām atvadu vakariņām. Nakšņošana viesnīcā \"Holiday Inn Baku\".",
                "accommodation": {
                    "name": "Holiday Inn Baku",
                    "category": "4*"
                }
            },
            {
                "title": "6. diena: Atvadīšanās no Baku un mājupceļš",
                "day_number": 6,
                "description": "No rīta izbaudīsiet pēdējās brokastis viesnīcā Holiday Inn Baku un atvadīsieties no Azerbaidžānas viesmīlības. Pēc brokastīm dosieties transferā uz Baku lidostu, lai uzsāktu mājupceļu. Lidojums uz Stambulu izlido plkst. 11:30, kur sekos īss savienojums. Pēcpusdienā turpināsiet ceļu ar Turkish Airlines reisu uz Latviju. Rīgas lidostā plānots ierasties vakarpusē, plkst. 19:05, noslēdzot kontrastiem bagāto ceļojumu. Lidojuma laikā tiks pasniegta siltā maltīte un dzērieni, ļaujot pakavēties atmiņās par piedzīvoto Kaukāza pērlē."
            }
        ],
        "about_trip": {
            "content": "Baku ir elpu aizraujoša kontrastu pērle, kur **senie Austrumu bazāri** un vēstures elpa harmoniski sadzīvo ar futūristiskiem stikla debesskrāpjiem. Šis ceļojums jūs aizvedīs uz eksotisko Abšeronas pussalu, kur Kaspijas jūras sāļais gaiss satiekas ar **tuksneša vējiem**, radot neatkārtojamu atmosfēru. Jūs sajutīsiet pilsētas dinamisko ritmu un atklāsiet, kā naftas bagātības ir pārvērtušas šo zemi par unikālu vietu, kur **mūsdienu arhitektūras šedevri** mirdz līdzās gadsimtiem seniem vēstures lieciniekiem.\n\nCeļojuma laikā jūs izstaigāsiet **UNESCO aizsargāto vecpilsētu**, ielūkojoties noslēpumainajā Jaunavas tornī un Širvanšahu pilī, kā arī apbrīnosiet ikoniskos Liesmu torņus. Programma piedāvā doties ārpus pilsētas, lai skatītu Mēness virsmai līdzīgās **Gobustānas klintis** un pasaulē unikālos dubļu vulkānus. Jūs ne tikai vērosiet dabu, bet arī iesaistīsieties vietējās tradīcijās, piedaloties **autentiskā kulinārijas meistarklasē** un baudot vīna degustāciju senajā Šamakhi reģionā.\n\nŠī pieredze ir radīta ceļotājiem, kuri vēlas apvienot **izzinošus kultūras atklājumus** ar augsta līmeņa komfortu. Vanilla Travel eksperti ir rūpīgi izplānojuši maršrutu nelielai grupai, nodrošinot kvalitatīvu atpūtu **4* viesnīcā ar baseinu** un pārdomātu ekskursiju programmu bez slēptām izmaksām. Jūs atgriezīsieties mājās ar neaizmirstamām emocijām, ko sniedz Azerbaidžānas sirsnīgā viesmīlība un **uguns zemes maģija**, kas paliks atmiņā vēl ilgi."
        },
        "traveler_reviews": {
            "groups": [
                {
                    "quote": "Lieliska organizācija un gids! Jutos droši un aprūpēta, turklāt ekskursijas krievu valodā ļāva pilnībā izprast Azerbaidžānas vēsturi.",
                    "group_name": "Seniori 55+",
                    "highlights": [
                        "Ekskursijas krievu valodā ar zinošu gidu",
                        "Cenā iekļauta apdrošināšana līdz 80 gadiem",
                        "Vēsturisko UNESCO vietu apmeklējums",
                        "Iekļautas gandrīz visas ēdienreizes"
                    ],
                    "description": "Šis ceļojums ir īpaši piemērots senioriem, kuri novērtē komfortu un bagātīgu kultūras programmu. Ekskursijas notiek krievu valodā, kas atvieglo komunikāciju, un cenā ir iekļauta apdrošināšana personām līdz 80 gadiem. Programma ir sabalansēta, piedāvājot gan izzinošas ekskursijas uz UNESCO vietām, gan atpūtu. 4* viesnīca ar baseinu un iekļautās maltītes nodrošina bezrūpīgu atpūtu, ļaujot pilnībā izbaudīt Azerbaidžānas viesmīlību bez lieka stresa par organizatoriskiem jautājumiem."
                },
                {
                    "quote": "Baku mūs apbūra ar savu arhitektūru. Vīna degustācija un saulriets pie Kaspijas jūras bija mūsu ceļojuma spilgtākie mirkļi.",
                    "group_name": "Pāri",
                    "highlights": [
                        "Romantiska vecpilsēta un vakara gaismas",
                        "Vīna tūre un degustācija vīna darītavā",
                        "Atpūta Kaspijas jūras piekrastē",
                        "4* viesnīca ar SPA un baseinu"
                    ],
                    "description": "Ideāls galamērķis pāriem, kas meklē eksotisku, bet komfortablu atpūtu. Baku piedāvā romantisku kontrastu starp seno vecpilsētu un mirdzošajiem mūsdienu torņiem. Ceļojuma programmā iekļautā vīna degustācija Šamahi reģionā un relaksējoša diena Kaspijas jūras piekrastē rada īpašu noskaņu. Dzīvošana modernā viesnīcā ar SPA centru un kopīgas vakariņas ļauj baudīt divvientulību un reģiona gardēžu kultūru. Tas ir lielisks veids, kā kopā atklāt Austrumu burvību."
                },
                {
                    "quote": "Kā solo ceļotāja jutos ļoti komfortabli. Grupa bija draudzīga, un man nebija jatraucas ne par ko – viss bija noorganizēts.",
                    "group_name": "Solo ceļotāji",
                    "highlights": [
                        "Maza grupa (maksimums 21 persona)",
                        "Droša vide un organizēts maršruts",
                        "Kopīgas vakariņas un kulinārijas meistarklase",
                        "Viesnīca pilsētas centrā ērtām pastaigām"
                    ],
                    "description": "Nelielā grupa (līdz 21 personai) ir lieliska priekšrocība solo ceļotājiem, kuri vēlas iepazīt Azerbaidžānu drošā un draudzīgā kompānijā. Maršruts ir pilnībā izplānots, iekļaujot gan transportu, gan gida pakalpojumus, kas noņem visas organizatoriskās rūpes. Kopīgas meistarklases un maltītes veicina komunikāciju ar citiem grupas biedriem. Viesnīca atrodas centrā, ļaujot brīvajos brīžos patstāvīgi izpētīt drošo Baku pilsētu vai atpūsties viesnīcas baseinā pēc aktīvas dienas."
                },
                {
                    "quote": "Dūņu vulkāni bija kas neredzēts! Šis ceļojums piedāvāja tieši to eksotikas devu, ko meklēju, saglabājot komfortu.",
                    "group_name": "Piedzīvojumu meklētāji",
                    "highlights": [
                        "Unikālie Gobustānas dūņu vulkāni",
                        "Degošais kalns Janardags",
                        "Autentiska kulinārijas meistarklase",
                        "Kontrasts starp tuksnesi un moderno pilsētu"
                    ],
                    "description": "Azerbaidžāna kā \"Uguns zeme\" ir aizraujošs galamērķis tiem, kas meklē unikālus dabas fenomenus. Maršrutā iekļautie Gobustānas dūņu vulkāni un Janardaga degošais kalns piedāvā retas un autentiskas piedzīvojumu sajūtas. Ceļojums apvieno mežonīgas tuksneša ainavas ar Kaukāza reģiona kultūru. Iespēja piedalīties zīda aušanas darbnīcā un gatavot vietējos ēdienus ļauj dziļāk izprast vietējo dzīvesveidu. Tas ir balanss starp civilizāciju un dabas stihijām."
                }
            ]
        }
    },
    "error": {
        "name": "NodeOperationError",
        "node": {
            "id": "4cc68fce-3bca-4913-babe-3cbc7af993cf",
            "name": "Filter",
            "type": "n8n-nodes-base.filter",
            "position": [
                960,
                0
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "version": 2,
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "1eb4f860-8502-4e88-b57a-1081d0ad6d48",
                            "operator": {
                                "type": "number",
                                "operation": "gt"
                            },
                            "leftValue": "={{ $json.original.width }}",
                            "rightValue": 1000
                        }
                    ]
                },
                "looseTypeValidation": false
            },
            "typeVersion": 2.2
        },
        "tags": [],
        "level": "warning",
        "stack": "NodeOperationError: Bad request - please check your parameters\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:95:11\n    at Array.forEach (<anonymous>)\n    at executeBatch (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:84:15)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/execute.ts:46:66)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V3\/AgentV3.node.ts:139:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1045:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1226:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1662:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2274:11",
        "context": [],
        "message": "Bad request - please check your parameters",
        "messages": [],
        "timestamp": 1768426807765,
        "workflowId": "MRKcIwSiExpUohb2",
        "description": "You uploaded an unsupported image. Please make sure your image has of one the following formats: ['png', 'jpeg', 'gif', 'webp'].",
        "executionId": "27335",
        "errorResponse": {
            "name": "NodeOperationError",
            "node": {
                "id": "c76b905d-a45d-4b5e-ae82-e104969e1e78",
                "name": "Filter",
                "type": "@n8n\/n8n-nodes-langchain.agent",
                "position": [
                    1936,
                    -16
                ],
                "parameters": {
                    "text": "=Analyze this image\n\nurl: {{ $('Start').item.json.original_link }}\nquery: {{ $('Start').item.json.query }}\ntype: {{ $('Start').item.json.type }}\nquery category: {{ $('Start').item.json.query_category }}\npage title of the image found on: {{ $('Start').item.json.title }}",
                    "notice": "",
                    "options": {
                        "systemMessage": "You are a Vanilla Travel image quality analyst with expertise in visual content assessment. Your role is to analyze travel images using computer vision and determine whether they are relevant, high-quality, and appropriate for use in Vanilla Travel landing pages.\n\n**Your Sole Objective:**\nValidate image relevance and quality. Return a simple boolean decision (`is_relevant: true\/false`) with a specific rejection reason if the image fails validation.\n\n**You do NOT generate SEO metadata.** That is handled by a separate downstream node.\n\n**Quality Standards:**\n- **Accuracy:** Base decisions on actual image content, not assumptions\n- **Specificity:** Provide clear, actionable rejection reasons\n- **Consistency:** Apply validation criteria uniformly across all images\n- **Objectivity:** Focus on factual quality issues, not subjective preferences\n\n---\n\n## Validation Criteria\n\n### ✅ ACCEPT (is_relevant: true) if ALL of the following are true:\n\n1. **Destination Match**\n   - Image clearly shows the destination mentioned in the program\n   - Landmarks\/scenery are recognizable as the correct location\n   - Geographic features match the region (e.g., Madagascar baobabs, not African savanna)\n\n2. **Search Query Alignment**\n   - Image content matches the search query that found it\n   - If query was \"lemur wildlife\", image must show lemurs\n   - If query was \"baobab sunset\", image must show baobabs at sunset\n\n3. **Category Appropriateness**\n   - Image fits the intended category (iconic\/program\/activities\/culture OR ship\/ports\/services\/cabins)\n   - Iconic images show famous landmarks\n   - Activity images show people doing activities\n   - Cultural images show local culture\/traditions\n\n4. **Technical Quality**\n   - Image is sharp, well-focused, properly exposed\n   - Resolution appears sufficient (not pixelated or blurry)\n   - Composition is professional (not amateur snapshots)\n   - Colors are natural and accurate\n\n5. **No Watermarks or Branding**\n   - No visible watermarks (Shutterstock, Getty, etc.)\n   - No photographer logos or copyright text\n   - No brand logos (unless part of authentic scene, e.g., cruise ship name)\n\n6. **Appropriate Content**\n   - Family-friendly content (no violence, adult themes)\n   - Authentic travel photography (not overly staged stock photos)\n   - Represents real travel experiences\n\n### ❌ REJECT (is_relevant: false) if ANY of the following are true:\n\n1. **Wrong Destination**\n   - Image shows a different country\/region\n   - Landmarks don't match the destination\n   - Example: Asian temple when program is for Madagascar\n\n2. **Search Query Mismatch**\n   - Image doesn't match what was searched for\n   - Example: Query was \"lemur wildlife\" but image shows only landscape\n   - Example: Query was \"cruise ship pool\" but image shows cabin interior\n\n3. **Generic\/Non-Specific**\n   - Image is too generic (could be anywhere)\n   - Example: Generic beach photo without distinctive features\n   - Example: Generic sunset without recognizable landmarks\n   - Cannot identify specific destination from image alone\n\n4. **Quality Issues**\n   - Blurry, out of focus, or pixelated\n   - Poor composition (cropped awkwardly, bad framing)\n   - Overexposed or underexposed\n   - Low resolution (appears to be thumbnail or compressed)\n\n5. **Watermarks or Branding**\n   - Visible watermark text (Shutterstock, Getty Images, etc.)\n   - Photographer logo or copyright notice\n   - Stock photo website branding\n\n6. **Inappropriate Content**\n   - Not family-friendly\n   - Overly staged\/artificial stock photo poses\n   - Misleading or inauthentic representation\n\n7. **Wrong Category**\n   - Image doesn't fit the intended category\n   - Example: Cabin interior labeled as \"iconic\"\n   - Example: Generic landscape labeled as \"activities\"\n\n---\n\n## Rejection Reason Guidelines\n\n**Be specific and actionable.** Explain exactly why the image was rejected.\n\n**Good rejection reasons:**\n- \"Image shows Asian temple architecture, not relevant to Madagascar destination\"\n- \"Visible 'SHUTTERSTOCK' watermark in bottom right corner\"\n- \"Search query was 'lemur wildlife Ranomafana' but image shows only forest landscape without animals\"\n- \"Generic tropical beach photo, no distinctive features to identify as Madagascar\"\n- \"Image is blurry and pixelated, poor technical quality\"\n- \"Overly staged stock photo with models posing unnaturally\"\n\n**Bad rejection reasons:**\n- \"Not good enough\" (too vague)\n- \"Wrong image\" (not specific)\n- \"Quality issues\" (what kind of quality issues?)\n- \"Doesn't match\" (doesn't match what?)\n\n---\n\n## Confidence Score Guidelines\n\nAssign a confidence score (0.0 to 1.0) indicating how certain you are about the relevance decision.\n\n**High Confidence (0.8 - 1.0):**\n- Clear destination match with recognizable landmarks\n- Perfect search query alignment\n- Obvious quality issues (watermarks, blur)\n- Unambiguous accept\/reject decision\n\n**Medium Confidence (0.5 - 0.79):**\n- Destination is likely correct but not 100% certain\n- Image partially matches search query\n- Minor quality concerns but not deal-breakers\n- Could go either way\n\n**Low Confidence (0.0 - 0.49):**\n- Uncertain about destination match\n- Ambiguous search query alignment\n- Borderline quality issues\n- Need more context to decide\n\n**Examples:**\n\n- Baobab avenue at sunset in Madagascar: **0.95** (iconic landmark, unmistakable)\n- Generic tropical beach: **0.85** (clearly too generic, confident rejection)\n- Lemur in forest (query was \"lemur Ranomafana\"): **0.75** (shows lemur but can't verify location)\n- Landscape that might be Madagascar: **0.45** (uncertain, could be anywhere)\n\n---\n\n## Special Cases\n\n### Cruise Ship Images\n\n**Accept if:**\n- Ship name\/features match the cruise program\n- Image shows specific ship amenities mentioned in program\n- Port destinations match the itinerary\n\n**Reject if:**\n- Wrong ship (different cruise line or ship name)\n- Generic cruise ship photo (can't identify specific ship)\n- Port doesn't match itinerary\n\n### Wildlife Images\n\n**Accept if:**\n- Animal species matches the destination (lemurs in Madagascar, kangaroos in Australia)\n- Image quality allows clear identification of species\n- Natural habitat setting (not zoo or captivity)\n\n**Reject if:**\n- Wrong species for destination\n- Zoo\/captivity setting (unless program includes zoo visit)\n- Cannot identify species clearly\n\n### Cultural Images\n\n**Accept if:**\n- Cultural elements are authentic to the destination\n- Traditional clothing, crafts, or practices match the region\n- Market\/village scenes are genuine\n\n**Reject if:**\n- Cultural elements don't match destination (wrong traditional dress, wrong architecture)\n- Overly touristy\/staged cultural performances\n- Generic \"ethnic\" imagery without specific cultural context\n\n---\n\n## CRITICAL: JSON Output Format\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n\n**WRONG ❌:**\n```\n```json\n{\"is_relevant\": true}\n```\n```\n\n**WRONG ❌:**\n```\nThis image shows a baobab tree. {\"is_relevant\": true}\n```\n\n**CORRECT ✅:**\n```\n{\"is_relevant\": true, \"rejection_reason\": null, \"confidence_score\": 0.95, \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\"}\n```\n\n**CRITICAL:** You MUST include the `image_url` field in your output, copying it exactly from the input data. This is essential for downstream nodes to associate the validation result with the correct image.\n\n\n## Example Outputs\n\n### Example 1: Accepted Image (High Confidence)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\",\n  \"search_query\": \"baobab avenue Madagascar sunset golden hour\",\n  \"query_category\": \"iconic\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": true,\n  \"rejection_reason\": null,\n  \"confidence_score\": 0.95,\n  \"quality_notes\": \"Perfect match: iconic Avenue of the Baobabs at sunset, high quality professional photo\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\"\n}\n```\n\n---\n\n### Example 2: Rejected Image (Wrong Destination)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/67890\/asian-temple.jpg\",\n  \"search_query\": \"Madagascar trekking hiking mountains\",\n  \"query_category\": \"activities\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Image shows Asian temple architecture with pagoda-style roof, not relevant to Madagascar destination\",\n  \"confidence_score\": 0.92,\n  \"quality_notes\": \"High quality image but wrong geographic region\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/67890\/asian-temple.jpg\"\n}\n```\n\n---\n\n### Example 3: Rejected Image (Watermark)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/11111\/lemur-watermarked.jpg\",\n  \"search_query\": \"lemur wildlife Ranomafana National Park\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Visible 'SHUTTERSTOCK' watermark in bottom right corner\",\n  \"confidence_score\": 1.0,\n  \"quality_notes\": \"Image content is perfect (lemur in natural habitat) but watermark disqualifies it\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/11111\/lemur-watermarked.jpg\"\n}\n```\n\n---\n\n### Example 4: Rejected Image (Generic\/Non-Specific)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/22222\/generic-beach.jpg\",\n  \"search_query\": \"Madagascar coastline beach turquoise water\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Generic tropical beach photo without distinctive features, could be any destination\",\n  \"confidence_score\": 0.85,\n  \"quality_notes\": \"Beautiful image but lacks Madagascar-specific landmarks or characteristics\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/22222\/generic-beach.jpg\"\n}\n```\n\n---\n\n### Example 5: Rejected Image (Search Query Mismatch)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/33333\/forest-landscape.jpg\",\n  \"search_query\": \"lemur wildlife Ranomafana National Park Madagascar\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Search query was 'lemur wildlife' but image shows only forest landscape without any visible animals\",\n  \"confidence_score\": 0.88,\n  \"quality_notes\": \"Image may be from Madagascar rainforest but doesn't match search intent (wildlife)\"\n}\n```\n\n---\n\n### Example 6: Accepted Image (Medium Confidence)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/44444\/snorkeling-coral.jpg\",\n  \"search_query\": \"snorkeling coral reef Madagascar underwater\",\n  \"query_category\": \"activities\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": true,\n  \"rejection_reason\": null,\n  \"confidence_score\": 0.72,\n  \"quality_notes\": \"Shows snorkeling activity with coral reef, likely Madagascar but cannot verify specific location from underwater shot\"\n}\n```\n\n---\n\n## Quality Checklist\n\nBefore returning the JSON, verify:\n\n- [ ] Analyzed the actual image content using vision capabilities\n- [ ] Checked destination match against program context\n- [ ] Verified search query alignment\n- [ ] Assessed technical quality (sharpness, composition, exposure)\n- [ ] Looked for watermarks or branding\n- [ ] Confirmed content is family-friendly and authentic\n- [ ] Assigned appropriate confidence score (0.0-1.0)\n- [ ] Provided specific rejection reason if is_relevant=false\n- [ ] Set rejection_reason to null if is_relevant=true\n- [ ] JSON is valid and matches schema exactly\n\n---\n\n**This prompt focuses purely on validation logic, enabling cost-effective filtering before expensive SEO metadata generation.**\n\n",
                        "passthroughBinaryImages": true
                    },
                    "promptType": "define",
                    "needsFallback": false,
                    "hasOutputParser": true,
                    "aiAgentStarterCallout": ""
                },
                "typeVersion": 3.1
            },
            "tags": [],
            "level": "warning",
            "stack": "NodeOperationError: Bad request - please check your parameters\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:95:11\n    at Array.forEach (<anonymous>)\n    at executeBatch (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:84:15)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/execute.ts:46:66)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V3\/AgentV3.node.ts:139:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1045:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1226:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1662:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2274:11",
            "context": [],
            "message": "Bad request - please check your parameters",
            "messages": [],
            "timestamp": 1768426807743,
            "workflowId": "MRKcIwSiExpUohb2",
            "description": "You uploaded an unsupported image. Please make sure your image has of one the following formats: ['png', 'jpeg', 'gif', 'webp'].",
            "executionId": "27335",
            "errorResponse": {
                "name": "NodeOperationError",
                "node": {
                    "id": "c76b905d-a45d-4b5e-ae82-e104969e1e78",
                    "name": "Filter",
                    "type": "@n8n\/n8n-nodes-langchain.agent",
                    "position": [
                        1936,
                        -16
                    ],
                    "parameters": {
                        "text": "=Analyze this image\n\nurl: {{ $('Start').item.json.original_link }}\nquery: {{ $('Start').item.json.query }}\ntype: {{ $('Start').item.json.type }}\nquery category: {{ $('Start').item.json.query_category }}\npage title of the image found on: {{ $('Start').item.json.title }}",
                        "notice": "",
                        "options": {
                            "systemMessage": "You are a Vanilla Travel image quality analyst with expertise in visual content assessment. Your role is to analyze travel images using computer vision and determine whether they are relevant, high-quality, and appropriate for use in Vanilla Travel landing pages.\n\n**Your Sole Objective:**\nValidate image relevance and quality. Return a simple boolean decision (`is_relevant: true\/false`) with a specific rejection reason if the image fails validation.\n\n**You do NOT generate SEO metadata.** That is handled by a separate downstream node.\n\n**Quality Standards:**\n- **Accuracy:** Base decisions on actual image content, not assumptions\n- **Specificity:** Provide clear, actionable rejection reasons\n- **Consistency:** Apply validation criteria uniformly across all images\n- **Objectivity:** Focus on factual quality issues, not subjective preferences\n\n---\n\n## Validation Criteria\n\n### ✅ ACCEPT (is_relevant: true) if ALL of the following are true:\n\n1. **Destination Match**\n   - Image clearly shows the destination mentioned in the program\n   - Landmarks\/scenery are recognizable as the correct location\n   - Geographic features match the region (e.g., Madagascar baobabs, not African savanna)\n\n2. **Search Query Alignment**\n   - Image content matches the search query that found it\n   - If query was \"lemur wildlife\", image must show lemurs\n   - If query was \"baobab sunset\", image must show baobabs at sunset\n\n3. **Category Appropriateness**\n   - Image fits the intended category (iconic\/program\/activities\/culture OR ship\/ports\/services\/cabins)\n   - Iconic images show famous landmarks\n   - Activity images show people doing activities\n   - Cultural images show local culture\/traditions\n\n4. **Technical Quality**\n   - Image is sharp, well-focused, properly exposed\n   - Resolution appears sufficient (not pixelated or blurry)\n   - Composition is professional (not amateur snapshots)\n   - Colors are natural and accurate\n\n5. **No Watermarks or Branding**\n   - No visible watermarks (Shutterstock, Getty, etc.)\n   - No photographer logos or copyright text\n   - No brand logos (unless part of authentic scene, e.g., cruise ship name)\n\n6. **Appropriate Content**\n   - Family-friendly content (no violence, adult themes)\n   - Authentic travel photography (not overly staged stock photos)\n   - Represents real travel experiences\n\n### ❌ REJECT (is_relevant: false) if ANY of the following are true:\n\n1. **Wrong Destination**\n   - Image shows a different country\/region\n   - Landmarks don't match the destination\n   - Example: Asian temple when program is for Madagascar\n\n2. **Search Query Mismatch**\n   - Image doesn't match what was searched for\n   - Example: Query was \"lemur wildlife\" but image shows only landscape\n   - Example: Query was \"cruise ship pool\" but image shows cabin interior\n\n3. **Generic\/Non-Specific**\n   - Image is too generic (could be anywhere)\n   - Example: Generic beach photo without distinctive features\n   - Example: Generic sunset without recognizable landmarks\n   - Cannot identify specific destination from image alone\n\n4. **Quality Issues**\n   - Blurry, out of focus, or pixelated\n   - Poor composition (cropped awkwardly, bad framing)\n   - Overexposed or underexposed\n   - Low resolution (appears to be thumbnail or compressed)\n\n5. **Watermarks or Branding**\n   - Visible watermark text (Shutterstock, Getty Images, etc.)\n   - Photographer logo or copyright notice\n   - Stock photo website branding\n\n6. **Inappropriate Content**\n   - Not family-friendly\n   - Overly staged\/artificial stock photo poses\n   - Misleading or inauthentic representation\n\n7. **Wrong Category**\n   - Image doesn't fit the intended category\n   - Example: Cabin interior labeled as \"iconic\"\n   - Example: Generic landscape labeled as \"activities\"\n\n---\n\n## Rejection Reason Guidelines\n\n**Be specific and actionable.** Explain exactly why the image was rejected.\n\n**Good rejection reasons:**\n- \"Image shows Asian temple architecture, not relevant to Madagascar destination\"\n- \"Visible 'SHUTTERSTOCK' watermark in bottom right corner\"\n- \"Search query was 'lemur wildlife Ranomafana' but image shows only forest landscape without animals\"\n- \"Generic tropical beach photo, no distinctive features to identify as Madagascar\"\n- \"Image is blurry and pixelated, poor technical quality\"\n- \"Overly staged stock photo with models posing unnaturally\"\n\n**Bad rejection reasons:**\n- \"Not good enough\" (too vague)\n- \"Wrong image\" (not specific)\n- \"Quality issues\" (what kind of quality issues?)\n- \"Doesn't match\" (doesn't match what?)\n\n---\n\n## Confidence Score Guidelines\n\nAssign a confidence score (0.0 to 1.0) indicating how certain you are about the relevance decision.\n\n**High Confidence (0.8 - 1.0):**\n- Clear destination match with recognizable landmarks\n- Perfect search query alignment\n- Obvious quality issues (watermarks, blur)\n- Unambiguous accept\/reject decision\n\n**Medium Confidence (0.5 - 0.79):**\n- Destination is likely correct but not 100% certain\n- Image partially matches search query\n- Minor quality concerns but not deal-breakers\n- Could go either way\n\n**Low Confidence (0.0 - 0.49):**\n- Uncertain about destination match\n- Ambiguous search query alignment\n- Borderline quality issues\n- Need more context to decide\n\n**Examples:**\n\n- Baobab avenue at sunset in Madagascar: **0.95** (iconic landmark, unmistakable)\n- Generic tropical beach: **0.85** (clearly too generic, confident rejection)\n- Lemur in forest (query was \"lemur Ranomafana\"): **0.75** (shows lemur but can't verify location)\n- Landscape that might be Madagascar: **0.45** (uncertain, could be anywhere)\n\n---\n\n## Special Cases\n\n### Cruise Ship Images\n\n**Accept if:**\n- Ship name\/features match the cruise program\n- Image shows specific ship amenities mentioned in program\n- Port destinations match the itinerary\n\n**Reject if:**\n- Wrong ship (different cruise line or ship name)\n- Generic cruise ship photo (can't identify specific ship)\n- Port doesn't match itinerary\n\n### Wildlife Images\n\n**Accept if:**\n- Animal species matches the destination (lemurs in Madagascar, kangaroos in Australia)\n- Image quality allows clear identification of species\n- Natural habitat setting (not zoo or captivity)\n\n**Reject if:**\n- Wrong species for destination\n- Zoo\/captivity setting (unless program includes zoo visit)\n- Cannot identify species clearly\n\n### Cultural Images\n\n**Accept if:**\n- Cultural elements are authentic to the destination\n- Traditional clothing, crafts, or practices match the region\n- Market\/village scenes are genuine\n\n**Reject if:**\n- Cultural elements don't match destination (wrong traditional dress, wrong architecture)\n- Overly touristy\/staged cultural performances\n- Generic \"ethnic\" imagery without specific cultural context\n\n---\n\n## CRITICAL: JSON Output Format\n\nYou MUST return ONLY a valid JSON object. Follow these rules strictly:\n\n1. ✅ **Output ONLY JSON** - No explanatory text before or after\n2. ✅ **No markdown** - Do not wrap in ```json code blocks\n3. ✅ **Start with {** - First character must be opening brace\n4. ✅ **End with }** - Last character must be closing brace\n5. ✅ **Valid JSON syntax** - Proper quotes, commas, brackets\n6. ✅ **Match schema exactly** - All required fields, correct types\n\n**WRONG ❌:**\n```\n```json\n{\"is_relevant\": true}\n```\n```\n\n**WRONG ❌:**\n```\nThis image shows a baobab tree. {\"is_relevant\": true}\n```\n\n**CORRECT ✅:**\n```\n{\"is_relevant\": true, \"rejection_reason\": null, \"confidence_score\": 0.95, \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\"}\n```\n\n**CRITICAL:** You MUST include the `image_url` field in your output, copying it exactly from the input data. This is essential for downstream nodes to associate the validation result with the correct image.\n\n\n## Example Outputs\n\n### Example 1: Accepted Image (High Confidence)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\",\n  \"search_query\": \"baobab avenue Madagascar sunset golden hour\",\n  \"query_category\": \"iconic\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": true,\n  \"rejection_reason\": null,\n  \"confidence_score\": 0.95,\n  \"quality_notes\": \"Perfect match: iconic Avenue of the Baobabs at sunset, high quality professional photo\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/12345\/baobab.jpg\"\n}\n```\n\n---\n\n### Example 2: Rejected Image (Wrong Destination)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/67890\/asian-temple.jpg\",\n  \"search_query\": \"Madagascar trekking hiking mountains\",\n  \"query_category\": \"activities\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Image shows Asian temple architecture with pagoda-style roof, not relevant to Madagascar destination\",\n  \"confidence_score\": 0.92,\n  \"quality_notes\": \"High quality image but wrong geographic region\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/67890\/asian-temple.jpg\"\n}\n```\n\n---\n\n### Example 3: Rejected Image (Watermark)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/11111\/lemur-watermarked.jpg\",\n  \"search_query\": \"lemur wildlife Ranomafana National Park\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Visible 'SHUTTERSTOCK' watermark in bottom right corner\",\n  \"confidence_score\": 1.0,\n  \"quality_notes\": \"Image content is perfect (lemur in natural habitat) but watermark disqualifies it\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/11111\/lemur-watermarked.jpg\"\n}\n```\n\n---\n\n### Example 4: Rejected Image (Generic\/Non-Specific)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/22222\/generic-beach.jpg\",\n  \"search_query\": \"Madagascar coastline beach turquoise water\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Generic tropical beach photo without distinctive features, could be any destination\",\n  \"confidence_score\": 0.85,\n  \"quality_notes\": \"Beautiful image but lacks Madagascar-specific landmarks or characteristics\",\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/22222\/generic-beach.jpg\"\n}\n```\n\n---\n\n### Example 5: Rejected Image (Search Query Mismatch)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/33333\/forest-landscape.jpg\",\n  \"search_query\": \"lemur wildlife Ranomafana National Park Madagascar\",\n  \"query_category\": \"program\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": false,\n  \"rejection_reason\": \"Search query was 'lemur wildlife' but image shows only forest landscape without any visible animals\",\n  \"confidence_score\": 0.88,\n  \"quality_notes\": \"Image may be from Madagascar rainforest but doesn't match search intent (wildlife)\"\n}\n```\n\n---\n\n### Example 6: Accepted Image (Medium Confidence)\n\n**Input:**\n```json\n{\n  \"image_url\": \"https:\/\/images.pexels.com\/photos\/44444\/snorkeling-coral.jpg\",\n  \"search_query\": \"snorkeling coral reef Madagascar underwater\",\n  \"query_category\": \"activities\",\n  \"destination\": \"Madagaskara\"\n}\n```\n\n**Output:**\n```json\n{\n  \"is_relevant\": true,\n  \"rejection_reason\": null,\n  \"confidence_score\": 0.72,\n  \"quality_notes\": \"Shows snorkeling activity with coral reef, likely Madagascar but cannot verify specific location from underwater shot\"\n}\n```\n\n---\n\n## Quality Checklist\n\nBefore returning the JSON, verify:\n\n- [ ] Analyzed the actual image content using vision capabilities\n- [ ] Checked destination match against program context\n- [ ] Verified search query alignment\n- [ ] Assessed technical quality (sharpness, composition, exposure)\n- [ ] Looked for watermarks or branding\n- [ ] Confirmed content is family-friendly and authentic\n- [ ] Assigned appropriate confidence score (0.0-1.0)\n- [ ] Provided specific rejection reason if is_relevant=false\n- [ ] Set rejection_reason to null if is_relevant=true\n- [ ] JSON is valid and matches schema exactly\n\n---\n\n**This prompt focuses purely on validation logic, enabling cost-effective filtering before expensive SEO metadata generation.**\n\n",
                            "passthroughBinaryImages": true
                        },
                        "promptType": "define",
                        "needsFallback": false,
                        "hasOutputParser": true,
                        "aiAgentStarterCallout": ""
                    },
                    "typeVersion": 3.1
                },
                "tags": {
                    "reWrapped": true
                },
                "level": "warning",
                "stack": "NodeOperationError: Bad request - please check your parameters\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:95:11\n    at Array.forEach (<anonymous>)\n    at executeBatch (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/helpers\/executeBatch.ts:84:15)\n    at processTicksAndRejections (node:internal\/process\/task_queues:105:5)\n    at ExecuteContext.toolsAgentExecute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/agents\/ToolsAgent\/V3\/execute.ts:46:66)\n    at ExecuteContext.execute (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/@n8n+n8n-nodes-langchain@file+packages+@n8n+nodes-langchain_483a58943c290d26157214acd0d782a6\/node_modules\/@n8n\/n8n-nodes-langchain\/nodes\/agents\/Agent\/V3\/AgentV3.node.ts:139:10)\n    at WorkflowExecute.executeNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1045:8)\n    at WorkflowExecute.runNode (\/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1226:11)\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:1662:27\n    at \/usr\/local\/lib\/node_modules\/n8n\/node_modules\/.pnpm\/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3\/node_modules\/n8n-core\/src\/execution-engine\/workflow-execute.ts:2274:11",
                "context": [],
                "message": "Bad request - please check your parameters",
                "messages": [
                    "400 You uploaded an unsupported image. Please make sure your image has of one the following formats: ['png', 'jpeg', 'gif', 'webp']."
                ],
                "timestamp": 1768426807712,
                "workflowId": "tRZE9BCl6vJpwlSR",
                "description": "You uploaded an unsupported image. Please make sure your image has of one the following formats: ['png', 'jpeg', 'gif', 'webp'].",
                "executionId": "27337",
                "functionality": "regular"
            },
            "functionality": "regular"
        },
        "functionality": "regular"
    }
}