Class FluentApiRequestCallerExt
Beginner-friendly fluent extension methods that create request objects for generative AI.
These helpers do not send any network calls until you invoke .ExecuteAsync().
- Pattern:
host.GENXxx().SetModel(...).ExecuteAsync() - Thin factories only; they return strongly-typed
*Requestobjects. - No background work, no I/O, no async until
.ExecuteAsync().
public static class FluentApiRequestCallerExt
- Inheritance
-
objectFluentApiRequestCallerExt
Methods
CountTokens(Message)
Create a token counting request for a message.
public static CountTokensRequest CountTokens(this Message message)
Parameters
messageMessage
Returns
CountTokens(string)
Create a token counting request for a message.
public static CountTokensRequest CountTokens(this string text)
Parameters
textstring
Returns
DeleteFile(Api, string)
Create a delete-file request by provider file ID.
public static FileDeleteRequest DeleteFile(this Api api, string fileId)
Parameters
apiApifileIdstring
Returns
DeleteModel(Api, string)
Delete a custom/fine-tuned model by ID.
public static DeleteModelRequest DeleteModel(this Api api, string modelId)
Parameters
apiApimodelIdstring
Returns
DownloadFile(Api, string)
Create a download-file request by provider file ID.
public static FileDownloadRequest DownloadFile(this Api api, string fileId)
Parameters
apiApifileIdstring
Returns
FineTuneModel(Model, string)
Start a fine-tuning job using a base model and training file.
public static FineTuningRequest FineTuneModel(this Model fineTunedModel, string trainingFileId)
Parameters
fineTunedModelModeltrainingFileIdstring
Returns
GENAudioIsolation(AudioClip)
Create an audio isolation/enhancement request.
public static AudioIsolationRequest GENAudioIsolation(this AudioClip prompt)
Parameters
promptAudioClip
Returns
GENAudioIsolation(File<AudioClip>)
public static AudioIsolationRequest GENAudioIsolation(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
GENCode(Prompt)
Create a code generation/refactor request.
var res = "C# quicksort".GENCode().ExecuteAsync();
public static CodeGenerationRequest GENCode(this Prompt prompt)
Parameters
promptPromptPrompt describing code you want.
Returns
GENCode(string)
Create a code generation/refactor request.
var res = "C# quicksort".GENCode().ExecuteAsync();
public static CodeGenerationRequest GENCode(this string prompt)
Parameters
promptstringPrompt describing code you want.
Returns
GENCompletion(Message)
Create a ChatCompletions API request.
var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();
public static ChatCompletionRequest GENCompletion(this Message message)
Parameters
messageMessageUser message.
Returns
GENCompletion(Prompt)
Create a ChatCompletions API request.
var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();
public static ChatCompletionRequest GENCompletion(this Prompt prompt)
Parameters
promptPrompt
Returns
GENCompletion(string)
Create a ChatCompletions API request.
var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();
public static ChatCompletionRequest GENCompletion(this string text)
Parameters
textstring
Returns
GENEmbed(string)
Create a text embedding request for a single input.
public static EmbeddingRequest GENEmbed(this string prompt)
Parameters
promptstring
Returns
GENEmbed(string[])
Create a text embedding request for multiple inputs.
public static EmbeddingRequest GENEmbed(this string[] prompts)
Parameters
promptsstring[]
Returns
GENImage(Prompt)
Create a text-to-image request.
var img = "neon fox".GENImage().SetModel("gpt-image-1").ExecuteAsync();
public static ImageGenerationRequest GENImage(this Prompt prompt)
Parameters
promptPromptText prompt.
Returns
GENImage(string)
Create a text-to-image request.
var img = "neon fox".GENImage().SetModel("gpt-image-1").ExecuteAsync();
public static ImageGenerationRequest GENImage(this string prompt)
Parameters
promptstringText prompt.
Returns
GENInpaint(File<Texture2D>, string)
Create an image edit / inpainting request.
public static ImageInpaintingRequest GENInpaint(this File<Texture2D> promptFile, string instruction)
Parameters
promptFileFile<Texture2D>instructionstring
Returns
GENInpaint(ImagePrompt)
Create an image edit / inpainting request.
public static ImageInpaintingRequest GENInpaint(this ImagePrompt prompt)
Parameters
promptImagePromptImage + instruction.
Returns
GENInpaint(Sprite, string)
Create an image edit / inpainting request.
public static ImageInpaintingRequest GENInpaint(this Sprite prompt, string instruction)
Parameters
promptSpriteImage + instruction.
instructionstring
Returns
GENInpaint(Texture2D, string)
Create an image edit / inpainting request.
public static ImageInpaintingRequest GENInpaint(this Texture2D prompt, string instruction)
Parameters
promptTexture2DImage + instruction.
instructionstring
Returns
GENModeration(IModeratable, IEnumerable<SafetySetting>)
Create a content moderation request for text.
public static ModerationRequest GENModeration(this IModeratable moderatable, IEnumerable<SafetySetting> settings)
Parameters
moderatableIModeratablesettingsIEnumerable<SafetySetting>Optional provider-specific safety settings.
Returns
GENModeration(ModerationPrompt, IEnumerable<SafetySetting>)
Create a content moderation request for text.
public static ModerationRequest GENModeration(this ModerationPrompt prompt, IEnumerable<SafetySetting> settings)
Parameters
promptModerationPromptContent to analyze.
settingsIEnumerable<SafetySetting>Optional provider-specific safety settings.
Returns
GENModeration(string, IEnumerable<SafetySetting>)
Create a content moderation request for text.
public static ModerationRequest GENModeration(this string prompt, IEnumerable<SafetySetting> settings)
Parameters
promptstringContent to analyze.
settingsIEnumerable<SafetySetting>Optional provider-specific safety settings.
Returns
GENResponse(ConversationItem)
Create a Responses API request (most capable text generation).
var res = "Write a spec".GENResponse().SetModel("gpt-5").ExecuteAsync();
public static ResponseRequest GENResponse(this ConversationItem conversationItem)
Parameters
conversationItemConversationItem
Returns
GENResponse(Prompt)
Create a Responses API request (most capable text generation).
var res = "Write a spec".GENResponse().SetModel("gpt-5").ExecuteAsync();
public static ResponseRequest GENResponse(this Prompt prompt)
Parameters
promptPromptPrompt content.
Returns
GENResponse(string)
Create a Responses API request (most capable text generation).
var res = "Write a spec".GENResponse().SetModel("gpt-5").ExecuteAsync();
public static ResponseRequest GENResponse(this string prompt)
Parameters
promptstringPrompt content.
Returns
GENSoundEffect(Prompt)
Create a sound-effect generation request.
public static SoundEffectGenerationRequest GENSoundEffect(this Prompt prompt)
Parameters
promptPrompt
Returns
GENSoundEffect(string)
Create a sound-effect generation request.
public static SoundEffectGenerationRequest GENSoundEffect(this string prompt)
Parameters
promptstring
Returns
GENSpeech(Prompt)
Create a text-to-speech request.
var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();
public static SpeechGenerationRequest GENSpeech(this Prompt prompt)
Parameters
promptPromptText to synthesize.
Returns
GENSpeech(string)
Create a text-to-speech request.
var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();
public static SpeechGenerationRequest GENSpeech(this string prompt)
Parameters
promptstringText to synthesize.
Returns
GENStruct<T>(Prompt)
Create a structured JSON output request mapped to T.
T should be annotated with schema attributes.
public static StructuredOutputRequest<T> GENStruct<T>(this Prompt prompt) where T : class
Parameters
promptPrompt
Returns
Type Parameters
T
GENStruct<T>(string)
Create a structured JSON output request mapped to T.
T should be annotated with schema attributes.
public static StructuredOutputRequest<T> GENStruct<T>(this string prompt) where T : class
Parameters
promptstring
Returns
Type Parameters
T
GENTranscript(AudioClip)
Create a speech-to-text transcription request.
public static TranscriptionRequest GENTranscript(this AudioClip prompt)
Parameters
promptAudioClipAudio to transcribe.
Returns
GENTranscript(File<AudioClip>)
public static TranscriptionRequest GENTranscript(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
GENTranslation(AudioClip)
Create a speech translation (any→English) request.
public static SpeechTranslationRequest GENTranslation(this AudioClip prompt)
Parameters
promptAudioClipSource audio.
Returns
GENTranslation(File<AudioClip>)
public static SpeechTranslationRequest GENTranslation(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
GENVideo(ImagePrompt)
public static VideoGenerationRequest GENVideo(this ImagePrompt prompt)
Parameters
promptImagePrompt
Returns
GENVideo(string)
Create a video generation request (text→video or image→video).
public static VideoGenerationRequest GENVideo(this string prompt)
Parameters
promptstringText prompt.
Returns
GENVideo(Texture2D)
Create a video generation request from an image.
public static VideoGenerationRequest GENVideo(this Texture2D prompt)
Parameters
promptTexture2DSource texture.
Returns
GENVoiceChange(AudioClip)
Create a voice conversion request.
public static VoiceChangeRequest GENVoiceChange(this AudioClip prompt)
Parameters
promptAudioClip
Returns
GENVoiceChange(File<AudioClip>)
public static VoiceChangeRequest GENVoiceChange(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
GetCredits(Api)
public static GetCreditsRequest GetCredits(this Api api)
Parameters
apiApi
Returns
GetCustomModel(Api, string)
Fetch a single custom/fine-tuned model by ID.
public static GetCustomModelRequest GetCustomModel(this Api api, string modelId)
Parameters
apiApimodelIdstring
Returns
GetModel(Api, string)
Fetch a single public model by ID.
public static GetModelRequest GetModel(this Api api, string modelId)
Parameters
apiApimodelIdstring
Returns
GetVoice(Api, string)
Fetch a built-in voice by ID.
public static GetVoiceRequest GetVoice(this Api api, string voiceId)
Parameters
apiApivoiceIdstring
Returns
ImageToImage(File<Texture2D>, string)
Alias for image-to-image/edit.
public static ImageInpaintingRequest ImageToImage(this File<Texture2D> promptFile, string instruction)
Parameters
promptFileFile<Texture2D>instructionstring
Returns
ImageToImage(ImagePrompt)
Alias for image-to-image/edit.
public static ImageInpaintingRequest ImageToImage(this ImagePrompt prompt)
Parameters
promptImagePromptImage + instruction.
Returns
ImageToImage(Sprite, string)
Alias for image-to-image/edit.
public static ImageInpaintingRequest ImageToImage(this Sprite prompt, string instruction)
Parameters
promptSpriteImage + instruction.
instructionstring
Returns
ImageToImage(Texture2D, string)
Alias for image-to-image/edit.
public static ImageInpaintingRequest ImageToImage(this Texture2D prompt, string instruction)
Parameters
promptTexture2DImage + instruction.
instructionstring
Returns
ListCustomModels(Api)
List custom/fine-tuned models for the project.
public static ListCustomModelsRequest ListCustomModels(this Api api)
Parameters
apiApi
Returns
ListCustomVoices(Api)
List user/custom voices if supported by provider.
public static ListCustomVoicesRequest ListCustomVoices(this Api api)
Parameters
apiApi
Returns
ListFiles(Api, IQuery)
Create a list-files request.
public static ListFilesRequest ListFiles(this Api api, IQuery query = null)
Parameters
apiApiqueryIQuery
Returns
ListModels(Api)
List public models available to the current account.
public static ListModelsRequest ListModels(this Api api)
Parameters
apiApi
Returns
ListVoices(Api)
List built-in voices from provider.
public static ListVoicesRequest ListVoices(this Api api)
Parameters
apiApi
Returns
SpeechToEnglish(AudioClip)
public static SpeechTranslationRequest SpeechToEnglish(this AudioClip prompt)
Parameters
promptAudioClip
Returns
SpeechToEnglish(File<AudioClip>)
public static SpeechTranslationRequest SpeechToEnglish(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
SpeechToText(AudioClip)
public static TranscriptionRequest SpeechToText(this AudioClip prompt)
Parameters
promptAudioClip
Returns
SpeechToText(File<AudioClip>)
public static TranscriptionRequest SpeechToText(this File<AudioClip> promptFile)
Parameters
promptFileFile<AudioClip>
Returns
TextToImage(Prompt)
Create a text-to-image request.
var img = "neon fox".GENImage().SetModel("gpt-image-1").ExecuteAsync();
public static ImageGenerationRequest TextToImage(this Prompt prompt)
Parameters
promptPromptText prompt.
Returns
TextToImage(string)
Create a text-to-image request.
var img = "neon fox".GENImage().SetModel("gpt-image-1").ExecuteAsync();
public static ImageGenerationRequest TextToImage(this string prompt)
Parameters
promptstringText prompt.
Returns
TextToSpeech(Prompt)
Create a text-to-speech request.
var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();
public static SpeechGenerationRequest TextToSpeech(this Prompt prompt)
Parameters
promptPromptText to synthesize.
Returns
TextToSpeech(string)
Create a text-to-speech request.
var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();
public static SpeechGenerationRequest TextToSpeech(this string prompt)
Parameters
promptstringText to synthesize.
Returns
Tokenize(Prompt)
Create a tokenization request for a prompt.
public static TokenizeRequest Tokenize(this Prompt prompt)
Parameters
promptPrompt
Returns
Tokenize(string)
Create a tokenization request for a prompt.
public static TokenizeRequest Tokenize(this string text)
Parameters
textstring
Returns
UploadAudio(Api, AudioClip)
Create an upload request for an AudioClip (WAV).
public static FileUploadRequest UploadAudio(this Api api, AudioClip clip)
Parameters
apiApiclipAudioClip
Returns
UploadFile(Api, IFile)
Create an upload request for an arbitrary file (fine-tune, RAG, tools, etc.).
public static FileUploadRequest UploadFile(this Api api, IFile file)
Parameters
apiApifileIFile
Returns
UploadImage(Api, Texture2D)
Create an upload request for a Texture2D (PNG).
public static FileUploadRequest UploadImage(this Api api, Texture2D tex)
Parameters
apiApitexTexture2D
Returns
UploadScreenshot(Api)
Create an upload request for the current screen as PNG.
public static FileUploadRequest UploadScreenshot(this Api api)
Parameters
apiApi