Unreal OpenAI API 1.0.0
ImageAction.h
1// OpenAI, Copyright LifeEXE. All Rights Reserved.
2
3#pragma once
4
5#include "Kismet/BlueprintAsyncActionBase.h"
6#include "Provider/Types/ImageTypes.h"
7#include "Provider/Types/CommonTypes.h"
8#include "ImageAction.generated.h"
9
10DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(
11 FOnImage, const FImageResponse&, Response, const FOpenAIResponseMetadata&, ResponseMetadata, const FOpenAIError&, RawError);
12
13class UOpenAIProvider;
14
15UCLASS()
16class UImageAction : public UBlueprintAsyncActionBase
17{
18 GENERATED_BODY()
19
20public:
21 UPROPERTY(BlueprintAssignable)
22 FOnImage OnCompleted;
23
24 virtual void Activate() override;
25
26private:
31 UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true"), Category = "OpenAI | Images")
32 static UImageAction* CreateImage(const FOpenAIImage& Image, const FOpenAIAuth& Auth, const FString& URLOverride);
33
34 void TryToOverrideURL();
35
36 void OnCreateImageCompleted(const FImageResponse& Response, const FOpenAIResponseMetadata& ResponseMetadata);
37 void OnRequestError(const FString& URL, const FString& Content);
38
39private:
40 UPROPERTY()
41 TObjectPtr<UOpenAIProvider> Provider;
42 FOpenAIImage Image;
43 FOpenAIAuth Auth;
44 FString URLOverride{};
45};
Definition: ImageAction.h:17
Definition: OpenAIProvider.h:45
void CreateImage(const FOpenAIImage &Image, const FOpenAIAuth &Auth)
Definition: OpenAIProvider.cpp:92
Definition: ImageTypes.h:261
Definition: CommonTypes.h:11
Definition: CommonTypes.h:28
Definition: ImageTypes.h:61
Definition: CommonTypes.h:49