API FoodStudio
Intégrez le générateur Sushis dans votre boutique, ERP ou backend. Envoyez une photo de sushi → recevez une liste d’URLs d’images studio générées (détourage, vues, macros, etc.).
Base URL : https://api.foodstudio.app
Créez une clé API dans Mon compte → API. Chaque image générée consomme 1 crédit.
Authentification
Toutes les routes /v1/* exigent une clé API :
Authorization: Bearer fsak_votre_cle
# ou
X-Api-Key: fsak_votre_cle
CORS est ouvert sur /v1/* pour les apps front (shops). Préférez l’appel côté serveur pour ne pas exposer la clé.
Générateur Sushis
GET Métadonnées
curl https://api.foodstudio.app/v1/sushis \
-H "Authorization: Bearer fsak_…"
# → presets disponibles + solde crédits
POST Générer
Envoyez l’image source d’une des façons suivantes :
image_url— URL HTTPS publique de la photoimage_base64— base64 (+mimeoptionnel)source_data_url— data URL complètedata:image/…;base64,…- multipart
image— fichier binaire
Optionnel : preset_ids (tableau) pour limiter les presets. Par défaut : pack complet (8 images, donc 8 crédits si toutes réussissent).
Réponse
{
"ok": true,
"urls": [
"https://api.foodstudio.app/files/outputs/sushis/…png",
"https://api.foodstudio.app/files/outputs/sushis/…jpg"
],
"images": [
{
"preset_id": "nobg",
"url": "https://api.foodstudio.app/files/…",
"mime": "image/png",
"image_id": "i_…"
}
],
"credits_left": 984,
"credits_used": 8
}
Utilisez urls pour brancher directement votre shop (carousel, fiche produit, etc.).
Exemples pour un shop externe
Node / backend
const res = await fetch('https://api.foodstudio.app/v1/sushis', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.FOODSTUDIO_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
image_url: 'https://cdn.monshop.com/produits/sushi-saumon.jpg',
// preset_ids: ['nobg', 'studio-side', 'studio-top'], // optionnel
}),
});
const data = await res.json();
if (!data.ok) throw new Error(data.error);
// data.urls → liste d’images générées
console.log(data.urls);
PHP
$ch = curl_init('https://api.foodstudio.app/v1/sushis');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('FOODSTUDIO_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'image_url' => $productImageUrl,
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
$urls = $data['urls'] ?? [];
Upload multipart
curl https://api.foodstudio.app/v1/sushis \ -H "Authorization: Bearer fsak_…" \ -F "image=@/path/sushi.jpg"
Erreurs courantes
401 api_key_required— clé manquante ou invalide400 missing_image— aucunimage_url/ fichier402 insufficient_credits— rechargez sur my.foodstudio.app413 image_too_large— image source trop lourde (~10 Mo max)502 no_images_generated— échec IA (réessayer)
Crédits & facturation
1 crédit = 1 image générée (1 preset réussi). Le pack Sushis par défaut produit jusqu’à 8 images.
Achetez des crédits sur Mon compte. Gérez vos clés (création / révocation) dans l’onglet API.