# Old to new baking API

> Code sample to ease transition to new baking API

## Transitionning to new baking API

```python title="Python"
from pxz import *

destinations = [ ... ] # list of destination occurrences
sources = [ ... ] # list of source occurrences

uvChannel = 0
resolution = 1024
padding = 2
defaultDiffuse = [1, 0, 0, 0]
nAOSamples = 64

# Old API:

maps = []
maps.append(algo.BakeMap(algo.MapType.Diffuse, [scene.PropertyValue("DefaultColor", f"{defaultDiffuse}")]))
maps.append(algo.BakeMap(algo.MapType.Normal, []))
maps.append(algo.BakeMap(algo.MapType.ComputeAO, [scene.PropertyValue("SamplesPerPixel", f"{nAOSamples}")]))

result = algo.bakeMaps(destinations, sources, mapList, uvChannel, resolution, padding)

diffuseMap = result[0]
normalMap = result[1]
aoMap = result[2]

# New API:

sessionId = algo.beginBakingSession(destinations, sources, uvChannel, resolution)
algo.setBakingSessionPadding(sessionId, padding)

diffuseMap = algo.bakeDiffuseMap(sessionId, defaultColor=defaultDiffuse)[0]
normalMap = algo.bakeNormalMap(sessionId)[0]
aoMap = algo.bakeAOMap(sessionId, samples = nAOSamples)[0]

algo.endBakingSession(sessionId)

```
