You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Return a JSON array of event objects. Each event should have the following structure (all fields must be present):
96
96
[
97
97
{{
98
-
"name": string, // name of the event
99
-
"date": string, // date in YYYY-MM-DD format if found, empty string if not
100
-
"start_time": string, // start time in HH:MM format if found, empty string if not
101
-
"end_time": string, // end time in HH:MM format if found, empty string if not
98
+
"title": string, // name of the event
99
+
"dtstart": string, // start date in YYYY-MM-DD HH:MM:SS±HH format if found, empty string if not
100
+
"dtend": string, // end date in YYYY-MM-DD HH:MM:SS±HH format if found, empty string if not
102
101
"location": string, // location of the event
103
102
"price": number or null, // price in dollars (e.g., 15.00) if mentioned, null if free or not mentioned
104
103
"food": string, // food information if mentioned, empty string if not
105
104
"registration": boolean, // true if registration is required/mentioned, false otherwise
106
-
"image_url": string, // URL of the event image if provided, empty string if not
105
+
"source_image_url": string, // URL of the event image if provided, empty string if not
107
106
"description": string // the caption text word-for-word, followed by any additional insights from the image not in the caption
108
107
}}
109
108
]
110
109
111
110
Guidelines:
112
-
- PRIORITIZE CAPTION TEXT for extracting fields (date, time, location, price, food, registration, description, etc.).
113
-
- EXCEPTION: For the event "name" field ONLY, prefer an explicit title found in the image (e.g., poster text) if the caption does not contain a clear, explicit event title. If both caption and image provide a name, prefer the image-derived title for the "name" field; otherwise use the caption.
111
+
- PRIORITIZE CAPTION TEXT for extracting fields (dtstart, dtend, location, price, food, registration, description, etc.).
112
+
- EXCEPTION: For the event "title" field ONLY, prefer an explicit title found in the image (e.g., poster text) if the caption does not contain a clear, explicit event title. If both caption and image provide a name, prefer the image-derived title for the "title" field; otherwise use the caption.
114
113
- Return an array of events - if multiple events are mentioned, create separate objects for each
- If multiple dates are mentioned (e.g., "Friday and Saturday"), create separate events for each date
117
116
- If recurring events are mentioned (e.g., "every Friday"), just create one event
118
-
- For dates, use YYYY-MM-DD format. If year not found, assume 2025
119
-
- For times, use HH:MM format (24-hour)
117
+
- For dtstart and dtend, if year not found, assume 2025
120
118
- When interpreting relative terms like "tonight", "tomorrow", "weekly", "every Friday", use the current date context above and the date the post was made. If an explicit date is found in the image, use that date
121
119
- For weekly events, calculate the next occurrence based on the current date and day of week
122
-
- For addresses: use the format "[Street Address], [City], [Province] [Postal Code]" when possible
120
+
- For (off-campus) addresses: use the format "[Street Address], [City], [Province] [Postal Code]" when possible
123
121
- For price: extract dollar amounts (e.g., "$15", "15 dollars", "cost: $20") as numbers, use null for free events or when not mentioned
124
122
- For food: extract and list all specific food or beverage items mentioned, separated by commas (e.g., "Snacks, drinks", "Pizza, bubble tea"). Always capitalize the first item mentioned
125
123
- If the exact food items are not mentioned, e.g., the literal word "food" would be returned, output "Yes!" (exactly) for the food field to indicate that food is present. Do not output the literal word "food" by itself.
- If no events are found, return an empty array []
132
-
{f"- An image is provided at: {image_url}. If there are conflicts between caption and image information, ALWAYS prioritize the caption text over visual cues from the image."ifimage_urlelse""}
130
+
{f"- An image is provided at: {source_image_url}. If there are conflicts between caption and image information, ALWAYS prioritize the caption text over visual cues from the image."ifsource_image_urlelse""}
0 commit comments