Table of Contents

Class FluentApiRequestCallerExt

Namespace
Glitch9.AIDevKit

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 *Request objects.
  • No background work, no I/O, no async until .ExecuteAsync().
public static class FluentApiRequestCallerExt
Inheritance
object
FluentApiRequestCallerExt

Methods

CountTokens(Message)

Create a token counting request for a message.

public static CountTokensRequest CountTokens(this Message message)

Parameters

message Message

Returns

CountTokensRequest

CountTokens(string)

Create a token counting request for a message.

public static CountTokensRequest CountTokens(this string text)

Parameters

text string

Returns

CountTokensRequest

DeleteFile(Api, string)

Create a delete-file request by provider file ID.

public static FileDeleteRequest DeleteFile(this Api api, string fileId)

Parameters

api Api
fileId string

Returns

FileDeleteRequest

DeleteModel(Api, string)

Delete a custom/fine-tuned model by ID.

public static DeleteModelRequest DeleteModel(this Api api, string modelId)

Parameters

api Api
modelId string

Returns

DeleteModelRequest

DownloadFile(Api, string)

Create a download-file request by provider file ID. Currently implemented for Anthropic adapter only.

public static FileDownloadRequest DownloadFile(this Api api, string fileId)

Parameters

api Api
fileId string

Returns

FileDownloadRequest

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

fineTunedModel Model
trainingFileId string

Returns

FineTuningRequest

GENAudioIsolation(AudioClip)

Create an audio isolation/enhancement request.

public static AudioIsolationRequest GENAudioIsolation(this AudioClip prompt)

Parameters

prompt AudioClip

Returns

AudioIsolationRequest

GENAudioIsolation(File<AudioClip>)

