<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def av_convert(self, preset=None, force=None, title=None, extname=None, filename=None, width=None, height=None, upscale=None, aspect_mode=None, two_pass=None, video_bitrate=None, fps=None, keyframe_interval=None, location=None, watermark_url=None, watermark_top=None, watermark_bottom=None, watermark_right=None, watermark_left=None, watermark_width=None, watermark_height=None, path=None, access=None, container=None, audio_bitrate=None, audio_sample_rate=None, audio_channels=None, clip_length=None, clip_offset=None):
 """ ```python from filestack import Client client = Client("<API_KEY>") filelink = client.upload(filepath='path/to/file/doom.mp4') av_convert= filelink.av_convert(width=100, height=100) while av_convert.status != 'completed': print(av_convert.status) filelink = av_convert.to_filelink() print(filelink.url) ``` """


        new_transform = self.add_transform_task('video_convert', locals())
        transform_url = utils.get_transform_url(
            new_transform._transformation_tasks, external_url=new_transform.external_url,
            handle=new_transform.handle, security=new_transform.security,
            apikey=new_transform.apikey, video=True
        )

        response = utils.make_call(transform_url, 'get')

        if not response.ok:
            raise Exception(response.text)

        uuid = response.json()['uuid']
        timestamp = response.json()['timestamp']
        
        return filestack.models.AudioVisual(
            transform_url, uuid, timestamp, apikey=new_transform.apikey, security=new_transform.security
        )