According to the information on reddit, the following is the amount of stardust required for trades. The values are based on the "Good Friend" and will decrease as your friendship levels increase. The stardust required for the trade will be the same for both trainers, taking the higher value
Standard Trades - Pokemon both trainers have will only cost 100 stardust. I have confirmed this by trading a Pokemon a friend and I both have. The cost required was 100 stardust.
Standard trades cost 100 stardust
Special Trades - Trading Pokemon through a special trade will cost 20,000 stardust. I have confirmed this by trading a Pokemon I had and a friend did not. The stardust required was 20,000
Any pokemon traded with the criteria below counts as a special trade, which only 1 of can be completed per day
New Pokedex Entry | 20 000 Stardust
Legendary Trade | 20 000 Stardust
Shiny Trade | 20 000 Stardust
Very Special Trades - This is where trading gets expensive. If a trade is performed that meets two or more criteria for special trades, it will cost 1M stardust. I have "confirmed" this by attempting to trade a Shiny Charmander to a friend who did not have one, and it took well over 120k stardust.
Any 2 or more combinations of the above = 1 Million stardust
Legendary + New Pokedex Entry | 1 Million Stardust
Any Pokemon you've never gotten Shiny before | 1 Million Stardust
While a very special trade may cost 1M stardust at the "Good Friend" level, a screenshot from Niantic's initial trade announcement indicates a "Best Friend" level will lower this cost to only 40,000 stardust.