I've done the japanese straightening, it can last from 6 months up to a year depending on how fast your hair grows. The new growth will be curly. If, after straightening, you want your curls back, you will need to chop off all the staight part :/ so it can take a long time to get it back (probably took me about a year to get rid of the straight ends...i never big chopped, that's why)
Keratin, on the other hand, lasts a couple of months, i understand...it's supposed to loosen the curl pattern and the effects wash off? Of the two, the keratin treatment sounds like the one with a more acceptable aftermath?
Besides the cost of each one, also think about the upkeep, the sacrifice each one might bring...

Type: 3a
Dense, fine/medium texture, low porosity

Low-poo: Devacurl No-Poo/ Yes to Carrots Nourishing Shampoo/ Elacel Aloe Vera Shampoo
Conditioner: Garnier Fructis Triple Nutrition Conditioner
Leave-in: Devacurl Set It Free/Lush R& B
Styling: Herbal Essences Set Me Up Spray-Gel/ L'Oreal Silk & Gloss Curl Power Mousse