create account

Steemit Condenser Contributions: automatic photo rotation by quochuy

View this thread on: hive.blogpeakd.comecency.com
· @quochuy · (edited)
$45.03
Steemit Condenser Contributions: automatic photo rotation
## Context
Well this is actually a work done in the Steemit Image Hoster project but because you usually see the resulting data in the Condenser, I'll keep it as part of Condenser contributions.

![Steemit Condenser Contributions](https://cdn.steemitimages.com/DQmc9nw4cvpnrCknGNWSStzwJxSuXsTVG9mErKsrdDr8EDj/IMG_3976.JPG)

When you upload an image on Steemit.com, your original image is hosted under a URL in the following format:
`https://cdn.steemitimages.com/[SOME_HASH]/[SOME_UID].jpeg`

When you then access the image from the Condenser, it will not fetch the original image directly but will go through a proxy script that will download the original file, resize, compress and cache it under:
`https://steemitimages.com/[WIDTH]x0/https://cdn.steemitimages.com/[THE_HASH]/[THE_UID].jpeg`

Now the issue this PR tries to fix is happening during the proxy processing phase.

### The issue
When taking a photo using your mobile phone or tablet in portrait mode (holding the phone upside up), the device's camera does is actually taking the shot in landscape mode (upside to the left) and adds some metadata to the saved file. When you open the photo in the photos app, the app will read that metadata and will rotate the image before displaying it to you for viewing.

What this means is that whatever software (including the browser) is used to view that photo should also apply the rotation before display. But the image proxy app, during the image processing has removed the useful metadata and as a result, when you view the image in a blog post, the image being displayed has a wrong orientation. 

Here is an example of the issue from [Rest in peace dad rip @wales](https://steemit.com/wales/@trystan/rest-in-peace-dad-rip-wales). My condolences to @trystan family for your loss.

![Image shown with the wrong orientation](https://files.steempeak.com/file/steempeak/quochuy/Mo3XeJYF-Screen20Shot202020-01-1320at208.25.5820am.jpg)

## The work done	
The solution I've chose is not the best but it is the best for the moment. Ideally, I should make the code not strip the metadata out of the file during the processing of the image. However, those metadata sometimes include geolocation of where the photo has been taken and for safety reason I prefer them to not be included. So what I did is just perform a rotation when needed.

Maybe a future improvement would be to remove the auto-rotation and allow the metadata from the original file but filter out data that can be of user's safety concerns.

The fix was quite simple:
![Code change](https://files.steempeak.com/file/steempeak/quochuy/ghMX6F5k-Screen20Shot202020-01-1320at208.35.4120am.jpg)

I took the opportunity to replace the use of deprecated method calls and also update the image processing library (Sharp) to a newer version that supports what I needed.

A quick test shows that it worked:
![Fixed orientation of the uploaded image](https://user-images.githubusercontent.com/310654/70895603-5b9af100-2043-11ea-9350-41597ff97f68.jpg)

## Steemit Condenser Pull Request
This feature is not out yet, a pull request has been created:
https://github.com/steemit/imagehoster/pull/118.

The PR was approved and merged but the changes seem to have not been released yet but this is not something I can control so lets hope Steemit Inc will deploy soon.

---

**Vote for my witness**
[![Support @quochuy Witness.jpg](https://cdn.steemitimages.com/DQmcyur99zckV3d5ZsujnyMvhRrdPBs7jRcg6HUXb7qU1oL/Support%20@quochuy%20Witness.jpg)](https://steemit.com/~witnesses)
On Steem, Witnesses are playing the important role of providing a performant and safe network for all of us. You have the power to choose 30 trusty witnesses to package transactions and sign the blocks that will go in the Steem blockchain. [Vote for me via SteemConnect](https://steemconnect.com/sign/account-witness-vote?witness=quochuy&approve=1) to help me do more useful projects for the communities.
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 464 others
πŸ‘Ž  
properties (23)
authorquochuy
permlinksteemit-condenser-contributions-automatic-photo-rotation
categorydevelopment
json_metadata{"app":"steemit/0.1","format":"markdown","tags":["steemit","condenser","programming","steemdev","community","palnet"],"users":["trystan"],"links":["https://steemit.com/wales/@trystan/rest-in-peace-dad-rip-wales","https://github.com/steemit/imagehoster/pull/118","https://steemit.com/~witnesses","https://steemconnect.com/sign/account-witness-vote?witness=quochuy&approve=1"],"image":["https://cdn.steemitimages.com/DQmc9nw4cvpnrCknGNWSStzwJxSuXsTVG9mErKsrdDr8EDj/IMG_3976.JPG","https://files.steempeak.com/file/steempeak/quochuy/Mo3XeJYF-Screen20Shot202020-01-1320at208.25.5820am.jpg","https://files.steempeak.com/file/steempeak/quochuy/ghMX6F5k-Screen20Shot202020-01-1320at208.35.4120am.jpg","https://user-images.githubusercontent.com/310654/70895603-5b9af100-2043-11ea-9350-41597ff97f68.jpg","https://cdn.steemitimages.com/DQmcyur99zckV3d5ZsujnyMvhRrdPBs7jRcg6HUXb7qU1oL/Support%20@quochuy%20Witness.jpg"]}
created2020-01-12 21:41:45
last_update2020-01-16 21:31:57
depth0
children20
last_payout2020-01-19 21:41:45
cashout_time1969-12-31 23:59:59
total_payout_value25.602 HBD
curator_payout_value19.424 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,931
author_reputation758,372,221,814,367
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,335,953
net_rshares164,786,557,705,593
author_curate_reward""
vote details (529)
@aguadz ·
$0.02
Nice!!! Many of us needed this is the platform, me myself also encounters this problem as well.

Good Job!!!!
πŸ‘  
properties (23)
authoraguadz
permlinkre-quochuy-2020113t181344836z
categorydevelopment
json_metadata{"tags":["development","steemit","condenser","programming","community","palnet"],"app":"esteem/2.2.2-surfer","format":"markdown+html","community":"esteem.app"}
created2020-01-14 02:14:39
last_update2020-01-14 02:14:39
depth1
children2
last_payout2020-01-21 02:14:39
cashout_time1969-12-31 23:59:59
total_payout_value0.012 HBD
curator_payout_value0.012 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length109
author_reputation1,712,496,284,529
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries
0.
accountesteemapp
weight300
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,376,608
net_rshares155,534,365,173
author_curate_reward""
vote details (1)
@quochuy ·
I'm glad it will be useful to you. Lets hope it gets deployed quickly
properties (22)
authorquochuy
permlinkre-aguadz-q45cqf
categorydevelopment
json_metadata{"tags":["development"],"app":"steempeak/2.2.6"}
created2020-01-15 11:48:15
last_update2020-01-15 11:48:15
depth2
children1
last_payout2020-01-22 11:48:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length69
author_reputation758,372,221,814,367
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,422,462
net_rshares0
@haikubot ·
<em>I'm glad it will be 
Useful to you. Lets hope it 
Gets deployed quickly 
</em>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<sup>- quochuy</sup>

---
<sup><sup><em>I'm a bot. I detect haiku.</em></sup></sup>
properties (22)
authorhaikubot
permlink20200115t114821957z
categorydevelopment
json_metadata{"tags":["test"],"app":"steemjs/examples"}
created2020-01-15 11:48:21
last_update2020-01-15 11:48:21
depth3
children0
last_payout2020-01-22 11:48:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length268
author_reputation1,821,968,927,944
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,422,466
net_rshares0
@arcange ·
Congratulations @quochuy!
Your post was mentioned in the [Steem Hit Parade](/hit-parade/@arcange/daily-hit-parade-20200112) in the following category:

* Pending payout - Ranked 5 with $ 51,07
properties (22)
authorarcange
permlinkre-steemit-condenser-contributions-automatic-photo-rotation-20200112t234010000z
categorydevelopment
json_metadata""
created2020-01-13 22:42:18
last_update2020-01-13 22:42:18
depth1
children0
last_payout2020-01-20 22:42:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length193
author_reputation1,146,606,601,469,178
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,372,520
net_rshares0
@freddio ·
$0.02
GJ, all features you make a added to steemit?
πŸ‘  
properties (23)
authorfreddio
permlinkq40ss1
categorydevelopment
json_metadata{"app":"steemit/0.1"}
created2020-01-13 00:45:30
last_update2020-01-13 00:45:30
depth1
children2
last_payout2020-01-20 00:45:30
cashout_time1969-12-31 23:59:59
total_payout_value0.012 HBD
curator_payout_value0.012 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length45
author_reputation7,719,090,707,167
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,339,025
net_rshares154,094,984,905
author_curate_reward""
vote details (1)
@quochuy ·
Yes, they are requests to get added to Steemit but Steemit Inc still has the task to review, approve and deploy them. 

Posted using [Partiko iOS](https://partiko.app/referral/quochuy)
πŸ‘  
properties (23)
authorquochuy
permlinkquochuy-re-freddio-q40ss1-20200113t011430920z
categorydevelopment
json_metadata{"app":"partiko","client":"ios"}
created2020-01-13 01:14:30
last_update2020-01-13 01:14:30
depth2
children1
last_payout2020-01-20 01:14:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length184
author_reputation758,372,221,814,367
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,339,659
net_rshares9,178,789,385
author_curate_reward""
vote details (1)
@freddio ·
Thats really cool
properties (22)
authorfreddio
permlinkq447s2
categorydevelopment
json_metadata{"app":"steemit/0.1"}
created2020-01-14 21:02:12
last_update2020-01-14 21:02:12
depth3
children0
last_payout2020-01-21 21:02:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length17
author_reputation7,719,090,707,167
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,402,537
net_rshares0
@insmartcodee ·
Thanks for sharing
properties (22)
authorinsmartcodee
permlinkre-quochuy-2020113t154624615z
categorydevelopment
json_metadata{"tags":["development","steemit","condenser","programming","community","palnet"],"app":"esteem/2.2.2-mobile","format":"markdown+html","community":"esteem.app"}
created2020-01-13 14:46:24
last_update2020-01-13 14:46:24
depth1
children0
last_payout2020-01-20 14:46:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length18
author_reputation-17,459,216,293
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries
0.
accountesteemapp
weight300
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,360,011
net_rshares0
@jpphotography ·
$0.02
Great work, this should benefit other frontends as well then since it's a contribution to imagehoster and not to condenser, right? Btw, the link to the pull request is wrong ;)
πŸ‘  
properties (23)
authorjpphotography
permlinkre-quochuy-q41rcl
categorydevelopment
json_metadata{"tags":["development"],"app":"steempeak/2.2.6"}
created2020-01-13 13:12:27
last_update2020-01-13 13:12:27
depth1
children1
last_payout2020-01-20 13:12:27
cashout_time1969-12-31 23:59:59
total_payout_value0.012 HBD
curator_payout_value0.012 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length176
author_reputation130,520,405,558,348
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,357,766
net_rshares156,422,926,658
author_curate_reward""
vote details (1)
@quochuy ·
Thank you. I updated the link.
This change would benefit any dapps that are using the steemit image proxy.
But this is not always the case like with SteemPeak for example.
properties (22)
authorquochuy
permlinkre-jpphotography-q45cpf
categorydevelopment
json_metadata{"tags":["development"],"app":"steempeak/2.2.6"}
created2020-01-15 11:47:39
last_update2020-01-15 11:47:39
depth2
children0
last_payout2020-01-22 11:47:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length171
author_reputation758,372,221,814,367
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,422,442
net_rshares0
@kategchannel ·
Nice
properties (22)
authorkategchannel
permlinkre-quochuy-2020113t154522923z
categorydevelopment
json_metadata{"tags":["development","steemit","condenser","programming","community","palnet"],"app":"esteem/2.2.2-mobile","format":"markdown+html","community":"esteem.app"}
created2020-01-13 14:45:24
last_update2020-01-13 14:45:24
depth1
children0
last_payout2020-01-20 14:45:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length4
author_reputation-887,823,395,661
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries
0.
accountesteemapp
weight300
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,359,990
net_rshares0
@marki99 ·
$0.02
Nice, upvoted.
πŸ‘  
properties (23)
authormarki99
permlinkq40p7n
categorydevelopment
json_metadata{"app":"steemit/0.1"}
created2020-01-12 23:28:36
last_update2020-01-12 23:28:36
depth1
children0
last_payout2020-01-19 23:28:36
cashout_time1969-12-31 23:59:59
total_payout_value0.010 HBD
curator_payout_value0.010 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length14
author_reputation11,400,723,818,181
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,337,731
net_rshares127,718,829,865
author_curate_reward""
vote details (1)
@ozannn ·
Very nice πŸ‘ 

Posted using [Partiko iOS](https://partiko.app/referral/ozannn)
properties (22)
authorozannn
permlinkozannn-re-quochuy-steemit-condenser-contributions-automatic-photo-rotation-20200114t185309527z
categorydevelopment
json_metadata{"app":"partiko","client":"ios"}
created2020-01-14 18:53:09
last_update2020-01-14 18:53:09
depth1
children0
last_payout2020-01-21 18:53:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length77
author_reputation460,109,666,429
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,399,852
net_rshares0
@paulnulty ·
Nice work, πŸ˜€πŸ‘πŸ’ͺ
properties (22)
authorpaulnulty
permlinkq42sf6
categorydevelopment
json_metadata{"app":"steemit/0.1"}
created2020-01-14 02:33:12
last_update2020-01-14 02:33:12
depth1
children0
last_payout2020-01-21 02:33:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length14
author_reputation2,389,346,692,000
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,376,927
net_rshares0
@riverflows ·
$0.02
Nice one @quochuy.. much needed. 
πŸ‘  
properties (23)
authorriverflows
permlinkre-quochuy-q413wh
categorydevelopment
json_metadata{"tags":["development"],"app":"steempeak/2.2.6"}
created2020-01-13 04:45:57
last_update2020-01-13 04:45:57
depth1
children0
last_payout2020-01-20 04:45:57
cashout_time1969-12-31 23:59:59
total_payout_value0.010 HBD
curator_payout_value0.010 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length33
author_reputation2,064,530,569,291,821
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,343,416
net_rshares128,357,749,852
author_curate_reward""
vote details (1)
@roofingtips ·
Great work
properties (22)
authorroofingtips
permlinkre-quochuy-2020113t155732446z
categorydevelopment
json_metadata{"tags":["development","steemit","condenser","programming","community","palnet"],"app":"esteem/2.2.2-mobile","format":"markdown+html","community":"esteem.app"}
created2020-01-13 14:57:33
last_update2020-01-13 14:57:33
depth1
children0
last_payout2020-01-20 14:57:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length10
author_reputation-420,645,870,988
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries
0.
accountesteemapp
weight300
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,360,276
net_rshares0
@ryivhnn ·
$0.02
I seem to vaguely remember it being theoretically possible to strip out everything but rotation data but at the time was too lazy to look more into it (mostly because I do it locally as part of a batch process).  Might be something to look into if you're not already :) 

<div class="pull-right">https://technonaturalist.net/sites/default/files/styles/sensible_display/public/art/2019/09/heartfyn_0.png?itok=QHDoN0HE</div>
πŸ‘  
properties (23)
authorryivhnn
permlinkre-quochuy-q417q2
categorydevelopment
json_metadata{"tags":["development"],"app":"steempeak/2.2.6"}
created2020-01-13 06:08:27
last_update2020-01-13 06:08:27
depth1
children1
last_payout2020-01-20 06:08:27
cashout_time1969-12-31 23:59:59
total_payout_value0.010 HBD
curator_payout_value0.010 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length422
author_reputation207,820,972,323,429
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,345,093
net_rshares128,999,880,492
author_curate_reward""
vote details (1)
@quochuy ·
I’m sure there is away, the question is is that way supported by the current image library being used and how much work if it is not. But I don’t see this as being critical, the main thing is that the image shows up correctly.

Posted using [Partiko iOS](https://partiko.app/referral/quochuy)
properties (22)
authorquochuy
permlinkquochuy-re-ryivhnn-re-quochuy-q417q2-20200113t061858161z
categorydevelopment
json_metadata{"app":"partiko","client":"ios"}
created2020-01-13 06:18:57
last_update2020-01-13 06:18:57
depth2
children0
last_payout2020-01-20 06:18:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length292
author_reputation758,372,221,814,367
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,345,445
net_rshares0
@steemitboard ·
Congratulations @quochuy! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

<table><tr><td><img src="https://steemitimages.com/60x70/http://steemitboard.com/@quochuy/votes.png?202001122153"></td><td>You distributed more than 28000 upvotes. Your next target is to reach 29000 upvotes.</td></tr>
</table>

<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@quochuy) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=quochuy)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>


To support your work, I also upvoted your post!


###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
properties (22)
authorsteemitboard
permlinksteemitboard-notify-quochuy-20200112t225056000z
categorydevelopment
json_metadata{"image":["https://steemitboard.com/img/notify.png"]}
created2020-01-12 22:50:54
last_update2020-01-12 22:50:54
depth1
children0
last_payout2020-01-19 22:50:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length895
author_reputation38,975,615,169,260
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,337,138
net_rshares0
@teamvn ·
Congratulations @quochuy, you have received a 80% upvote. I'm the Vietnamese Community bot developed by witness @quochuy and powered by community SP delegations
properties (22)
authorteamvn
permlinkre-quochuy-steemit-condenser-contributions-automatic-photo-rotation-20200112t214812044z
categorydevelopment
json_metadata{"tags":["development"],"app":"teamvn-bot"}
created2020-01-12 21:48:12
last_update2020-01-12 21:48:12
depth1
children0
last_payout2020-01-19 21:48:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length160
author_reputation2,292,156,318,705
root_title"Steemit Condenser Contributions: automatic photo rotation"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,336,117
net_rshares0