Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

This repository illustrates how to use the Hotpot.ai API. Our API provides Stable Diffusion, image generator, text-to-image generator, background removal, image upscaler, photo restoration, and picture colorization.

License

Notifications You must be signed in to change notification settings

HotpotDesign/api-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

21 Commits

Repository files navigation

Hotpot.ai API examples

Stable Diffusion API

Hotpot.ai offers a Stable Diffusion API with three flavors: (1) budget (2) standard and (3) premium.

Art Maker

// Set URL to monitor.
const url = 'https://hotpot-temporary-images.s3.us-east-2.amazonaws.com/520.txt';
pollAndRenderUrl(url);
function pollAndRenderUrl(url) {
	// Set how often to poll @url. If set lower than 70000, your account will incur S3 charges.
	const pollDuration = 70000;
	// Create an interval to check @url every @pollDuration milliseconds.
	const interval = setInterval(async () => {
	 const response = await fetch(url, {
	 method: 'GET',
	 cache: 'no-cache',
	 redirect: 'follow'
	 });
	 // File exists at @url?
	 if (response.status === 200) {
	 // If here, file exists so do something with it.
	 // Clear @interval and stop polling.
	 clearInterval(interval);
	 }
	}, pollDuration);
}

Background Remover

The examples below illustrate how to invoke the Background Remover API in different languages.

Curl

curl -H 'Authorization: API_KEY_HERE' \
 -F 'image=@/full/path/to/image.jpg' \
 -o '/full/path/to/image-nobg.jpg' \
 https://api.hotpot.ai/remove-background

Node

Install the form-data library first:

yarn add form-data
'use strict';
const fs = require('fs');
const https = require('https');
const FormData = require('form-data');
const form = new FormData();
// change to a full file path of the image you want to transform
form.append('image', fs.createReadStream('/full/path/to/image.jpg'));
const customHeaders = {
 'Authorization': 'API_KEY_HERE'
}
// setting a correct MIME type and (multipart/form-data) a boundary for the payload
const headers = {...form.getHeaders(), ...customHeaders}
const options = {
 method: 'POST',
 hostname: 'api.hotpot.ai',
 port: 443,
 path: '/remove-background',
 headers: headers,
 encoding: null,
};
const request = https.request(options, response => {
 const body = [];
 response.on('data', chunk => {
 body.push(Buffer.from(chunk));
 })
 response.on('end', () => {
 // change to a full file path where you want to save the resulting image
 fs.writeFileSync('/full/path/to/image-nobg.jpg', Buffer.concat(body), 'binary');
 request.end();
 })
});
request.on('error', error => {
 console.error(error);
});
form.pipe(request);

Python

Install the requests library first:

pip3 install requests
import requests
headers = {
 'Authorization': 'API_KEY_HERE',
}
# change to a full file path of the image you want to transform
body = {
 'image': open('/full/path/to/image.jpg', 'rb'),
}
response = requests.post('https://api.hotpot.ai/remove-background', headers=headers, files=body)
# change to a full file path where you want to save the resulting image
with open('/full/path/to/image-nobg.jpg', 'wb') as file:
 file.write(response.content)

PHP

<?php
$ch = curl_init();
// change to a full file path of the image you want to transform
$body = [
 'image' => new CurlFile('/full/path/to/image.jpg')
];
curl_setopt($ch, CURLOPT_URL, 'https://api.hotpot.ai/remove-background');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
$headers = array('Authorization: API_KEY_HERE');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
// change to a full file path where you want to save the resulting image
file_put_contents('/full/path/to/image-nobg.jpg', $response);

C# Flurl.Http

Install the Flurl.Http library first:

dotnet add package Flurl.Http
using var memoryStream = new MemoryStream(data);
var request = await "https://api.hotpot.ai/remove-background"
 .WithHeader("Authorization", "API_KEY_HERE")
 // change to a full file path of the image you want to transform
 .PostMultipartAsync(builder => builder.AddFile("image", "/full/path/to/image.jpg"));
var response = await request.GetBytesAsync();
 // change to a full file path where you want to save the resulting image
await File.WriteAllBytesAsync("/full/path/to/image-nobg.jpg", response);

C# System.Net.Http

Note: the Add function requires three parameters. Otherwise the binary data will be incorrectly sent as a string.

using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
 public static async Task Main (string[] args) {
 var client = new HttpClient();
 client.DefaultRequestHeaders.Add("Authorization", "API KEY HERE");
 var form = new MultipartFormDataContent();
 var image = new ByteArrayContent(File.ReadAllBytes("bg.jpg"));
 form.Add(image, "image", "bg.jpg");
 var response = await client.PostAsync("https://api.hotpot.ai/remove-background", form);
 var result = await response.Content.ReadAsByteArrayAsync();
 System.IO.File.WriteAllBytes("nobg.jpg", result);
 }
}

About

This repository illustrates how to use the Hotpot.ai API. Our API provides Stable Diffusion, image generator, text-to-image generator, background removal, image upscaler, photo restoration, and picture colorization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

AltStyle によって変換されたページ (->オリジナル) /