UNPKG

venice-ai-sdk-apl

Version:

A comprehensive SDK for the Venice AI API with CLI support, programmatic CLI usage, CLI-style interface, and interactive demo

91 lines 2.74 kB
"use strict"; /** * Image Upscale Resource * * This module provides methods for interacting with the Image Upscale API. * It allows you to upscale images to higher resolutions. * * @example * ```typescript * import { VeniceAI } from 'venice-ai-sdk-apl'; * import fs from 'fs'; * * const venice = new VeniceAI({ * apiKey: 'your-api-key', * }); * * // Upscale an image * const imageBuffer = fs.readFileSync('image.jpg'); * const base64Image = imageBuffer.toString('base64'); * * const response = await venice.image.upscale({ * model: 'upscale-model', * image: base64Image, * scale: 2 * }); * * console.log(response.url); * ``` */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ImageUpscaleResource = void 0; const base_resource_1 = require("../base-resource"); const validation_error_1 = require("../../errors/validation-error"); /** * Image Upscale Resource */ class ImageUpscaleResource extends base_resource_1.BaseResource { /** * Upscales an image to a higher resolution * * @param params - Parameters for upscaling an image * @returns Promise that resolves with the upscaled image * * @example * ```typescript * const response = await venice.image.upscale({ * model: 'upscale-model', * image: base64EncodedImage, * scale: 2 * }); * ``` */ async upscale(params) { // Validate required parameters if (!params.model) { throw new validation_error_1.ValidationError({ message: 'Model is required', field: 'model', }); } if (!params.image) { throw new validation_error_1.ValidationError({ message: 'Image is required', field: 'image', }); } // Validate scale if provided if (params.scale && (params.scale < 1 || params.scale > 4)) { throw new validation_error_1.ValidationError({ message: 'Scale must be between 1 and 4', field: 'scale', expected: 'Between 1 and 4', actual: params.scale.toString(), }); } // Determine if we should return binary data const returnBinary = params.return_binary === true; if (returnBinary) { // Request binary data directly return this.post('/image/upscale', params, { responseType: 'arraybuffer' }); } else { // Standard JSON response return this.post('/image/upscale', params); } } } exports.ImageUpscaleResource = ImageUpscaleResource; //# sourceMappingURL=upscale.js.map