Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| import { InferenceOutputError } from "../../lib/InferenceOutputError"; | |
| import type { BaseArgs, Options } from "../../types"; | |
| import { request } from "../custom/request"; | |
| export type TextToImageArgs = BaseArgs & { | |
| /** | |
| * The text to generate an image from | |
| */ | |
| inputs: string; | |
| parameters?: { | |
| /** | |
| * An optional negative prompt for the image generation | |
| */ | |
| negative_prompt?: string; | |
| /** | |
| * The height in pixels of the generated image | |
| */ | |
| height?: number; | |
| /** | |
| * The width in pixels of the generated image | |
| */ | |
| width?: number; | |
| /** | |
| * The number of denoising steps. More denoising steps usually lead to a higher quality image at the expense of slower inference. | |
| */ | |
| num_inference_steps?: number; | |
| /** | |
| * Guidance scale: Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality. | |
| */ | |
| guidance_scale?: number; | |
| }; | |
| }; | |
| export type TextToImageOutput = Blob; | |
| /** | |
| * This task reads some text input and outputs an image. | |
| * Recommended model: stabilityai/stable-diffusion-2 | |
| */ | |
| export async function textToImage(args: TextToImageArgs, options?: Options): Promise<TextToImageOutput> { | |
| const res = await request<TextToImageOutput>(args, { | |
| ...options, | |
| taskHint: "text-to-image", | |
| }); | |
| const isValidOutput = res && res instanceof Blob; | |
| if (!isValidOutput) { | |
| throw new InferenceOutputError("Expected Blob"); | |
| } | |
| return res; | |
| } | |