Unreal OpenAI API 1.0.0
Loading...
Searching...
No Matches
SpeechAction.h
1// OpenAI, Copyright LifeEXE. All Rights Reserved.
2
3#pragma once
4
5#include "BlueprintAsyncActions/OpenAIActionBase.h"
6#include "Provider/Types/AudioTypes.h"
7#include "Provider/Types/OpenAICommonTypes.h"
8#include "Misc/Paths.h"
9#include "SpeechAction.generated.h"
10
11USTRUCT(BlueprintType)
13{
14 GENERATED_BODY()
15
16 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
17 FSpeechResponse Response;
18
19 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
20 FString FilePath{};
21};
22
23USTRUCT(BlueprintType)
25{
26 GENERATED_BODY()
27
28 UPROPERTY(BlueprintReadWrite, Category = "OpenAI")
29 FString AbsolutePath{FPaths::ProjectPluginsDir().Append("OpenAI/Saved")};
30
31 UPROPERTY(BlueprintReadWrite, Category = "OpenAI")
32 FString BaseName{"speech"};
33
34 UPROPERTY(BlueprintReadWrite, Category = "OpenAI")
35 bool AppendDate{true};
36
37 UPROPERTY(BlueprintReadWrite, Category = "OpenAI")
38 bool SaveToFile{true};
39};
40
41DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(
42 FOnSpeech, const FSpeechPayload&, Response, const FOpenAIResponseMetadata&, ResponseMetadata, const FOpenAIError&, RawError);
43
44UCLASS()
45class OPENAI_API USpeechAction : public UOpenAIActionBase
46{
47 GENERATED_BODY()
48
49public:
50 UPROPERTY(BlueprintAssignable)
51 FOnSpeech OnCompleted;
52
53 virtual void Activate() override;
54
55private:
60 UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true"), Category = "OpenAI | Audio")
62 const FSpeech& Speech, const FOpenAIAuth& Auth, const FString& URLOverride, const FSpeechSettings& Settings);
63
64 void OnCreateSpeechCompleted(const FSpeechResponse& Response, const FOpenAIResponseMetadata& ResponseMetadata);
65 virtual void OnRequestError(const FString& URL, const FString& Content) override;
66 virtual void SetEndpoint(OpenAI::V1::FOpenAIEndpoints& Endpoints, const FString& URL) const override;
67
68private:
69 FSpeech Speech;
70 FSpeechSettings Settings;
71};
Definition OpenAIActionBase.h:12
Definition SpeechAction.h:46
static USpeechAction * CreateSpeech(const FSpeech &Speech, const FOpenAIAuth &Auth, const FString &URLOverride, const FSpeechSettings &Settings)
Definition SpeechAction.cpp:9
Definition OpenAICommonTypes.h:11
Definition OpenAICommonTypes.h:28
Definition OpenAICommonTypes.h:49
Definition AudioTypes.h:141
Definition SpeechAction.h:13
Definition AudioTypes.h:371
Definition SpeechAction.h:25
Definition API.h:127