API Документация
Интегрируйте мощный AI для обработки изображений в свои приложения. Простая интеграция, прозрачные цены.
Введение
FreeNude API предоставляет доступ к современным нейросетевым технологиям для обработки изображений. Интегрируйте AI-трансформации в свои приложения за несколько минут.
Base URL
https://freenude.io/api/v1
Возможности
6 стилей
Nude, Business, Bikini, Lingerie, Sport, BDSM
Настройка параметров
Размер груди: AUTO, S, M, L
Быстрая обработка
Результат за 1-3 секунды
Прозрачные цены
$0.15 за генерацию
Быстрый старт
- 1 Зарегистрируйтесь и получите API ключ
- 2 Пополните баланс в личном кабинете
- 3 Отправьте первый запрос
Авторизация
Все запросы к API требуют авторизации через API ключ в заголовке X-Api-Key.
X-Api-Key: fnd_your_32_character_api_key_here
Безопасность
Никогда не публикуйте API ключ в открытом доступе. Используйте переменные окружения.
Получение API ключа
После регистрации ключ доступен в личном кабинете.
Формат: fnd_ + 32 символа.
Проверка баланса
/api/v1/balance
Получение информации о текущем балансе и расчёт доступных генераций.
Пример запроса
curl -X GET https://freenude.io/api/v1/balance \
-H "X-Api-Key: fnd_your_api_key_here"
Ответ (200 OK)
{
"ok": true,
"balance": 25.50,
"currency": "USD",
"pricePerGeneration": 0.15,
"estimatedGenerations": 170
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
ok |
boolean | Статус выполнения запроса |
balance |
number | Текущий баланс в USD |
currency |
string | Валюта баланса (всегда "USD") |
pricePerGeneration |
number | Стоимость одной генерации в USD |
estimatedGenerations |
number | Количество доступных генераций |
Обработка изображения
/api/v1/process
Отправка изображения для обработки с применением выбранного стиля.
Параметры (multipart/form-data)
file
File
Обязательный
Файл изображения. Форматы: JPG, PNG, WebP, GIF. Макс. размер: 3MB.
style
String
Обязательный
Стиль обработки. Допустимые значения:
Nude
Business
Bikini
Lingerie
Sport
BDSM
breast_size
String
Опциональный
Размер груди. По умолчанию: AUTO
AUTO
S
M
L
Пример запроса
curl -X POST https://freenude.io/api/v1/process \
-H "X-Api-Key: fnd_your_api_key_here" \
-F "file=@/path/to/image.jpg" \
-F "style=Nude" \
-F "breast_size=M"
Ответ (200 OK)
{
"ok": true,
"image_base64": "data:image/png;base64,iVBORw0KGgoAAAANS...",
"style": "Nude",
"breast_size": "M",
"cost": 0.05,
"balance": 24.95,
"processing_time_ms": 1230
}
Важно знать
Изображения возвращаются в формате base64 (data URI). Декодируйте и сохраняйте результаты на своей стороне. Стоимость генерации может быть изменена в настройках системы.
Коды ошибок
API использует стандартные HTTP коды статуса и возвращает детальную информацию об ошибках.
Формат ошибки
{
"ok": false,
"error": "ERROR_CODE",
"message": "Описание ошибки"
}
Список ошибок
| HTTP | Код | Описание |
|---|---|---|
401 |
UNAUTHORIZED |
Неверный или отсутствующий API ключ |
403 |
ACCOUNT_INACTIVE |
Аккаунт заблокирован или неактивен |
402 |
INSUFFICIENT_BALANCE |
Недостаточно средств на балансе |
400 |
INVALID_STYLE |
Неверный стиль обработки |
400 |
FILE_REQUIRED |
Файл не был загружен |
413 |
FILE_TOO_LARGE |
Размер файла превышает 3MB |
429 |
RATE_LIMIT_EXCEEDED |
Превышен лимит запросов |
500 |
INTERNAL_ERROR |
Внутренняя ошибка сервера |
Примеры кода
JavaScript (Node.js)
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
async function processImage() {
const form = new FormData();
form.append('file', fs.createReadStream('./image.jpg'));
form.append('style', 'Nude');
form.append('breast_size', 'M');
try {
const response = await axios.post(
'https://freenude.io/api/v1/process',
form,
{
headers: {
'X-Api-Key': process.env.FREENUDE_API_KEY,
...form.getHeaders()
}
}
);
console.log('Image (base64):', response.data.image_base64);
console.log('Balance:', response.data.balance);
console.log('Cost:', response.data.cost);
} catch (error) {
console.error('Error:', error.response?.data);
}
}
processImage();
Python
import requests
import os
def process_image():
url = 'https://freenude.io/api/v1/process'
headers = {'X-Api-Key': os.getenv('FREENUDE_API_KEY')}
files = {'file': open('image.jpg', 'rb')}
data = {
'style': 'Nude',
'breast_size': 'M'
}
response = requests.post(
url,
headers=headers,
files=files,
data=data
)
if response.status_code == 200:
result = response.json()
print(f"Image (base64): {result['image_base64'][:50]}...")
print(f"Balance: ${result['balance']}")
print(f"Cost: ${result['cost']}")
else:
print(f"Error: {response.json()}")
process_image()
PHP
<?php
$apiKey = getenv('FREENUDE_API_KEY');
$url = 'https://freenude.io/api/v1/process';
$file = new CURLFile('image.jpg', 'image/jpeg');
$postData = [
'file' => $file,
'style' => 'nude',
'breast_size' => 'M'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-Api-Key: $apiKey"
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$result = json_decode($response, true);
echo "URL: " . $result['imageUrl'] . "\n";
echo "Balance: $" . $result['remainingBalance'];
} else {
echo "Error: $response";
}
?>
Лимиты и ограничения
Макс. размер файла
3 MB
Форматы
JPG, PNG, WebP, GIF
Стоимость
$0.05 / генерация
Формат ответа
Base64 (data URI)
Мониторинг использования
Отслеживайте статистику и баланс в личном кабинете