Skip to content
Open
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
69 changes: 24 additions & 45 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,60 +1,45 @@
import { Image } from "./internal/models/image";
import { Result } from "./internal/models/result";
import { RequestClient } from "./internal/services/client";
import { GenerationConfig } from "./internal/types/generations";
import { ImageParam } from "./internal/types/image";
import { InpaintConfig } from "./internal/types/inpaint";
import { RemixConfig } from "./internal/types/remix";
import { VariationConfig } from "./internal/types/variations";
import { Background } from "src/internal/handlers/background";
import { Edits } from "src/internal/handlers/edits";
import { Enhance } from "src/internal/handlers/enhance";
import { Face } from "src/internal/handlers/face";
import { Generations } from "src/internal/handlers/generations";
import { RequestClient } from "src/internal/services/client";
/**
* An interface for the Imagine SDK that provides methods for interacting with image generation and manipulation.
*
* @interface Imagine
*/
interface Imagine {
/**
* Generate an image based on a prompt.
* Returns methods that generate images.
*
* @param {string} prompt - The prompt for generating the image.
* @param {GenerationConfig} [config] - Optional configuration for image generation. (model: GenerationConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image generation.
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
generations: (prompt: string, config?: GenerationConfig) => Promise<Result<Image>>;
generations: Generations;
/**
* Apply variations to an image based on a prompt.
* Returns methods to interact with the background of an image.
*
* @param {string} prompt - The prompt for applying variations.
* @param {ImageParam} image - The image to which variations will be applied.
* @param {VariationConfig} [config] - Optional configuration for applying variations. (model: VariationConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image variations.
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
variations: (prompt: string, image: ImageParam, config?: VariationConfig) => Promise<Result<Image>>;
background: Background;
/**
* Remix an image based on a prompt.
* Returns methods to enhance an image.
*
* @param {string} prompt - The prompt for remixing the image.
* @param {ImageParam} image - The image to be remixed.
* @param {RemixConfig} [config] - Optional configuration for image remixing. (model: RemixConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image remixing.
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
remix: (prompt: string, image: ImageParam, config?: RemixConfig) => Promise<Result<Image>>;
enhance: Enhance;
/**
* Upscale an image.
* Returns methods to edit images.
*
* @param {ImageParam} image - The image to be upscaled.
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image upscaling.
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
upscale: (image: ImageParam) => Promise<Result<Image>>;
edits: Edits;
/**
* Inpaint an image based on a prompt and mask.
* Returns methods to edit images but preserve the face.
*
* @param {string} prompt - The prompt for inpainting the image.
* @param {ImageParam} image - The image to be inpainted.
* @param {ImageParam} mask - The mask specifying the inpainting areas.
* @param {InpaintConfig} [config] - Optional configuration for image inpainting. (model: InpaintConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image inpainting.
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
inpaint: (prompt: string, image: ImageParam, mask: ImageParam, config?: InpaintConfig) => Promise<Result<Image>>;
face: Face;
}
/**
* Creates an instance of the Imagine client with the specified token and optional configuration.
Expand All @@ -68,14 +53,8 @@ export declare const client: (token: string, config?: {
client?: RequestClient;
}) => Imagine;
export default client;
export * from "./internal/enums/ratios";
export * from "./internal/enums/statuses";
export * from "./internal/enums/styles";
export * from "./internal/enums/controls";
export * from "./internal/types/generations";
export * from "./internal/types/inpaint";
export * from "./internal/types/remix";
export * from "./internal/types/variations";
export * from "./internal/enums";
export * from "./internal/constants";
export * from "./internal/types";
export { Err } from "./internal/models/error";
export { RequestClient } from "./internal/services/client";
export { ImageParam } from "./internal/types/image";
2 changes: 1 addition & 1 deletion dist/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.m.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.modern.mjs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.umd.js

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions dist/internal/constants/filters.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**
* @constant {number} DEFAULT_FILTER_ID - The default filter id for filter editing.
*/
export declare const DEFAULT_FILTER_ID = 1;
/**
* @constant {number} DEFAULT_STYLE_ID - The default style id for filter editing.
*/
export declare const DEFAULT_STYLE_ID = 1;
1 change: 1 addition & 0 deletions dist/internal/constants/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from "src/internal/constants/filters";
16 changes: 16 additions & 0 deletions dist/internal/enums/filters.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* @enum {number} Filters - The filter ids for filter editing.
*/
export declare enum Filters {
VAN_GOUH = 1001,
POP_ART = 1002,
CURE_CHIBI = 1003,
CRACKED_KINTSUGI = 1004,
NEON_ME = 1005,
SIMPLE_CARTOON = 1006,
WESTERN_ANIME = 1007,
EIGHTIES_ANIME = 1008,
NEWSPAPER_RETRO = 1009,
PIXAR_DISNEY = 2001
}
export default Filters;
5 changes: 5 additions & 0 deletions dist/internal/enums/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export * from "src/internal/enums/controls";
export * from "src/internal/enums/filters";
export * from "src/internal/enums/ratios";
export * from "src/internal/enums/statuses";
export * from "src/internal/enums/styles";
6 changes: 3 additions & 3 deletions dist/internal/enums/ratios.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @enum {string} GenerationAspectRatio - The aspect ratios for image generations.
* @enum {string} GenerationsAspectRatio - The aspect ratios for image generations.
*/
export declare enum GenerationAspectRatio {
export declare enum GenerationsAspectRatio {
ONE_BY_ONE = "1:1",
FOUR_BY_THREE = "4:3",
THREE_BY_FOUR = "3:4",
Expand All @@ -14,4 +14,4 @@ export declare enum GenerationAspectRatio {
EIGHT_BY_TEN = "8:10",
THREE_BY_ONE = "3:1"
}
export default GenerationAspectRatio;
export default GenerationsAspectRatio;
20 changes: 10 additions & 10 deletions dist/internal/enums/styles.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @enum {number} Style - The style ids for image generations.
* @enum {number} Generation - The style ids for image generations.
*/
export declare enum GenerationStyle {
export declare enum GenerationsStyle {
ANIME = 21,
PORTRAIT = 26,
IMAGINE_V1 = 27,
Expand All @@ -28,6 +28,14 @@ export declare enum GenerationStyle {
THREE_D_RENDERING = 118,
ABSOLUTE_REALITY_V1_6 = 119
}
/**
* @enum {number} Remix - The style ids for image remix.
*/
export declare enum RemixStyle {
ANIME = 21,
IMAGINE_V1 = 22,
REALISTIC = 29
}
/**
* @enum {number} VariationStyle - The style ids for image variations.
*/
Expand Down Expand Up @@ -58,14 +66,6 @@ export declare enum VariationStyle {
THREE_D_RENDERING = 118,
ABSOLUTE_REALITY_V1_6 = 119
}
/**
* @enum {number} RemixStyle - The style ids for image remix.
*/
export declare enum RemixStyle {
ANIME = 21,
IMAGINE_V1 = 22,
REALISTIC = 29
}
/**
* @enum {number} InpaintStyle - The style ids for image inpaint.
*/
Expand Down
21 changes: 21 additions & 0 deletions dist/internal/handlers/background/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export interface Background {
/**
* Remove background of an image.
*
* @param {ImageParam} image - The image whose background is to be removed.
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image upscaling.
*/
remover: (image: ImageParam) => Promise<Result<Image>>;
}
/**
* Creates an instance of Background with the http client.
*
* @param {RequestClient} : client - The API token for authentication.
*
* @returns {Background} An instance of the Imagine client with various manipulation functions.
*/
export declare const backgroundHandler: (c: RequestClient) => Background;
6 changes: 6 additions & 0 deletions dist/internal/handlers/background/remover.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export declare const removerHandler: (client: RequestClient) => (image: ImageParam) => Promise<Result<Image>>;
export default removerHandler;
6 changes: 6 additions & 0 deletions dist/internal/handlers/edits/filters.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RequestClient } from "src/internal/services/client";
import { FiltersConfig, ImageParam } from "src/internal/types";
export declare const filtersHandler: (client: RequestClient) => (image: ImageParam, config?: FiltersConfig) => Promise<Result<Image>>;
export default filtersHandler;
39 changes: 39 additions & 0 deletions dist/internal/handlers/edits/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { Remix } from "src/internal/handlers/edits/remix";
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { FiltersConfig, ImageParam, InpaintConfig } from "src/internal/types";
import { RequestClient } from "src/services";
export interface Edits {
/**
* Returns methods that return promises for remixing image.
*
* @param {RequestClient} client - Client for making HTTP requests and fetching data
*/
remix: Remix;
/**
* Applies filters on an image.x
*
* @param {ImageParam} image - The image to apply filter on.
* @param {FiltersConfig} [config] - Optional config for Filters {model : FiltersConfig}.
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the Filter's application on the provided image.
*/
filters: (image: ImageParam, config?: FiltersConfig) => Promise<Result<Image>>;
/**
* Inpaint an image based on a prompt and mask.
*
* @param {string} prompt - The prompt for inpainting the image.
* @param {ImageParam} image - The image to be inpainted.
* @param {ImageParam} mask - The mask specifying the inpainting areas.
* @param {InpaintConfig} [config] - Optional configuration for image inpainting. (model: InpaintConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image inpainting.
*/
inpaint: (prompt: string, image: ImageParam, mask: ImageParam, config?: InpaintConfig) => Promise<Result<Image>>;
}
/**
* Creates an instance of Edits with the http client.
*
* @param {RequestClient} : client - The API token for authentication.
*
* @returns {Edits} An instance of the Imagine client with various manipulation functions.
*/
export declare const editsHandler: (c: RequestClient) => Edits;
6 changes: 6 additions & 0 deletions dist/internal/handlers/edits/inpaint.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { ImageParam, InpaintConfig } from "src/internal/types";
import { RequestClient } from "src/services";
export declare const inpaintHandler: (client: RequestClient) => (prompt: string, image: ImageParam, mask: ImageParam, config: InpaintConfig) => Promise<Result<Image>>;
export default inpaintHandler;
23 changes: 23 additions & 0 deletions dist/internal/handlers/edits/remix/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RemixConfig, ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export interface Remix {
/**
* Remix an image.
*
* @param {string} prompt - Guidance to remix the image.
* @param {ImageParam} image - The image which is supposed to be remixed.
* @param {RemixConfig} [config] - Optional configuration for image generation. (model: RemixConfig).
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image upscaling.
*/
remix: (prompt: string, image: ImageParam, config?: RemixConfig) => Promise<Result<Image>>;
}
/**
* Creates an instance of Remix with the http client.
*
* @param {RequestClient} : client - The API token for authentication.
*
* @returns {Remix} An instance of the Imagine client with various manipulation functions.
*/
export declare const remixHandler: (c: RequestClient) => Remix;
6 changes: 6 additions & 0 deletions dist/internal/handlers/edits/remix/remix.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RequestClient } from "src/internal/services/client";
import { ImageParam, RemixConfig } from "src/internal/types";
export declare const remixHandler: (client: RequestClient) => (prompt: string, image: ImageParam, config?: RemixConfig) => Promise<Result<Image>>;
export default remixHandler;
21 changes: 21 additions & 0 deletions dist/internal/handlers/enhance/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export interface Enhance {
/**
* Upscale an image.
*
* @param {ImageParam} image - The image whose that is to be upscaled.
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image upscaling.
*/
upscale: (image: ImageParam) => Promise<Result<Image>>;
}
/**
* Creates an instance of Enhance with the http client.
*
* @param {RequestClient} : client - The API token for authentication.
*
* @returns {Enhance} An instance of the Imagine client with various manipulation functions.
*/
export declare const enhanceHandler: (c: RequestClient) => Enhance;
6 changes: 6 additions & 0 deletions dist/internal/handlers/enhance/upscale.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RequestClient } from "src/internal/services/client";
import { ImageParam } from "src/internal/types";
export declare const upscaleHandler: (client: RequestClient) => (image: ImageParam) => Promise<Result<Image>>;
export default upscaleHandler;
6 changes: 6 additions & 0 deletions dist/internal/handlers/face/headshot.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { HeadshotConfig, ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export declare const headshotHandler: (client: RequestClient) => (prompt: string, image: ImageParam, config?: HeadshotConfig) => Promise<Result<Image>>;
export default headshotHandler;
23 changes: 23 additions & 0 deletions dist/internal/handlers/face/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { HeadshotConfig, ImageParam } from "src/internal/types";
import { RequestClient } from "src/services";
export interface Face {
/**
* Modifies the input image according to the prompt while preserving the face and background in input image.
*
* @param {ImageParam} image - The image that has to be changed.
* @param {string} prompt - Guidance prompt for image editing.
* @param {HeadshotConfig} [config] - Optional configuration for headshot. (model: HeadshotConfig)
* @returns {Promise<Result<Image>>} A Promise that resolves with the result of the image upscaling.
*/
headshot: (image: ImageParam, prompt: string, config?: HeadshotConfig) => Promise<Result<Image>>;
}
/**
* Creates an instance of Face with the http client.
*
* @param {RequestClient} : client - The API token for authentication.
*
* @returns {Face} An instance of the Imagine client with various manipulation functions.
*/
export declare const faceHandler: (c: RequestClient) => Face;
6 changes: 0 additions & 6 deletions dist/internal/handlers/generations.d.ts

This file was deleted.

6 changes: 6 additions & 0 deletions dist/internal/handlers/generations/background.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RequestClient } from "src/internal/services/client";
import { ImageParam } from "src/internal/types";
export declare const backgroundHandler: (client: RequestClient) => (image: ImageParam, prompt: string) => Promise<Result<Image>>;
export default backgroundHandler;
6 changes: 6 additions & 0 deletions dist/internal/handlers/generations/generations.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Image } from "src/internal/models/image";
import { Result } from "src/internal/models/result";
import { RequestClient } from "src/internal/services/client";
import { GenerationsConfig } from "src/internal/types";
export declare const generationsHandler: (client: RequestClient) => (prompt: string, config?: GenerationsConfig) => Promise<Result<Image>>;
export default generationsHandler;
Loading