public static async Task GenerateCard(
            [QueueTrigger("%input-queue%")] CardInfoMessage cardInfo,
            [Blob("%input-container%/{BlobName}", FileAccess.Read)] byte[] image,
            [Blob("%output-container%/{BlobName}", FileAccess.Write)] Stream outputBlob,
            TraceWriter log, ExecutionContext context)
        {
            Emotion[] faceDataArray = await RecognizeEmotionAsync(image, log);

            if (faceDataArray == null)
            {
                log.Error("No result from Emotion API");
                return;
            }

            if (faceDataArray.Length == 0)
            {
                log.Error("No face detected in image");
                return;
            }

            var faceData = faceDataArray[0];

            var testscores = new EmotionScores {
                Happiness = 1
            };
            string cardPath = GetCardImageAndScores(faceDataArray[0].Scores, out double score, context.FunctionDirectory); // assume exactly one face

            MergeCardImage(cardPath, image, outputBlob, cardInfo.PersonName, cardInfo.Title, score);

            //SaveAsJpeg(card, outputBlob);
        }
 public static CardInfoMessage RequestImageProcessing([HttpTrigger(AuthorizationLevel.Anonymous, new string[] { "POST" })] CardInfoMessage input, TraceWriter log)
 {
     return(input);
 }