public static AudioIsolationRequest GENAudioIsolation(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

AudioIsolationRequest

GENCode(Prompt)

Create a code generation/refactor request.

var res = "C# quicksort".GENCode().ExecuteAsync();

public static CodeGenerationRequest GENCode(this Prompt prompt)

Parameters

prompt Prompt

Prompt describing code you want.

Returns

CodeGenerationRequest

CodeGenerationRequest

GENCode(string)

Create a code generation/refactor request.

var res = "C# quicksort".GENCode().ExecuteAsync();

public static CodeGenerationRequest GENCode(this string prompt)

Parameters

prompt string

Prompt describing code you want.

Returns

CodeGenerationRequest

CodeGenerationRequest

GENCompletion(Message)

Create a ChatCompletions API request. Use for general chat/text outputs.

var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();

public static ChatCompletionRequest GENCompletion(this Message message)

Parameters

message Message

User message.

Returns

ChatCompletionRequest

ChatCompletionRequest

GENCompletion(Prompt)

Create a ChatCompletions API request. Use for general chat/text outputs.

var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();

public static ChatCompletionRequest GENCompletion(this Prompt prompt)

Parameters

prompt Prompt

Returns

ChatCompletionRequest

ChatCompletionRequest

GENCompletion(string)

Create a ChatCompletions API request. Use for general chat/text outputs.

var res = "Explain RAG".GENCompletion().SetModel("gpt-4o").ExecuteAsync();

public static ChatCompletionRequest GENCompletion(this string text)

Parameters

text string

Returns

ChatCompletionRequest

ChatCompletionRequest

GENEmbed(string)

Create a text embedding request for a single input.

public static EmbeddingRequest GENEmbed(this string prompt)

Parameters

prompt string

Returns

EmbeddingRequest

GENEmbed(string[])

Create a text embedding request for multiple inputs.

public static EmbeddingRequest GENEmbed(this string[] prompts)

Parameters

prompts string[]

Returns

EmbeddingRequest

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

prompt Prompt

Text prompt.

Returns

ImageGenerationRequest

ImageGenerationRequest

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

prompt string

Text prompt.

Returns

ImageGenerationRequest

ImageGenerationRequest

GENInpaint(File<Texture2D>, string)

Create an image edit / inpainting request. Select a provider/model that supports editing.

public static ImageInpaintingRequest GENInpaint(this File<Texture2D> promptFile, string instruction)

Parameters

promptFile File<Texture2D>
instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

GENInpaint(ImagePrompt)

Create an image edit / inpainting request. Select a provider/model that supports editing.

public static ImageInpaintingRequest GENInpaint(this ImagePrompt prompt)

Parameters

prompt ImagePrompt

Image + instruction.

Returns

ImageInpaintingRequest

ImageInpaintingRequest

GENInpaint(Sprite, string)

Create an image edit / inpainting request. Select a provider/model that supports editing.

public static ImageInpaintingRequest GENInpaint(this Sprite prompt, string instruction)

Parameters

prompt Sprite

Image + instruction.

instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

GENInpaint(Texture2D, string)

Create an image edit / inpainting request. Select a provider/model that supports editing.

public static ImageInpaintingRequest GENInpaint(this Texture2D prompt, string instruction)

Parameters

prompt Texture2D

Image + instruction.

instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

GENModeration(IModeratable, IEnumerable<SafetySetting>)

Create a content moderation request for text.

public static ModerationRequest GENModeration(this IModeratable moderatable, IEnumerable<SafetySetting> settings)

Parameters

moderatable IModeratable
settings IEnumerable<SafetySetting>

Optional provider-specific safety settings.

Returns

ModerationRequest

ModerationRequest

GENModeration(ModerationPrompt, IEnumerable<SafetySetting>)

Create a content moderation request for text.

public static ModerationRequest GENModeration(this ModerationPrompt prompt, IEnumerable<SafetySetting> settings)

Parameters

prompt ModerationPrompt

Content to analyze.

settings IEnumerable<SafetySetting>

Optional provider-specific safety settings.

Returns

ModerationRequest

ModerationRequest

GENModeration(string, IEnumerable<SafetySetting>)

Create a content moderation request for text.

public static ModerationRequest GENModeration(this string prompt, IEnumerable<SafetySetting> settings)

Parameters

prompt string

Content to analyze.

settings IEnumerable<SafetySetting>

Optional provider-specific safety settings.

Returns

ModerationRequest

ModerationRequest

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

conversationItem ConversationItem

Returns

ResponseRequest

ResponseRequest

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

prompt Prompt

Prompt content.

Returns

ResponseRequest

ResponseRequest

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

prompt string

Prompt content.

Returns

ResponseRequest

ResponseRequest

GENSoundEffect(Prompt)

Create a sound-effect generation request.

public static SoundEffectGenerationRequest GENSoundEffect(this Prompt prompt)

Parameters

prompt Prompt

Returns

SoundEffectGenerationRequest

GENSoundEffect(string)

Create a sound-effect generation request.

public static SoundEffectGenerationRequest GENSoundEffect(this string prompt)

Parameters

prompt string

Returns

SoundEffectGenerationRequest

GENSpeech(Prompt)

Create a text-to-speech request.

var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();

public static SpeechGenerationRequest GENSpeech(this Prompt prompt)

Parameters

prompt Prompt

Text to synthesize.

Returns

SpeechGenerationRequest

SpeechGenerationRequest

GENSpeech(string)

Create a text-to-speech request.

var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();

public static SpeechGenerationRequest GENSpeech(this string prompt)

Parameters

prompt string

Text to synthesize.

Returns

SpeechGenerationRequest

SpeechGenerationRequest

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

prompt Prompt

Returns

StructuredOutputRequest<T>

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

prompt string

Returns

StructuredOutputRequest<T>

Type Parameters

T

GENTranscript(AudioClip)

Create a speech-to-text transcription request.

public static TranscriptionRequest GENTranscript(this AudioClip prompt)

Parameters

prompt AudioClip

Audio to transcribe.

Returns

TranscriptionRequest

TranscriptionRequest

GENTranscript(File<AudioClip>)

public static TranscriptionRequest GENTranscript(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

TranscriptionRequest

GENTranslation(AudioClip)

Create a speech translation (any→English) request.

public static SpeechTranslationRequest GENTranslation(this AudioClip prompt)

Parameters

prompt AudioClip

Source audio.

Returns

SpeechTranslationRequest

SpeechTranslationRequest

GENTranslation(File<AudioClip>)

public static SpeechTranslationRequest GENTranslation(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

SpeechTranslationRequest

GENVideo(ImagePrompt)

public static VideoGenerationRequest GENVideo(this ImagePrompt prompt)

Parameters

prompt ImagePrompt

Returns

VideoGenerationRequest

GENVideo(string)

Create a video generation request (text→video or image→video).

public static VideoGenerationRequest GENVideo(this string prompt)

Parameters

prompt string

Text prompt.

Returns

VideoGenerationRequest

VideoGenerationRequest

GENVideo(Texture2D)

Create a video generation request from an image.

public static VideoGenerationRequest GENVideo(this Texture2D prompt)

Parameters

prompt Texture2D

Source texture.

Returns

VideoGenerationRequest

VideoGenerationRequest

GENVoiceChange(AudioClip)

Create a voice conversion request.

public static VoiceChangeRequest GENVoiceChange(this AudioClip prompt)

Parameters

prompt AudioClip

Returns

VoiceChangeRequest

GENVoiceChange(File<AudioClip>)

public static VoiceChangeRequest GENVoiceChange(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

VoiceChangeRequest

GetCredits(Api)

public static GetCreditsRequest GetCredits(this Api api)

Parameters

api Api

Returns

GetCreditsRequest

GetCustomModel(Api, string)

Fetch a single custom/fine-tuned model by ID.

public static GetCustomModelRequest GetCustomModel(this Api api, string modelId)

Parameters

api Api
modelId string

Returns

GetCustomModelRequest

GetModel(Api, string)

Fetch a single public model by ID.

public static GetModelRequest GetModel(this Api api, string modelId)

Parameters

api Api
modelId string

Returns

GetModelRequest

GetVoice(Api, string)

Fetch a built-in voice by ID.

public static GetVoiceRequest GetVoice(this Api api, string voiceId)

Parameters

api Api
voiceId string

Returns

GetVoiceRequest

ImageToImage(File<Texture2D>, string)

Alias for image-to-image/edit.

public static ImageInpaintingRequest ImageToImage(this File<Texture2D> promptFile, string instruction)

Parameters

promptFile File<Texture2D>
instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

ImageToImage(ImagePrompt)

Alias for image-to-image/edit.

public static ImageInpaintingRequest ImageToImage(this ImagePrompt prompt)

Parameters

prompt ImagePrompt

Image + instruction.

Returns

ImageInpaintingRequest

ImageInpaintingRequest

ImageToImage(Sprite, string)

Alias for image-to-image/edit.

public static ImageInpaintingRequest ImageToImage(this Sprite prompt, string instruction)

Parameters

prompt Sprite

Image + instruction.

instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

ImageToImage(Texture2D, string)

Alias for image-to-image/edit.

public static ImageInpaintingRequest ImageToImage(this Texture2D prompt, string instruction)

Parameters

prompt Texture2D

Image + instruction.

instruction string

Returns

ImageInpaintingRequest

ImageInpaintingRequest

ListCustomModels(Api)

List custom/fine-tuned models for the project.

public static ListCustomModelsRequest ListCustomModels(this Api api)

Parameters

api Api

Returns

ListCustomModelsRequest

ListCustomVoices(Api)

List user/custom voices if supported by provider.

public static ListCustomVoicesRequest ListCustomVoices(this Api api)

Parameters

api Api

Returns

ListCustomVoicesRequest

ListFiles(Api, IQuery)

Create a list-files request.

public static ListFilesRequest ListFiles(this Api api, IQuery query = null)

Parameters

api Api
query IQuery

Returns

ListFilesRequest

ListModels(Api)

List public models available to the current account.

public static ListModelsRequest ListModels(this Api api)

Parameters

api Api

Returns

ListModelsRequest

ListVoices(Api)

List built-in voices from provider.

public static ListVoicesRequest ListVoices(this Api api)

Parameters

api Api

Returns

ListVoicesRequest

SpeechToEnglish(AudioClip)

public static SpeechTranslationRequest SpeechToEnglish(this AudioClip prompt)

Parameters

prompt AudioClip

Returns

SpeechTranslationRequest

SpeechToEnglish(File<AudioClip>)

public static SpeechTranslationRequest SpeechToEnglish(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

SpeechTranslationRequest

SpeechToText(AudioClip)

public static TranscriptionRequest SpeechToText(this AudioClip prompt)

Parameters

prompt AudioClip

Returns

TranscriptionRequest

SpeechToText(File<AudioClip>)

public static TranscriptionRequest SpeechToText(this File<AudioClip> promptFile)

Parameters

promptFile File<AudioClip>

Returns

TranscriptionRequest

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

prompt Prompt

Text prompt.

Returns

ImageGenerationRequest

ImageGenerationRequest

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

prompt string

Text prompt.

Returns

ImageGenerationRequest

ImageGenerationRequest

TextToSpeech(Prompt)

Create a text-to-speech request.

var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();

public static SpeechGenerationRequest TextToSpeech(this Prompt prompt)

Parameters

prompt Prompt

Text to synthesize.

Returns

SpeechGenerationRequest

SpeechGenerationRequest

TextToSpeech(string)

Create a text-to-speech request.

var wav = "Hello".GENSpeech().SetVoice("alloy").ExecuteAsync();

public static SpeechGenerationRequest TextToSpeech(this string prompt)

Parameters

prompt string

Text to synthesize.

Returns

SpeechGenerationRequest

SpeechGenerationRequest

Tokenize(Prompt)

Create a tokenization request for a prompt.

public static TokenizeRequest Tokenize(this Prompt prompt)

Parameters

prompt Prompt

Returns

TokenizeRequest

Tokenize(string)

Create a tokenization request for a prompt.

public static TokenizeRequest Tokenize(this string text)

Parameters

text string

Returns

TokenizeRequest

UploadAudio(Api, AudioClip)

Create an upload request for an AudioClip (WAV).

public static FileUploadRequest UploadAudio(this Api api, AudioClip clip)

Parameters

api Api
clip AudioClip

Returns

FileUploadRequest

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

api Api
file IFile

Returns

FileUploadRequest

UploadImage(Api, Texture2D)

Create an upload request for a Texture2D (PNG).

public static FileUploadRequest UploadImage(this Api api, Texture2D tex)

Parameters

api Api
tex Texture2D

Returns

FileUploadRequest

UploadScreenshot(Api)

Create an upload request for the current screen as PNG.

public static FileUploadRequest UploadScreenshot(this Api api)

Parameters

api Api

Returns

FileUploadRequest