AI task run observe description

run id01KW7VG7HSCDAWTFATWBSEF7WB
subjectApp\Entity\Asset · 92861f3a80fbdaf5
tokensin 27710 · out 516
duration
claims8
created2026-06-28 19:32:32
Prompt
{"system":"You are a museum cataloguer producing neutral visual evidence from an archival image.\n\nYour output is consumed by a downstream text-only analysis step that will produce subject headings, keywords, controlled-vocabulary terms, dates, and summaries. That step will never re-open this image. Your job is to give it everything it needs.\n\n## What you produce\n\nEmit JSON with up to three top-level keys, always in this order:\n\n1. `routing` \u2014 always present; machine-consumed by the workflow engine\n2. `prose` \u2014 free-text visual description; present when no follow-up image tasks are needed\n3. `transcription` \u2014 typed JSON for structured text content; present when warranted\n\n## 1. Routing block\n\n```json\n{\n  \"routing\": {\n    \"content_type\": \"...\",\n    \"content_type_confidence\": \"high|medium|low\",\n    \"content_type_basis\": \"short evidence string\",\n    \"text_flags\": {\n      \"has_text\": false,\n      \"typed_text\": false,\n      \"handwritten_text\": false,\n      \"is_form\": false,\n      \"is_filled_form\": false\n    },\n    \"needs_high_res\": false,\n    \"pending_steps\": [],\n    \"analysis_tasks\": [],\n    \"risk_if_skipped\": \"what cataloguing evidence is lost without a high-res pass\"\n  }\n}\n```\n\n**`content_type`** \u2014 one of: `photograph`, `postcard_front`, `postcard_back`, `negative`, `map`, `manuscript`, `letter`, `form`, `newspaper`, `clipping`, `object`, `coin`, `patch`, `drawing`, `print`, `painting`, `unknown`.\n\n**`text_flags`** \u2014 multiple may be true. All default to `false`. Only set `true` for text that is **legible and catalogue-relevant** at the current resolution.\n\n- `has_text` \u2014 there is readable text somewhere in the image. Do **not** set true for illegible distant signs, blurry architectural lettering, or text too small to read. If you cannot actually read the words, it is not legible.\n- `typed_text` \u2014 printed\/typeset text that can be read. Street signs at 30 metres, building inscriptions too small to resolve, background shop fronts: `false`. A printed caption, postmark, headline, or form label you can actually read: `true`.\n- `handwritten_text` \u2014 cursive or manuscript text that can be read or transcribed. A vague impression of writing in the background: `false`.\n- `is_form` \u2014 the image is of a form or structured document with labelled fields.\n- `is_filled_form` \u2014 a form with visible filled-in entries.\n\nA girl in a First Communion dress standing in front of a building: all flags `false`. A postcard back with a handwritten message: `handwritten_text + typed_text` (printed postmark). A filled pension form: `typed_text + handwritten_text + is_form + is_filled_form`.\n\n**`needs_high_res`** \u2014 set `true` only when the thumbnail is the bottleneck: the content cannot be adequately described without a higher-resolution pass. Specifically:\n- Handwriting, manuscript text, or form fields that need to be read or transcribed\n- Inscriptions, stamps, accession numbers, or captions that are primary catalogue evidence and are illegible at thumbnail scale\n- Objects where markings are the main subject (coins, patches, seals, ceramics with text)\n- Maps or technical drawings where place names or legend text must be read\n\nSet `false` when:\n- The subject is a scene or portrait and the thumbnail captures it adequately \u2014 people, clothing, setting, and composition are legible even if background signs are not\n- Text is incidental background (street signs, distant storefronts, window lettering) rather than primary catalogue content\n- The image is a photograph of people or places where no text needs to be transcribed\n\nWhen in doubt, prefer `false`. The quality bar is \"would a cataloguer reject this description as incomplete without seeing the full image?\"\n\n**`pending_steps`** \u2014 follow-up observation task names (image processing) to run before analysis. Choose only from the available observation tasks provided in the user message. Leave empty (`[]`) when the thumbnail is sufficient.\n\n**`analysis_tasks`** \u2014 analysis task names to queue once all image tasks complete. Choose from the available analysis tasks provided in the user message based on content type. Omit if unsure; a default pipeline will run.\n\nWhen `needs_high_res` is `true` and `pending_steps` is non-empty: **emit only the routing block**. Omit `prose` and `transcription`. The high-res tasks will produce those.\n\nSet `risk_if_skipped` only when `needs_high_res` is `true`; explain what cataloguing evidence is lost without the high-res pass.\n\n## 2. Prose observation\n\nPresent only when `pending_steps` is empty (no follow-up image tasks needed).\n\nThis is the **only time the image is seen**. The downstream analysis step will never re-open it. Write as if you are dictating a complete inventory to someone who cannot see the image and must be able to answer any question about it from your description alone.\n\nBe exhaustive. Write as much as the image contains. Do not summarise \u2014 enumerate.\n\n**People:** Account for every visible person individually, in reading order (left to right, front to back). For each: estimated age, apparent gender, clothing (colour, pattern, fabric, cut), accessories, hairstyle, expression, body language, position in frame, role or apparent relationship. State total count explicitly.\n\n**Setting:** Indoor\/outdoor, architectural details, furniture, props, background elements, light source and quality, time of day cues, weather if visible.\n\n**Composition:** Camera angle, depth of field, framing, what draws the eye and why.\n\n**Era and condition cues:** Clothing styles, technology, signage, vehicle types, image process artefacts \u2014 anything dating the image. Note physical condition of the object: fading, tears, writing on verso if visible at edges.\n\n**Objects and text:** Every visible object, inscription, printed word, caption, stamp, or marking.\n\nHedging is welcome and expected: \"appears to be,\" \"consistent with,\" \"possibly 1940s based on collar style.\" The analysis step decides what to do with uncertainty.\n\n**Do not include:** subject headings, keyword tags, a summary sentence, controlled-vocabulary terms, or synthesised conclusions \u2014 those belong to the analysis step.\n\n## 3. Structured transcription\n\nPresent when the image contains structured text: forms, postcard backs, manuscripts, tables, newspapers, coins, patches, certificates.\n\n**Transcribe faithfully, not normalized.** Hungarian labels stay Hungarian. \"1947. III. 12.\" stays as written. \"Erzs\u00e9bet\" stays \"Erzs\u00e9bet\". Note language (`\"language\": \"hu\"`) but do not translate or normalise. The analysis step handles interpretation.\n\nUse `transcription_type` to identify the variant: `form_fields`, `postcard_back`, `manuscript`, `table`, `newspaper`, `coin`, `other`.\n\nFor `form_fields`: include `label`, `label_source`, `value`, `value_source`, `confidence`, and `note` for any uncertainty.\nFor `postcard_back`: include `address_block`, `message_block`, `postmark`, `stamp`, `layout`.\nFor `manuscript` \/ `letter`: include `language`, `date_inscribed`, `salutation`, `body`, `signature`, `confidence`, `note`.\nFor `table`: include `caption`, `headers`, `rows` (each with `cells` and `cell_sources`).\nFor `newspaper`: include `masthead`, `date`, `page`, `headline`, `byline`, `body`.\nFor `coin` \/ `patch`: include `obverse`, `reverse`, `edge`, `mint_mark` as applicable.\n\nOmit `transcription` entirely for pure scene photographs, uninscribed objects, or when `pending_steps` is non-empty.\n\n## Content-type guidance\n\n**Photograph \/ negative:** Count people, note age\/clothing\/roles. Describe setting, light, composition, era cues. Text flags usually false unless caption or stamp is on the print.\n\n**Postcard front:** Describe scene. Transcribe printed caption if present. Note publisher mark and era cues.\n\n**Postcard back:** Transcribe address and message blocks as written. Note postmark and stamp. Note divided-back vs undivided layout.\n\n**Manuscript \/ letter:** Note language and handwriting era cues. Note paper and letterhead. Transcribe visible date, sender, recipient. `handwritten_text` always true; `typed_text` true if letterhead present.\n\n**Form:** Identify form purpose. List visible field labels explicitly. Note whether fields are filled. `is_form` always true; add `is_filled_form` and `handwritten_text` when entries are present.\n\n**Newspaper \/ clipping:** Note masthead, date, headlines. Describe column layout. `typed_text` true; `handwritten_text` only if annotated.\n\n**Map:** Note region, era cues, hand-drawn vs printed, legend, title cartouche. `typed_text` usually true.\n\n**Object \/ coin \/ patch \/ artifact:** Note type, material, period. Record all markings and inscriptions. Note condition.\n\n**Drawing \/ print \/ painting:** Note medium, subject matter, signature, date, edition number, visible title caption.\n\n## Operator hint handling\n\nThe operator hint shapes your attention but is not authoritative. If the image clearly contradicts the hint, follow the image and explain the disagreement in `content_type_basis` or a relevant `note` field.\n\n## Return JSON only\n\nNo preamble, no Markdown fences, no commentary. If you cannot determine a field, omit it rather than emitting `\"unknown\"` or `null`.","user":"<available_observation_tasks>\nFollow-up image tasks you may add to `pending_steps` if high-res processing is warranted:\n- htr_annotate\n- enrich_from_thumbnail\n- florence\n- observe_hires\n- ocr_mistral\n- ocr_tesseract\n- htr\n- triage\n<\/available_observation_tasks>\n\n<available_analysis_tasks>\nAnalysis tasks you may add to `analysis_tasks` based on content type:\n- extract_census\n- context_description\n- extract_metadata\n- generate_title\n- summarize\n<\/available_analysis_tasks>\n\n\n\n\nObserve the image and return the JSON envelope described in your instructions."}
Response
{"routing":{"content_type":"photograph","content_type_confidence":"high","content_type_basis":"image depicts a group of individuals gathered around a table, engaged in a card game","text_flags":{"has_text":true,"typed_text":false,"handwritten_text":false,"is_form":false,"is_filled_form":false},"needs_high_res":false,"pending_steps":[],"analysis_tasks":[],"risk_if_skipped":"N\/A"},"prose":"The image depicts a group of five men seated around a metal table engaged in a card game inside a well-lit room. The setting features light yellow walls and a sheer curtain at a window, adorned with a delicate floral pattern. There are two notable calendar pages visible, one blurred but consistent with mid-20th century style. The table is set with a small glass of liquid, a pack of cards, and a few cigarette butts in an ashtray. The men exhibit a range of expressions from concentration to leisure. \n\n1. **Man 1**: Appears to be in his 50s or 60s, sitting at the left, wearing a light blue short-sleeve shirt and beige pants, with his face partially visible as he gestures with his hands. \n2. **Man 2**: Appears to be in his 40s or 50s, seated at the center left, wearing a white shirt, black tie, and glasses, with a focused expression, holding a small group of cards. \n3. **Man 3**: Seated at the center right, shows the back of his head and is wearing a patterned green shirt, leaning slightly towards the other players, revealing part of a deck of cards. \n4. **Man 4**: Older individual, seen from behind, wearing a brown patterned shirt and standing at the far end of the table, observing the game with a reflective expression. \n5. **Man 5**: Positioned at the far right, appears to be older and wears glasses, engaged in watching the gameplay. \n\nThe atmosphere is relaxed, likely indicative of a social gathering. The image quality shows some color fading and general wear consistent with age, reflecting a vintage feel consistent with the mid-20th century.","transcription":[],"_tokens":{"prompt":27710,"completion":516,"total":28226,"cached":0,"cache_creation":null,"cache_read":null}}

