Opal Flyer

Aucun flyer pour l'instant

Envoie un prompt, avec ou sans photo, pour générer ton premier flyer.

Aucune image générée

Tes créations apparaîtront ici, stockées localement dans ce navigateur.

Documentation API

Génère des images par prompt (avec ou sans image source) via une simple requête HTTP.

Endpoint

POST https://opal-flyer.34.227.67.134.sslip.io/api/generate

Corps de la requête

Format multipart/form-data :

ChampTypeRequisDescription
prompttexteouiDescription de l'image à générer ou de la modification à apporter
aspectRatiotextenon1:1 (défaut), 9:16, 16:9
imagefichiernonImage source à éditer. Absente = génération texte-vers-image pure

Réponse

Succès : image JPEG brute (Content-Type: image/jpeg), code 200.

Erreur : JSON { "error": "..." }, code 400/502/500.

Exemple — curl

curl -X POST https://opal-flyer.34.227.67.134.sslip.io/api/generate \
  -F "prompt=Un renard roux stylisé, fond dégradé bleu nuit" \
  -F "aspectRatio=1:1" \
  -o resultat.jpg

Exemple — avec image source

curl -X POST https://opal-flyer.34.227.67.134.sslip.io/api/generate \
  -F "prompt=Change le fond en dégradé violet" \
  -F "aspectRatio=9:16" \
  -F "image=@photo.jpg" \
  -o resultat.jpg

Exemple — JavaScript

const formData = new FormData();
formData.append('prompt', 'Un renard roux stylisé');
formData.append('aspectRatio', '1:1');
// formData.append('image', fileInput.files[0]); // optionnel

const res = await fetch('https://opal-flyer.34.227.67.134.sslip.io/api/generate', {
  method: 'POST',
  body: formData,
});
const blob = await res.blob();
const url = URL.createObjectURL(blob);

Limites

  • Taille max de l'image source : 15 Mo
  • Le format d'aspect 4:5 n'est pas supporté par le modèle (échoue systématiquement)
  • Aucune authentification requise pour l'instant