usingvarclient=newRunwayClient(apiKey);varresponse=awaitclient.StartGenerating.CreateImageToVideoAsync(xRunwayVersion:"2024-11-06",request:newCreateImageToVideoRequestGen3aTurbo{PromptImage="https://example.com/photo.jpg",PromptText="A gentle zoom into the scene",Model="gen3a_turbo",Duration=5,Ratio=CreateImageToVideoRequestGen3aTurboRatio.x1280_768,});Console.WriteLine($"Task ID: {response.Id}");// Poll the task until it reaches a terminal state.GetTasksResponsetaskDetail;do{taskDetail=awaitclient.TaskManagement.GetTasksByIdAsync(id:response.Id,xRunwayVersion:"2024-11-06");if(taskDetail.IsRunning){Console.WriteLine($"Progress: {taskDetail.Running!.Progress}");}awaitTask.Delay(TimeSpan.FromSeconds(5));}while(!taskDetail.IsFailed&&!taskDetail.IsSucceeded&&!taskDetail.IsCancelled);// Inspect the result — handle both success and failure cases.if(taskDetail.IsSucceeded){foreach(varoutputintaskDetail.Succeeded!.Output){Console.WriteLine($"Output URL: {output}");}}elseif(taskDetail.IsFailed){Console.WriteLine($"Failure reason: {taskDetail.Failed!.Failure}");Console.WriteLine($"Failure code: {taskDetail.Failed.FailureCode}");}elseif(taskDetail.IsCancelled){Console.WriteLine("Task was cancelled.");}