Faits: A. A._ et B._ (maîtres d'?uvre) ont fait construire un chalet sur le territoire de la commune vaudoise de .... Ils ont confié les travaux de charpente et de menuiserie à la société X._ SA (entrepreneur); l'art. 4 du contrat d'entreprise prévoyait qu'en cas de contestation, le for serait à Lausanne. L'ouvrage a été réceptionné le 1er décembre 2009. Ayant constaté à fin 2010 un écartement des joints des lambris des plafonds sous la toiture, les maîtres ont adressé un avis de défaut à l'entrepreneur; ils ont en outre dénoncé le cas à Z._ SA en sa qualité de caution solidaire. B. Le 29 juillet 2011, les maîtres ont saisi le Juge de paix du district d'Aigle d'une requête de preuve à futur dirigée contre l'entrepreneur et la caution. Les deux parties intimées, se fondant sur la clause contractuelle de prorogation de for, ont contesté la compétence locale du Juge de paix d'Aigle. Par ordonnance du 19 octobre 2011, celui-ci a déclaré la requête irrecevable au motif qu'il était incompétent ratione loci. Par arrêt du 23 janvier 2012, le Juge délégué de la Cour d'appel civile du Tribunal cantonal vaudois a admis l'appel formé par les maîtres et a réformé l'ordonnance en ce sens que le Juge de paix d'Aigle est déclaré compétent pour statuer sur la requête de preuve à futur. Le juge d'appel a considéré qu'au regard de l'art. 13 CPC, le tribunal du lieu où les mesures provisionnelles doivent être exécutées est compétent nonobstant une élection de for concernant l'action principale; il a en outre retenu que la valeur litigieuse était supérieure à 30'000 fr. C. L'entrepreneur (recourante) interjette un recours en matière civile au Tribunal fédéral, en concluant principalement à ce que la requête de preuve à futur soit déclarée irrecevable. Par ordonnance du 30 avril 2012, la Présidente de la cour de céans a accordé l'effet suspensif au recours. Les maîtres (intimés) concluent au rejet du recours. La caution s'en remet à justice. 