Skip to main content
Glama
ImageApi.ts46.1 kB
/* tslint:disable */ /* eslint-disable */ /** * recraft.ai external api * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 0.0.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { GenerateImageRequest, GenerateImageResponse, ImageFormat, ImageStyle, ImageSubStyle, ProcessImageResponse, ResponseFormat, TextLayoutItem, TransformModel, UserControls, } from '../models/index'; import { GenerateImageRequestFromJSON, GenerateImageRequestToJSON, GenerateImageResponseFromJSON, GenerateImageResponseToJSON, ImageFormatFromJSON, ImageFormatToJSON, ImageStyleFromJSON, ImageStyleToJSON, ImageSubStyleFromJSON, ImageSubStyleToJSON, ProcessImageResponseFromJSON, ProcessImageResponseToJSON, ResponseFormatFromJSON, ResponseFormatToJSON, TextLayoutItemFromJSON, TextLayoutItemToJSON, TransformModelFromJSON, TransformModelToJSON, UserControlsFromJSON, UserControlsToJSON, } from '../models/index'; export interface ClarityUpscaleRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface CreativeUpscaleRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface CrispUpscaleRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface EraseRegionRequest { image: Blob; mask: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface GenerateBackgroundRequest { image: Blob; prompt: string; mask: Blob; blockNsfw?: boolean; calculateFeatures?: boolean; expire?: boolean; imageFormat?: ImageFormat; model?: TransformModel; n?: number; negativePrompt?: string; randomSeed?: number; responseFormat?: ResponseFormat; style?: ImageStyle; styleId?: string; substyle?: ImageSubStyle; textLayout?: Array<TextLayoutItem>; } export interface GenerateImageOperationRequest { generateImageRequest?: GenerateImageRequest; } export interface GenerativeUpscaleRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface ImageToImageRequest { image: Blob; prompt: string; strength: number; blockNsfw?: boolean; calculateFeatures?: boolean; controls?: UserControls; expire?: boolean; imageFormat?: ImageFormat; model?: TransformModel; n?: number; negativePrompt?: string; randomSeed?: number; responseFormat?: ResponseFormat; style?: ImageStyle; styleId?: string; substyle?: ImageSubStyle; textLayout?: Array<TextLayoutItem>; } export interface InpaintImageRequest { image: Blob; prompt: string; mask: Blob; blockNsfw?: boolean; calculateFeatures?: boolean; expire?: boolean; imageFormat?: ImageFormat; model?: TransformModel; n?: number; negativePrompt?: string; randomSeed?: number; responseFormat?: ResponseFormat; style?: ImageStyle; styleId?: string; substyle?: ImageSubStyle; textLayout?: Array<TextLayoutItem>; } export interface RemoveBackgroundRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } export interface ReplaceBackgroundRequest { image: Blob; prompt: string; blockNsfw?: boolean; calculateFeatures?: boolean; expire?: boolean; imageFormat?: ImageFormat; model?: TransformModel; n?: number; negativePrompt?: string; randomSeed?: number; responseFormat?: ResponseFormat; style?: ImageStyle; styleId?: string; substyle?: ImageSubStyle; textLayout?: Array<TextLayoutItem>; } export interface VectorizeImageRequest { image: Blob; expire?: boolean; imageFormat?: ImageFormat; responseFormat?: ResponseFormat; } /** * */ export class ImageApi extends runtime.BaseAPI { /** * Clarity Upscale * @deprecated */ async clarityUpscaleRaw(requestParameters: ClarityUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling clarityUpscale().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/clarityUpscale`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Clarity Upscale * @deprecated */ async clarityUpscale(requestParameters: ClarityUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.clarityUpscaleRaw(requestParameters, initOverrides); return await response.value(); } /** * Creative Upscale */ async creativeUpscaleRaw(requestParameters: CreativeUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling creativeUpscale().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/creativeUpscale`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Creative Upscale */ async creativeUpscale(requestParameters: CreativeUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.creativeUpscaleRaw(requestParameters, initOverrides); return await response.value(); } /** * Crisp Upscale */ async crispUpscaleRaw(requestParameters: CrispUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling crispUpscale().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/crispUpscale`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Crisp Upscale */ async crispUpscale(requestParameters: CrispUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.crispUpscaleRaw(requestParameters, initOverrides); return await response.value(); } /** * Erase Region */ async eraseRegionRaw(requestParameters: EraseRegionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling eraseRegion().' ); } if (requestParameters['mask'] == null) { throw new runtime.RequiredError( 'mask', 'Required parameter "mask" was null or undefined when calling eraseRegion().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['mask'] != null) { formParams.append('mask', requestParameters['mask'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/eraseRegion`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Erase Region */ async eraseRegion(requestParameters: EraseRegionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.eraseRegionRaw(requestParameters, initOverrides); return await response.value(); } /** * Generate Background */ async generateBackgroundRaw(requestParameters: GenerateBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling generateBackground().' ); } if (requestParameters['prompt'] == null) { throw new runtime.RequiredError( 'prompt', 'Required parameter "prompt" was null or undefined when calling generateBackground().' ); } if (requestParameters['mask'] == null) { throw new runtime.RequiredError( 'mask', 'Required parameter "mask" was null or undefined when calling generateBackground().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['blockNsfw'] != null) { formParams.append('block_nsfw', requestParameters['blockNsfw'] as any); } if (requestParameters['calculateFeatures'] != null) { formParams.append('calculate_features', requestParameters['calculateFeatures'] as any); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['model'] != null) { formParams.append('model', requestParameters['model'] as any); } if (requestParameters['n'] != null) { formParams.append('n', requestParameters['n'] as any); } if (requestParameters['negativePrompt'] != null) { formParams.append('negative_prompt', requestParameters['negativePrompt'] as any); } if (requestParameters['prompt'] != null) { formParams.append('prompt', requestParameters['prompt'] as any); } if (requestParameters['randomSeed'] != null) { formParams.append('random_seed', requestParameters['randomSeed'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } if (requestParameters['style'] != null) { formParams.append('style', requestParameters['style'] as any); } if (requestParameters['styleId'] != null) { formParams.append('style_id', requestParameters['styleId'] as any); } if (requestParameters['substyle'] != null) { formParams.append('substyle', requestParameters['substyle'] as any); } if (requestParameters['textLayout'] != null) { formParams.append('text_layout', requestParameters['textLayout']!.join(runtime.COLLECTION_FORMATS["csv"])); } if (requestParameters['mask'] != null) { formParams.append('mask', requestParameters['mask'] as any); } const response = await this.request({ path: `/v1/images/generateBackground`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenerateImageResponseFromJSON(jsonValue)); } /** * Generate Background */ async generateBackground(requestParameters: GenerateBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateImageResponse> { const response = await this.generateBackgroundRaw(requestParameters, initOverrides); return await response.value(); } /** * Generate image from prompt */ async generateImageRaw(requestParameters: GenerateImageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateImageResponse>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/v1/images/generations`, method: 'POST', headers: headerParameters, query: queryParameters, body: GenerateImageRequestToJSON(requestParameters['generateImageRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenerateImageResponseFromJSON(jsonValue)); } /** * Generate image from prompt */ async generateImage(requestParameters: GenerateImageOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateImageResponse> { const response = await this.generateImageRaw(requestParameters, initOverrides); return await response.value(); } /** * Generative Upscale * @deprecated */ async generativeUpscaleRaw(requestParameters: GenerativeUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling generativeUpscale().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/generativeUpscale`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Generative Upscale * @deprecated */ async generativeUpscale(requestParameters: GenerativeUpscaleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.generativeUpscaleRaw(requestParameters, initOverrides); return await response.value(); } /** * Generate image from image and prompt */ async imageToImageRaw(requestParameters: ImageToImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling imageToImage().' ); } if (requestParameters['prompt'] == null) { throw new runtime.RequiredError( 'prompt', 'Required parameter "prompt" was null or undefined when calling imageToImage().' ); } if (requestParameters['strength'] == null) { throw new runtime.RequiredError( 'strength', 'Required parameter "strength" was null or undefined when calling imageToImage().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['blockNsfw'] != null) { formParams.append('block_nsfw', requestParameters['blockNsfw'] as any); } if (requestParameters['calculateFeatures'] != null) { formParams.append('calculate_features', requestParameters['calculateFeatures'] as any); } if (requestParameters['controls'] != null) { formParams.append('controls', new Blob([JSON.stringify(GenerateImageResponseToJSON(requestParameters['controls']))], { type: "application/json", })); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['model'] != null) { formParams.append('model', requestParameters['model'] as any); } if (requestParameters['n'] != null) { formParams.append('n', requestParameters['n'] as any); } if (requestParameters['negativePrompt'] != null) { formParams.append('negative_prompt', requestParameters['negativePrompt'] as any); } if (requestParameters['prompt'] != null) { formParams.append('prompt', requestParameters['prompt'] as any); } if (requestParameters['randomSeed'] != null) { formParams.append('random_seed', requestParameters['randomSeed'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } if (requestParameters['strength'] != null) { formParams.append('strength', requestParameters['strength'] as any); } if (requestParameters['style'] != null) { formParams.append('style', requestParameters['style'] as any); } if (requestParameters['styleId'] != null) { formParams.append('style_id', requestParameters['styleId'] as any); } if (requestParameters['substyle'] != null) { formParams.append('substyle', requestParameters['substyle'] as any); } if (requestParameters['textLayout'] != null) { formParams.append('text_layout', requestParameters['textLayout']!.join(runtime.COLLECTION_FORMATS["csv"])); } const response = await this.request({ path: `/v1/images/imageToImage`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenerateImageResponseFromJSON(jsonValue)); } /** * Generate image from image and prompt */ async imageToImage(requestParameters: ImageToImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateImageResponse> { const response = await this.imageToImageRaw(requestParameters, initOverrides); return await response.value(); } /** * Inpaint Image */ async inpaintImageRaw(requestParameters: InpaintImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling inpaintImage().' ); } if (requestParameters['prompt'] == null) { throw new runtime.RequiredError( 'prompt', 'Required parameter "prompt" was null or undefined when calling inpaintImage().' ); } if (requestParameters['mask'] == null) { throw new runtime.RequiredError( 'mask', 'Required parameter "mask" was null or undefined when calling inpaintImage().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['blockNsfw'] != null) { formParams.append('block_nsfw', requestParameters['blockNsfw'] as any); } if (requestParameters['calculateFeatures'] != null) { formParams.append('calculate_features', requestParameters['calculateFeatures'] as any); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['model'] != null) { formParams.append('model', requestParameters['model'] as any); } if (requestParameters['n'] != null) { formParams.append('n', requestParameters['n'] as any); } if (requestParameters['negativePrompt'] != null) { formParams.append('negative_prompt', requestParameters['negativePrompt'] as any); } if (requestParameters['prompt'] != null) { formParams.append('prompt', requestParameters['prompt'] as any); } if (requestParameters['randomSeed'] != null) { formParams.append('random_seed', requestParameters['randomSeed'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } if (requestParameters['style'] != null) { formParams.append('style', requestParameters['style'] as any); } if (requestParameters['styleId'] != null) { formParams.append('style_id', requestParameters['styleId'] as any); } if (requestParameters['substyle'] != null) { formParams.append('substyle', requestParameters['substyle'] as any); } if (requestParameters['textLayout'] != null) { formParams.append('text_layout', requestParameters['textLayout']!.join(runtime.COLLECTION_FORMATS["csv"])); } if (requestParameters['mask'] != null) { formParams.append('mask', requestParameters['mask'] as any); } const response = await this.request({ path: `/v1/images/inpaint`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenerateImageResponseFromJSON(jsonValue)); } /** * Inpaint Image */ async inpaintImage(requestParameters: InpaintImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateImageResponse> { const response = await this.inpaintImageRaw(requestParameters, initOverrides); return await response.value(); } /** * Remove background */ async removeBackgroundRaw(requestParameters: RemoveBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling removeBackground().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/removeBackground`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Remove background */ async removeBackground(requestParameters: RemoveBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.removeBackgroundRaw(requestParameters, initOverrides); return await response.value(); } /** * Replace Background */ async replaceBackgroundRaw(requestParameters: ReplaceBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GenerateImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling replaceBackground().' ); } if (requestParameters['prompt'] == null) { throw new runtime.RequiredError( 'prompt', 'Required parameter "prompt" was null or undefined when calling replaceBackground().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['blockNsfw'] != null) { formParams.append('block_nsfw', requestParameters['blockNsfw'] as any); } if (requestParameters['calculateFeatures'] != null) { formParams.append('calculate_features', requestParameters['calculateFeatures'] as any); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['model'] != null) { formParams.append('model', requestParameters['model'] as any); } if (requestParameters['n'] != null) { formParams.append('n', requestParameters['n'] as any); } if (requestParameters['negativePrompt'] != null) { formParams.append('negative_prompt', requestParameters['negativePrompt'] as any); } if (requestParameters['prompt'] != null) { formParams.append('prompt', requestParameters['prompt'] as any); } if (requestParameters['randomSeed'] != null) { formParams.append('random_seed', requestParameters['randomSeed'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } if (requestParameters['style'] != null) { formParams.append('style', requestParameters['style'] as any); } if (requestParameters['styleId'] != null) { formParams.append('style_id', requestParameters['styleId'] as any); } if (requestParameters['substyle'] != null) { formParams.append('substyle', requestParameters['substyle'] as any); } if (requestParameters['textLayout'] != null) { formParams.append('text_layout', requestParameters['textLayout']!.join(runtime.COLLECTION_FORMATS["csv"])); } const response = await this.request({ path: `/v1/images/replaceBackground`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenerateImageResponseFromJSON(jsonValue)); } /** * Replace Background */ async replaceBackground(requestParameters: ReplaceBackgroundRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GenerateImageResponse> { const response = await this.replaceBackgroundRaw(requestParameters, initOverrides); return await response.value(); } /** * Vectorize image */ async vectorizeImageRaw(requestParameters: VectorizeImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProcessImageResponse>> { if (requestParameters['image'] == null) { throw new runtime.RequiredError( 'image', 'Required parameter "image" was null or undefined when calling vectorizeImage().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("auth0", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const consumes: runtime.Consume[] = [ { contentType: 'multipart/form-data' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; // use FormData to transmit files using content-type "multipart/form-data" useForm = canConsumeForm; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['expire'] != null) { formParams.append('expire', requestParameters['expire'] as any); } if (requestParameters['image'] != null) { formParams.append('image', requestParameters['image'] as any); } if (requestParameters['imageFormat'] != null) { formParams.append('image_format', requestParameters['imageFormat'] as any); } if (requestParameters['responseFormat'] != null) { formParams.append('response_format', requestParameters['responseFormat'] as any); } const response = await this.request({ path: `/v1/images/vectorize`, method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProcessImageResponseFromJSON(jsonValue)); } /** * Vectorize image */ async vectorizeImage(requestParameters: VectorizeImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProcessImageResponse> { const response = await this.vectorizeImageRaw(requestParameters, initOverrides); return await response.value(); } }

Implementation Reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/recraft-ai/mcp-recraft-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server