Edit photo details
update_mediaIdempotent
Edit one photo or video: claim it into a trip, rewrite its description, or correct its time, place, crop and rotation. When you correct a timestamp or coordinates, correct exif_source / tz_source in the same call — the value and the evidence for it must stay consistent.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Reverse-geocoded place. Normally filled by the server from lat/lng — you rarely set it. See learn('recipes/geocode'). | |
| lat | No | ||
| lng | No | ||
| crop | No | Crop, two forms: an explicit rectangle {x,y,w,h} in 0-1 fractions from the top-left, or {aspect, gravity} to let the server frame it. null clears the crop. See learn('media'). | |
| focal | No | Subject position as {x,y} in 0-1 fractions. Layouts frame around it instead of the centre. Does not alter the image. | |
| credit | No | Where a reference image came from. | |
| rotate | No | Clockwise degrees; null clears rotation. EXIF orientation is already applied; use this only for a deliberate turn. | |
| preview | No | Return the cropped result for you to look at (default true). Turn off for batch edits. | |
| trip_id | No | Claim this media into one of your trips. Unclaimed media sits in a pool until then. | |
| keywords | No | Space-separated search terms, in the traveller's language. | |
| media_id | Yes | (must not be empty) | |
| tz_offset | No | Minutes east of UTC at the place of capture (Tokyo 540, Paris 120). | |
| tz_source | No | Where tz_offset came from. Set to 'given' once you supply a real one. | |
| provenance | No | 'reference' means someone else's picture and requires credit. Switching back to 'own' clears credit. | |
| description | No | What this shows. People read it — the traveller years from now, and friends who open the share link — so write it in the language the traveller speaks, not English. Be concrete: name the dish, the street, the light. Empty is rejected. | |
| exif_source | No | Where the time and coordinates came from. See learn('recipes/exif'). | |
| location_name | No | What the traveller calls this place — a venue or landmark. Reverse geocoding fills geo separately. | |
| occurred_at_utc | No | Capture time, epoch milliseconds UTC. | |
| contributor_person_id | No | (must not be empty) |