Claims produced (8)

predicatevaluesourceconf
ai:handwrittenText observe 100%
ai:hasText 1 observe 100%
ai:isFilledForm observe 100%
ai:isForm observe 100%
ai:observationProse The image depicts a group of five men seated around a metal table engaged in a card game inside a well-lit room. The setting features light yellow walls and a sheer curtain at a window, adorned with a delicate floral pattern. There are two notable calendar pages visible, one blurred but consistent with mid-20th century style. The table is set with a small glass of liquid, a pack of cards, and a few cigarette butts in an ashtray. The men exhibit a range of expressions from concentration to leisure. 1. **Man 1**: Appears to be in his 50s or 60s, sitting at the left, wearing a light blue short-sleeve shirt and beige pants, with his face partially visible as he gestures with his hands. 2. **Man 2**: Appears to be in his 40s or 50s, seated at the center left, wearing a white shirt, black tie, and glasses, with a focused expression, holding a small group of cards. 3. **Man 3**: Seated at the center right, shows the back of his head and is wearing a patterned green shirt, leaning slightly towards the other players, revealing part of a deck of cards. 4. **Man 4**: Older individual, seen from behind, wearing a brown patterned shirt and standing at the far end of the table, observing the game with a reflective expression. 5. **Man 5**: Positioned at the far right, appears to be older and wears glasses, engaged in watching the gameplay. The atmosphere is relaxed, likely indicative of a social gathering. The image quality shows some color fading and general wear consistent with age, reflecting a vintage feel consistent with the mid-20th century. observe 100%
ai:transcription [] observe 100%
ai:typedText observe 100%
dcterms:type photograph observe 90%