This belongs in the graphics section since it is not directly related to the binding, however...
You are mentioning several things here, original texture size, world unit measurement, target pixel size, and scaling.
The original texture size is the size of the texture you are drawing. In order to convert to anything else you need to know this value.
World units can make it easier to think of your game world. 1x1 world unit can represent a square tile or 1x5 could represent a platform your player is walking on.
Target pixel size is what each world unit is valued in pixels. Lets say for this example 1 world unit is equal to 64 pixels. So we have a platform that is 1x5 (world units), the actual size of this is 64x320 pixels. All SFML cares about is pixels so you need to be able to convert between world units and pixels.
World Units to Pixels
sf::Vector2f ratio(64, 64);
sf::Vector2f pixelSize( worldUnits * ratio );
Pixels to World Units
sf::Vector2f ratio(64, 64);
sf::Vector2f worldUnits( pixelSize / ratio );
Now to calculate the sprite scale. Remember that the scale is dependent on pixels and not world units.
sf::Vector2f pixelSize( { 64, 320 } );
sf::Vector2i textureSize( { 128, 640} );
sprite.setScale(pixelSize / textureSize);
Lets put it all together.
// 1x5 platform
sprite.setScale( toPixels(1, 5) / texture.getSize() );
I hope this clears it up for you.