Faits:
A. Par jugement du 9 mai 2012, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a notamment condamné X._ pour infraction grave à la loi fédérale sur les stupéfiants à une peine privative de liberté de trente-six mois, dont 12 mois ferme et 24 mois avec sursis pendant trois ans.
B. Statuant sur appel du Ministère public vaudois, la Cour d'appel pénale du Tribunal cantonal vaudois a réformé le jugement de première instance et augmenté la peine privative de liberté à quatre ans et demi.
En résumé, elle a retenu les faits suivants:
Au début novembre 2009 à Bâle, X._ a acheté 700 grammes d'héroïne et 2 kilos de produit de coupage pour un montant de 14'000 fr., qui lui avaient été avancés.
A Bâle, entre la fin du mois de novembre et le 9 décembre 2009, il a obtenu 200 grammes d'héroïne pour un montant de 5'000 fr. auprès de A._. Quelques jours plus tard, il a rendu la marchandise et récupéré son argent, car la drogue était de mauvaise qualité.
Sur le trajet Corcelettes-Yverdon le 25 novembre 2009, il a facilité le transport de 50 grammes d'héroïne en dépassant volontairement B._ afin d'ouvrir la voie et de sécuriser ce convoi. Il n'a rien reçu pour ce service.
A Yverdon ou à Yvonand, au début décembre 2009, il a vendu 50 grammes d'héroïne à C._ pour 2'000 francs.
A Härkingen le 9 décembre 2009, jour de son arrestation, il s'est fait remettre entre 450 et 500 grammes d'héroïne et un kilo de produit de coupage par D._. Il a ramené cette marchandise avec sa voiture et l'a déposée dans son appartement clandestin à Corcelettes. Elle lui avait été avancée.
A Corcelettes le 9 décembre 2009, lors de la fouille de l'appartement clandestin de X._, la police a découvert 846 grammes d'héroïne et 1'440 grammes de produit de coupage. Sur cette quantité, 599 grammes d'héroïne et 1'020 grammes de produit de coupage appartenaient à X._. Ils se trouvaient sous son lit. Le reste appartenait à B._ et se trouvait dans un coffre.
L'analyse de la drogue par l'Institut de police scientifique de l'université de Lausanne a révélé des taux de pureté oscillant entre 6,4 % et 37,6 %.
C. Contre ce dernier jugement, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut à la réforme du jugement attaqué en ce sens que la peine prononcée soit de trente-six mois, dont 12 mois ferme et 24 mois avec sursis pendant trois ans; à titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité précédente pour nouveau jugement. En outre, il sollicite l'assistance judiciaire.
Il n'a pas été ordonné d'échange d'écritures.
Considérant en droit:
1. Le recourant se plaint que la cour cantonale a établi les faits de manière manifestement inexacte lorsqu'elle retient que le trafic a porté sur 1'600 grammes d'héroïne.
1.1 Le Tribunal fédéral est lié par les faits constatés par l'autorité précédente (art. 105 al. 1 LTF). Le recourant ne peut critiquer la constatation des faits, susceptibles d'avoir une influence sur l'issue du litige, que si ceux-ci ont été établis de manière manifestement inexacte (art. 97 al. 1 et 105 al. 2 LTF), c'est-à-dire arbitraire (cf. ATF 136 II 447 consid. 2.1, p. 450). On peut renvoyer, sur la notion d'arbitraire, aux principes maintes fois exposés par le Tribunal fédéral (voir par ex: ATF 138 III 378 consid. 6.1 p. 379; 137 I 1 consid. 2.4 p. 5; 136 III 552 consid. 4.2 p. 560 ; 135 V 2 consid. 1.3 p. 4/5; 134 I 140 consid. 5.4 p. 148; 133 I 149 consid. 3.1 p. 153 et les arrêts cités). En bref, pour qu'il y ait arbitraire, il ne suffit pas que la décision attaquée apparaisse discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation, mais aussi dans son résultat.
1.2 En l'espèce, la cour cantonale a retenu les quantité suivantes:
- 700 grammes d'héroïne achetés au début du mois de novembre 2009;
- 200 grammes d'héroïne achetés entre la fin du mois de novembre et le 9 décembre 2009 (marchandise restituée par la suite);
- 50 grammes d'héroïne pour lesquels le recourant a facilité le transport le 25 novembre 2009;
- 50 grammes d'héroïne vendus au début du mois de décembre 2009;
- 450 à 500 grammes d'héroïne remis au recourant le 9 décembre 2009 (le jour de son interpellation).
La cour cantonale a fixé la quantité d'héroïne ayant fait l'objet du trafic à 1'600 grammes, précisant que " si le prévenu a contribué à écouler plus de 1'400 grammes d'héroïne, son trafic a porté sur 1'600 grammes puisque les 200 grammes achetés puis restitués faute pour cette dernière quantité d'avoir été de bonne qualité doivent être ajoutés aux 1'400 grammes calculés par les premiers juges " (jugement attaqué p. 15). Toutefois, si on additionne les différents postes retenus par la cour cantonale (cf. ci-dessus), qui incluent les 200 grammes achetés puis restitués, la quantité finale s'élève à 1'450 ou 1'500 grammes (700 + 200 + 50 + 50 + 450-500). Suivant le recourant, il faut admettre que la cour cantonale a fait une erreur de calcul et qu'elle a établi les faits de manière manifestement inexacte en retenant un montant de drogue trafiquée de 1'600 grammes. Cela ne signifie pas pour autant que le recours doit être admis. Encore faut-il que cette erreur influe sur l'issue de la cause (art. 97 al. 1 LTF).
Si l'on part d'une quantité de drogue trafiquée de 1'450 ou 1'500 grammes et que l'on reprend les taux de pureté appliqués par la cour cantonale, la quantité de drogue pure est de 272,4 ou 275,6 grammes, alors que celle retenue par la cour cantonale est de 282 grammes. Cela fait donc une différence inférieure à 10 grammes. Selon la jurisprudence (ATF 122 IV 299 consid. 2c), la quantité de drogue constitue certes un élément important lors de la fixation de la peine, mais n'est pas à elle seule déterminante. En outre, elle perd de l'importance au fur et à mesure que l'on s'éloigne de la limite à partir de laquelle le cas est grave (à savoir 12 grammes). Ainsi, au vu de la quantité de drogue trafiquée et des autres éléments pris en compte pour fixer la peine (nature et type du trafic; rôle au sein du trafic; mobiles; facteurs liés à l'auteur), une différence de moins de 10 grammes ne saurait influer sur la mesure de la peine. Le grief soulevé par le recourant doit donc être rejeté.
2. Le recourant dénonce une violation de l'art. 404 al. 1 CPP. Il reproche à la cour cantonale d'avoir retenu une quantité de drogue supérieure à celle arrêtée par le premier juge, alors que ce point n'avait pas été remis en cause par le ministère public dans son appel.
2.1 En vertu de l'art. 399 CPP, la déclaration d'appel doit indiquer si le jugement est attaqué dans son ensemble ou seulement sur certaines parties. Dans ce dernier cas, l'appelant est tenu de mentionner, dans sa déclaration d'appel, de manière définitive, sur quelles parties porte l'appel. L'art. 399 al. 4 CPP énumère, à ses lettres a à g, les parties du jugement qui peuvent être attaquées séparément. Selon l'art. 404 al. 1 CPP, la juridiction d'appel n'examine que les points attaqués du jugement de première instance. Elle revoit ces points avec un plein pouvoir d'examen, sans être liée par les motifs invoqués par les parties (art. 398 al. 2 CPP).
En particulier, l'appel peut se limiter à la mesure de la peine (art. 399 al. 4 let. b CPP). Dans ce cadre, la juridiction d'appel peut examiner les constatations de fait et les questions de droit. Elle peut étendre son examen à des constatations de fait relatives à d'éventuelles circonstances atténuantes et aggravantes (dans ce sens arrêt 6B_548/2011 du 14 mai 2012 consid. 3) ou à d'autres faits qui sont en étroite relation avec la fixation de la peine. Par exemple, en matière de trafic de stupéfiant, lorsque seule la peine est contestée, elle peut revoir la quantité de la drogue (et avec cela la qualification comme cas grave) lorsque le premier jugement ne contient aucune donnée à ce sujet ou que celles-ci sont incomplètes, peu claires ou contradictoires (cf. dans ce sens LUZIUS EUGSTER, in Basler Kommentar, Schweizerische Strafprozessordnung, 2011, n° 8 ad art. 399 CPP).
2.2 En l'espèce, le ministère public vaudois a contesté la peine. Il s'en est pris à la quantité globale de drogue trafiquée, plus particulièrement au taux de pureté de l'héroïne. Etant donné que la quantité de drogue joue un rôle important dans la fixation de la peine, la cour cantonale était autorisée à revoir cette question avec un plein pouvoir d'examen, sans être limitée au grief soulevé (taux de pureté). Elle n'a donc pas violé l'art. 404 al. 1er CPP en augmentant la quantité de la drogue retenue par le premier juge. Mal fondé, le grief tiré de la violation de l'art. 404 CPP doit être rejeté.
3. Condamné à une peine privative de liberté de quatre ans et demi, le recourant critique la sévérité de sa peine. Il remet en cause la prise en considération de certains éléments.
3.1 Selon l'art. 47 CP, le juge fixe la peine d'après la culpabilité de l'auteur. Il prend en considération les antécédents et la situation personnelle de ce dernier ainsi que l'effet de la peine sur son avenir (al. 1). La culpabilité est déterminée par la gravité de la lésion ou de la mise en danger du bien juridique concerné, par le caractère répréhensible de l'acte, par les motivations et les buts de l'auteur et par la mesure dans laquelle celui-ci aurait pu éviter la mise en danger ou la lésion, compte tenu de sa situation personnelle et des circonstances extérieures (al. 2).
La culpabilité de l'auteur doit être évaluée en fonction de tous les éléments objectifs pertinents, qui ont trait à l'acte lui-même, à savoir notamment la gravité de la lésion, le caractère répréhensible de l'acte et son mode d'exécution. Du point de vue subjectif, sont pris en compte l'intensité de la volonté délictuelle ainsi que les motivations et les buts de l'auteur. A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même, à savoir les antécédents (judiciaires et non judiciaires), la réputation, la situation personnelle (état de santé, âge, obligations familiales, situation professionnelle, risque de récidive, etc.), la vulnérabilité face à la peine, de même que le comportement après l'acte et au cours de la procédure pénale (ATF 134 IV 17 consid. 2.1 p. 19 s.; 129 IV 6 consid. 6.1).
En matière de trafic de stupéfiants, il y a lieu de tenir compte de la quantité de drogue; même si elle ne joue pas un rôle prépondérant, la quantité constitue un élément essentiel, qui perd cependant de l'importance au fur et à mesure que s'éloigne la limite à partir de laquelle le cas est grave au sens de l'art. 19 ch. 2 let. a LStup. Le type et la nature du trafic en cause sont déterminants. Aussi l'appréciation sera différente selon que l'auteur a agi de manière autonome ou comme membre d'une organisation. Dans ce dernier cas, la nature de sa participation et sa position au sein de l'organisation doivent être prises en compte. L'étendue géographique du trafic entre également en considération: l'importation en Suisse de drogue a des répercussions plus graves que le seul transport à l'intérieur des frontières. S'agissant d'apprécier les mobiles qui ont poussé l'auteur à agir, le juge doit distinguer le cas de celui qui est lui-même toxicomane et agit pour financer sa propre consommation de celui qui participe à un trafic uniquement poussé par l'appât du gain (arrêts 6B_265/2010 du 13 août 2010 consid. 2.3; 6S.21/2002 du 17 avril 2002 consid. 2c). Le comportement du délinquant lors de la procédure peut aussi jouer un rôle. Le juge pourra atténuer la peine en raison de l'aveu ou de la bonne coopération de l'auteur de l'infraction avec les autorités policières ou judiciaires notamment si cette coopération a permis d'élucider des faits qui, à ce défaut, seraient restés obscurs (ATF 121 IV 202 consid. 2d/aa p. 204; 118 IV 342 consid. 2d p. 349).
Pour fixer la peine, le juge dispose d'un large pouvoir d'appréciation. Il y a toutefois violation du droit fédéral lorsque le juge sort du cadre légal, se fonde sur des critères étrangers à l'art. 47 CP, omet de prendre en considération des éléments d'appréciation prévus par cette disposition ou, enfin, si la peine qu'il prononce est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (ATF 134 IV 17 consid. 2.1; 129 IV 6 consid. 6.1 et les références citées).
3.2 Le recourant reproche à la cour cantonale d'avoir retenu, à charge, la quantité du produit de coupage. Le fait que la drogue mise sur le marché était diluée devrait, au contraire, diminuer sa culpabilité et, partant, la mesure de la peine.
La cour cantonale a expliqué que les trois kilos de produit de coupage acquis " démontraient que le trafic devait se développer et porter sur des quantités brutes d'héroïne très élevées, touchant autant de consommateurs de plus ". Ce raisonnement n'est pas critiquable. En effet, la quantité de produit de coupage est un facteur pertinent pour démontrer l'ampleur du trafic auquel devait participer le recourant. Infondé, le grief soulevé doit être rejeté.
3.3 Le recourant reproche à la cour cantonale d'avoir retenu à sa charge le fait qu'il n'était pas toxicomane. Selon lui, le fait de consommer de la drogue serait un élément à décharge, auquel il n'aurait pas droit; l'absence de cette circonstance ne saurait signifier qu'elle doit être prise en compte à charge.
Les mobiles, c'est-à-dire les raisons qui ont poussé l'auteur à agir, ont une influence sur la détermination de la peine. En l'espèce, contrairement à ce que soutient le recourant, la cour cantonale n'a pas retenu à sa charge le fait qu'il n'était pas toxicomane, mais le fait qu'il avait agi uniquement poussé par l'appât du gain. Le grief soulevé doit donc être rejeté.
3.4 Le recourant conteste avoir eu une position de chef.
La cour cantonale a exposé que le recourant avait joué un rôle important à chaque étape d'un trafic international, à savoir lors de l'achat, du coupage, de l'entreposage et de la vente de la drogue et qu'il avait mis en place une certaine infrastructure sous la forme d'un appartement utilisé comme base arrière ainsi que l'acquisition d'un matériel élaboré. Elle n'a jamais déclaré qu'il avait une position de chef, mais a seulement mentionné qu'il " passait " pour un chef aux dires de C._, à savoir qu'il " avait l'air " d'un chef. Le grief soulevé est donc infondé.
3.5 Le recourant critique la mention de l'existence d'une condamnation précédente dans les éléments à charge sans autre précision. Il relève que cette condamnation était sans lien avec le trafic de drogue, que la peine avait été prononcée avec sursis (non révoqué) et qu'une période importante s'était écoulée depuis lors.
Si la cour cantonale a juste mentionné lors de la fixation de la peine que le recourant avait été condamné en 2003, elle a donné toutes les précisions au sujet de cette condamnation dans la partie fait du jugement (p. 11). Elle n'était pas obligée de répéter ces éléments au stade de la fixation de la peine. Le jugement forme en effet un tout et l'on doit admettre que le juge garde à l'esprit l'ensemble des éléments qui y figurent. Mal fondé, le grief soulevé doit être rejeté.
3.6 Le recourant se plaint que la cour cantonale a pris en considération une " collaboration relativement modeste du prévenu ", tout en admettant que les faits reprochés n'étaient pas contestés.
La cour cantonale a exposé que le recourant avait d'abord nié les faits durant les trois premières auditions avant de les admettre, puis de se rétracter de nouveau aux débats de première instance (s'agissant des 700 grammes d'héroïne et des deux kilos de coupage). Dans cette mesure, la cour cantonale a admis justement une collaboration relativement modeste de la part du recourant. Au demeurant, le recourant n'a pas déposé d'appel ni d'appel joint et remis en cause les faits pour lesquels il avait été condamné en première instance. Ainsi, dans le cadre de la procédure d'appel, il faut admettre que les faits à la base de la condamnation du recourant n'étaient pas " contestés " et n'avaient pas à être réexaminés. Infondé, le grief soulevé doit être rejeté.
3.7 Le recourant reproche à la cour cantonale de ne pas avoir pris en compte les témoins de moralité.
La cour cantonale a tenu compte de ces témoignages, dans la mesure où elle a admis que le recourant avait exprimé des regrets et pris conscience de la gravité de ses actes. Le grief du recourant doit être rejeté.
3.8 En définitive, la cour cantonale n'a pas omis d'élément important lors de la fixation de la peine et a correctement motivé celle-ci. Il convient encore d'examiner si, au vu des circonstances, la peine infligée apparaît sévère au point de constituer un abus du pouvoir d'appréciation.
Le trafic auquel s'est livré le recourant est important. Il a porté sur une quantité d'héroïne pure de plus de 250 grammes, à savoir sur une quantité largement supérieure à la limite de 12 grammes à partir de laquelle la jurisprudence considère que le cas est grave. Le rôle du recourant n'était pas celui d'un simple vendeur; il a participé à chaque étape d'un trafic international, à savoir à l'achat, au coupage, à l'entreposage et à la vente de la drogue, et a mis en place une certaine infrastructure (appartement et matériel élaboré). Du point de vue subjectif, le recourant, qui n'était pas dépendant des stupéfiants, a agi par pur appât du gain. En ce qui concerne les facteurs liés à l'auteur, on peut relever un antécédent (condamnation à dix huit mois avec sursis pendant cinq ans pour entrave à l'action pénale en 2003), les regrets qu'il a exprimés et la prise de conscience de sa faute, son état de santé précaire et sa participation relativement modeste avec les autorités de poursuite pénales.
Au vu de l'ensemble de ces circonstances, la peine privative de liberté de quatre ans et demi n'est pas sévère de sorte qu'il faille conclure à un abus du large pouvoir d'appréciation accordé à la cour cantonale.
4. En conclusion, le recours doit être rejeté.
Comme ses conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant devra donc supporter les frais (art. 66 al. 1 LTF), dont le montant sera toutefois fixé en tenant compte de sa situation financière.
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La requête d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 1'600 fr., sont mis à la charge du recourant.
4. Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 4 mars 2013
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: Mathys
La Greffière: Kistler Vianin