Get the initial camera location in sequencer with python

Hey guys I’m working on automating things on my cameras, I have camera on levels that I generated and I wrote a python script to generate either for the clicked camera or for all cameras in scene their own level sequencer, I added tracks , camerashake track and all but I’m having issue is that the camera resets its position since the transform track when added is set to 0,0,0 and the camera is bind to that level sequence.
I’m still learning the Python API for UE so might have missed something

I didn’t understand how to do that in python I know it has something to do with accessing channels/double channels and add_key to channel X,Y,Z with camera initial location.
I did so with blueprint but if possible would like to get it all in python here’s my code for the generation of level sequencer of a clicked camera :

#test_spawn for one camera(a effacer)




import unreal
    	 
 
ls_system = unreal.get_editor_subsystem(unreal.LevelSequenceEditorSubsystem)
selected_actors=unreal.EditorLevelLibrary.get_selected_level_actors()
camera_actor=None

def populate_track(sequence, track, num_sections = 1, section_length_seconds = 1):

	for i in range(num_sections):
		section = track.add_section()
		section.set_start_frame_seconds(i*section_length_seconds)
		section.set_end_frame_seconds(section_length_seconds)
		
def populate_binding(sequence, binding, num_sections = 1, section_length_seconds = 10):
	for track in binding.get_tracks():
		populate_track(sequence, track, num_sections, section_length_seconds)
            
#voir si dans les acteurs selectionne y a une cinecam

for actor in selected_actors:
    if isinstance(actor,unreal.CineCameraActor):
        camera_actor=actor
        unreal.log_warning("is found")
        break

if not camera_actor:
    unreal.log_warning("No cine camera is found")

else:
    
    #créer le level sequencer de la camera selectionee 
    cam_name=camera_actor.get_actor_label()
    Myasset_name=f"{cam_name}_LS"
    Mypackage_path= "/Game/Cinematics/Sequences"

    Myfactory=unreal.LevelSequenceFactoryNew()
    asset_tools = unreal.AssetToolsHelpers.get_asset_tools()
    level_sequence= asset_tools.create_asset(
        asset_name=Myasset_name,
        package_path=Mypackage_path,
        asset_class=unreal.LevelSequence,
        factory=Myfactory

    )
    
    #rajouter la caméra selectionnee comme possesable 

    binding=level_sequence.add_possessable(camera_actor)
    

    unreal.EditorAssetLibrary.save_loaded_asset(level_sequence)

#rajouter les track et sections
start_frame = level_sequence.get_playback_start()
end_frame = level_sequence.get_playback_end()
camera = unreal.CineCameraActor.cast(camera_actor)
camera_cut_track = level_sequence.add_track(unreal.MovieSceneCameraCutTrack)

# Add a camera cut track for this camera
camera_cut_section = camera_cut_track.add_section()
camera_cut_section.set_range(start_frame,end_frame)
camera_binding_id = unreal.MovieSceneObjectBindingID()
camera_binding_id.set_editor_property("Guid", binding.get_id())
camera_cut_section.set_editor_property("CameraBindingID", camera_binding_id)

# Add a camera transform track
transform_track = binding.add_track(unreal.MovieScene3DTransformTrack)
transform_section = transform_track.add_section()

# Add a shake track
transform_section.set_range(start_frame, end_frame)
populate_track(level_sequence, transform_track, 1, 5)
shake_track=binding.add_track(unreal.MovieSceneCameraShakeTrack)
shake_section=shake_track.add_section()
shake_section.set_range(start_frame,end_frame)




unreal.LevelSequenceEditorBlueprintLibrary.refresh_current_level_sequence()
   
 #spawn le level sequencer à l'endroit ou se trouve la cam selectionee
spawn_location= camera_actor.get_actor_location()
sequence_actor=unreal.EditorLevelLibrary.spawn_actor_from_class(unreal.LevelSequenceActor,spawn_location)
sequence_actor.set_sequence(level_sequence)