Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
#nullable enable

namespace Ideogram
{
public partial interface IImagesGenerateClient
{
/// <summary>
/// Generate with Nano Banana 2.1<br/>
/// Generate images with Nano Banana 2.1. Optionally upload source images as<br/>
/// `images` using `multipart/form-data` to edit them with the prompt.<br/>
/// Returns results directly by default; set `async` or supply a<br/>
/// `webhook_url` to get a `generation_id` and poll<br/>
/// `GET /v2/generations/{generation_id}`.
/// </summary>
/// <param name="dryRun">
/// Default Value: false
/// </param>
/// <param name="request"></param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::Ideogram.ApiException"></exception>
global::System.Threading.Tasks.Task<global::Ideogram.GenerateImageNanoBanana21Response> PostGenerateImageV2NanoBanana21Async(

global::Ideogram.GenerateImageNanoBanana21Request request,
bool? dryRun = default,
global::Ideogram.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// Generate with Nano Banana 2.1<br/>
/// Generate images with Nano Banana 2.1. Optionally upload source images as<br/>
/// `images` using `multipart/form-data` to edit them with the prompt.<br/>
/// Returns results directly by default; set `async` or supply a<br/>
/// `webhook_url` to get a `generation_id` and poll<br/>
/// `GET /v2/generations/{generation_id}`.
/// </summary>
/// <param name="dryRun">
/// Default Value: false
/// </param>
/// <param name="request"></param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::Ideogram.ApiException"></exception>
global::System.Threading.Tasks.Task<global::Ideogram.AutoSDKHttpResponse<global::Ideogram.GenerateImageNanoBanana21Response>> PostGenerateImageV2NanoBanana21AsResponseAsync(

global::Ideogram.GenerateImageNanoBanana21Request request,
bool? dryRun = default,
global::Ideogram.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// Generate with Nano Banana 2.1<br/>
/// Generate images with Nano Banana 2.1. Optionally upload source images as<br/>
/// `images` using `multipart/form-data` to edit them with the prompt.<br/>
/// Returns results directly by default; set `async` or supply a<br/>
/// `webhook_url` to get a `generation_id` and poll<br/>
/// `GET /v2/generations/{generation_id}`.
/// </summary>
/// <param name="dryRun">
/// Default Value: false
/// </param>
/// <param name="prompt">
/// The prompt to generate images from, or the edit instruction to apply when source images are supplied. It is passed to the model as written.
/// </param>
/// <param name="imageAssetIdentifiers">
/// Existing upload or generated image assets to edit, by reference. Takes priority over `images` if both are supplied.
/// </param>
/// <param name="images">
/// Optional source images to edit (max 10, max 25MB each; JPEG, PNG, or WEBP). Multipart requests only.
/// </param>
/// <param name="aspectRatio">
/// Output aspect ratios Nano Banana 2.1 serves. `auto` lets the model choose the shape; an edit keeps its source image's shape.<br/>
/// Default Value: auto
/// </param>
/// <param name="resolutionTier">
/// The output resolution tier.<br/>
/// Default Value: 1K
/// </param>
/// <param name="numImages">
/// The number of images to generate.<br/>
/// Default Value: 1
/// </param>
/// <param name="seed">
/// Random seed. Set for reproducible generation.<br/>
/// Example: 12345
/// </param>
/// <param name="async">
/// When false (the default), the request waits until the images are ready and returns them in `data`. When true, the request returns as soon as it is accepted; poll `GET /v2/generations/{generation_id}` with the returned `generation_id` for the result.<br/>
/// Default Value: false
/// </param>
/// <param name="webhookUrl">
/// HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a<br/>
/// JSON POST to this URL once all images for the request have finished<br/>
/// generating. The body mirrors the synchronous generate response:<br/>
/// `request_id`, `created`, and a `data` array<br/>
/// containing every generated image (`url`, `prompt`, `resolution`, `seed`,<br/>
/// `is_image_safe`). Each delivery is signed with Ed25519 and verifiable<br/>
/// against the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;<br/>
/// private and loopback hosts and the cloud metadata service are rejected.<br/>
/// Example: https://api.example.com/webhooks/ideogram
/// </param>
/// <param name="private">
/// When true or omitted, the output is kept private to your account. Set to false to publish the output to the public feed. Enterprise accounts always generate privately.
/// </param>
/// <param name="targetCollectionId">
/// A collection you can write to, by its URL-safe base64 collection id. The output images are added to it when the request completes.
/// </param>
/// <param name="requestOptions">Per-request overrides such as headers, query parameters, timeout, retries, and response buffering.</param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::System.InvalidOperationException"></exception>
global::System.Threading.Tasks.Task<global::Ideogram.GenerateImageNanoBanana21Response> PostGenerateImageV2NanoBanana21Async(
string prompt,
bool? dryRun = default,
global::System.Collections.Generic.IList<global::Ideogram.AssetIdentifier>? imageAssetIdentifiers = default,
global::System.Collections.Generic.IList<byte[]>? images = default,
global::Ideogram.NanoBanana21AspectRatio? aspectRatio = default,
global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier? resolutionTier = default,
int? numImages = default,
int? seed = default,
bool? async = default,
string? webhookUrl = default,
bool? @private = default,
string? targetCollectionId = default,
global::Ideogram.AutoSDKRequestOptions? requestOptions = default,
global::System.Threading.CancellationToken cancellationToken = default);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ namespace Ideogram
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2Request))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBanana2AspectRatio), TypeInfoPropertyName = "NanoBanana2AspectRatio2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier), TypeInfoPropertyName = "GenerateImageNanoBanana2RequestResolutionTier2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana21Response))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana21Request))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBanana21AspectRatio), TypeInfoPropertyName = "NanoBanana21AspectRatio2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier), TypeInfoPropertyName = "GenerateImageNanoBanana21RequestResolutionTier2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBananaProResponse))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBananaProRequest))]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBananaProAspectRatio), TypeInfoPropertyName = "NanoBananaProAspectRatio2")]
Expand Down Expand Up @@ -131,6 +135,8 @@ namespace Ideogram
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageIdeogram45RequestQuality?), TypeInfoPropertyName = "NullableGenerateImageIdeogram45RequestQuality2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBanana2AspectRatio?), TypeInfoPropertyName = "NullableNanoBanana2AspectRatio2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBanana2RequestResolutionTier2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBanana21AspectRatio?), TypeInfoPropertyName = "NullableNanoBanana21AspectRatio2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBanana21RequestResolutionTier2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.NanoBananaProAspectRatio?), TypeInfoPropertyName = "NullableNanoBananaProAspectRatio2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier?), TypeInfoPropertyName = "NullableGenerateImageNanoBananaProRequestResolutionTier2")]
[global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ideogram.GenerateImageGptImage25FlareRequestBackground?), TypeInfoPropertyName = "NullableGenerateImageGptImage25FlareRequestBackground2")]
Expand Down Expand Up @@ -272,6 +278,10 @@ public override bool CanConvert(global::System.Type typeToConvert)

|| typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana2RequestResolutionTier?)

|| typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier)

|| typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier?)

|| typeToConvert == typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier)

|| typeToConvert == typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier?)
Expand Down Expand Up @@ -360,6 +370,10 @@ public override bool CanConvert(global::System.Type typeToConvert)

|| typeToConvert == typeof(global::Ideogram.NanoBanana2AspectRatio?)

|| typeToConvert == typeof(global::Ideogram.NanoBanana21AspectRatio)

|| typeToConvert == typeof(global::Ideogram.NanoBanana21AspectRatio?)

|| typeToConvert == typeof(global::Ideogram.NanoBananaProAspectRatio)

|| typeToConvert == typeof(global::Ideogram.NanoBananaProAspectRatio?)
Expand Down Expand Up @@ -503,6 +517,16 @@ public override bool CanConvert(global::System.Type typeToConvert)
return new global::Ideogram.JsonConverters.GenerateImageNanoBanana2RequestResolutionTierNullableJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier))
{
return new global::Ideogram.JsonConverters.GenerateImageNanoBanana21RequestResolutionTierJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.GenerateImageNanoBanana21RequestResolutionTier?))
{
return new global::Ideogram.JsonConverters.GenerateImageNanoBanana21RequestResolutionTierNullableJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.GenerateImageNanoBananaProRequestResolutionTier))
{
return new global::Ideogram.JsonConverters.GenerateImageNanoBananaProRequestResolutionTierJsonConverter();
Expand Down Expand Up @@ -723,6 +747,16 @@ public override bool CanConvert(global::System.Type typeToConvert)
return new global::Ideogram.JsonConverters.NanoBanana2AspectRatioNullableJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.NanoBanana21AspectRatio))
{
return new global::Ideogram.JsonConverters.NanoBanana21AspectRatioJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.NanoBanana21AspectRatio?))
{
return new global::Ideogram.JsonConverters.NanoBanana21AspectRatioNullableJsonConverter();
}

if (typeToConvert == typeof(global::Ideogram.NanoBananaProAspectRatio))
{
return new global::Ideogram.JsonConverters.NanoBananaProAspectRatioJsonConverter();
Expand Down
Loading
Loading