API Templates

L’API Templates donne accès à la bibliothèque de templates de référence de style de YouThumbAI. Les templates sont des images sélectionnées qui servent de références visuelles à l’IA pendant la génération de miniatures.

Principe

Dans YouThumbAI, un template :
  • est une image de référence de style toute faite
  • est classé par type de contenu (gaming, tech, lifestyle, etc.)
  • peut être mis en avant (recommandé) ou standard
  • sert à guider le style visuel de l’IA pendant la génération
Quand tu utilises un template, l’IA :
  • analyse la composition et la mise en page
  • extrait les palettes de couleurs et le style visuel
  • applique une esthétique similaire à ta miniature générée
  • y place ton visage en conservant le style

Lister les templates

Récupère les templates disponibles, avec filtres optionnels.
GET /api/templates

Paramètres de requête

ParamètreTypeDéfautDescription
categorystring-Filtre par catégorie
isFeaturedboolean-Ne garde que les templates mis en avant
pagenumber1Numéro de page
limitnumber20Résultats par page (100 max)
Tous les templates :
bash
curl "https://youthumb.ai/api/templates" \
  -H "x-api-key: your_api_key"
Templates gaming mis en avant :
bash
curl "https://youthumb.ai/api/templates?category=gaming&isFeatured=true" \
  -H "x-api-key: your_api_key"
Paginé :
bash
curl "https://youthumb.ai/api/templates?page=2&limit=10" \
  -H "x-api-key: your_api_key"

Réponse de la liste des templates

json
{
  "success": true,
  "data": {
    "templates": [
      {
        "id": "template-uuid-1",
        "name": "MrBeast Style Reaction",
        "description": "High energy reaction with bold colors",
        "category": "reaction",
        "imageUrl": "https://...",
        "thumbnailUrl": "https://...",
        "isFeatured": true,
        "tags": ["reaction", "viral", "colorful"],
        "createdAt": "2024-01-01T00:00:00.000Z"
      },
      {
        "id": "template-uuid-2",
        "name": "Tech Review Clean",
        "description": "Professional product showcase",
        "category": "tech",
        "imageUrl": "https://...",
        "thumbnailUrl": "https://...",
        "isFeatured": true,
        "tags": ["tech", "product", "clean"],
        "createdAt": "2024-01-02T00:00:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 45,
      "totalPages": 3
    }
  }
}

Obtenir le détail d’un template

Récupère le détail complet d’un template précis.
GET /api/templates/{id}
ParamètreTypeDescription
idstring (UUID)ID du template
bash
curl "https://youthumb.ai/api/templates/template-uuid-1" \
  -H "x-api-key: your_api_key"

Réponse avec le détail du template

json
{
  "success": true,
  "data": {
    "id": "template-uuid-1",
    "name": "MrBeast Style Reaction",
    "description": "High energy reaction thumbnail perfect for viral content. Features bold colors, expressive face placement, and attention-grabbing composition.",
    "category": "reaction",
    "imageUrl": "https://...",
    "thumbnailUrl": "https://...",
    "isFeatured": true,
    "tags": ["reaction", "viral", "colorful", "mrbeast"],
    "metadata": {
      "style": "energetic",
      "colorPalette": ["#FF0000", "#FFFF00", "#00FF00"],
      "facePosition": "center-right"
    },
    "createdAt": "2024-01-01T00:00:00.000Z",
    "updatedAt": "2024-01-10T00:00:00.000Z"
  }
}

Erreur : template introuvable

json
{
  "success": false,
  "error": "Template not found"
}
Code de statut : 404 Not Found

Utiliser les templates dans la génération de miniatures

Lors de la création d’une miniature, référence un template par son ID :
json
{
  "prompt": "Shocked reaction to unbelievable news",
  "templateId": "template-uuid-1",
  "personId": "your-person-id"
}
L’IA reprend le style du template en y intégrant :
  • ton visage (issu du profil de personne)
  • les modifications propres à ton prompt
  • les options avancées que tu précises

Template ou URL de référence de style

MéthodeCas d’usage
templateIdUtiliser un template sélectionné par YouThumbAI
styleReferenceUrlUtiliser n’importe quelle URL d’image externe comme référence
youtubeUrlExtraire la miniature d’une vidéo YouTube comme référence
Tu peux utiliser une de ces options par requête.

Catégories courantes

CatégorieDescription
reactionVidéos de réaction et de commentaire
gamingGaming, esport, streams
techTests et tutoriels tech
vlogVlogs et contenu lifestyle
tutorialContenu éducatif et tutoriels pratiques
challengeDéfis et expériences
cinematicMiniatures dramatiques façon cinéma

Exemple complet : JavaScript

javascript
const API = 'https://youthumb.ai/api';
const headers = { 'x-api-key': process.env.YOUTHUMB_API_KEY };

// Lister les templates mis en avant
async function getFeaturedTemplates(category = null) {
  const params = new URLSearchParams({ isFeatured: 'true' });
  if (category) params.append('category', category);

  const response = await fetch(`${API}/templates?${params}`, { headers });
  return response.json();
}

// Obtenir le détail d'un template
async function getTemplate(templateId) {
  const response = await fetch(`${API}/templates/${templateId}`, { headers });
  return response.json();
}

// Générer une miniature avec un template
async function generateWithTemplate(templateId, prompt, personId) {
  const response = await fetch(`${API}/thumbnails`, {
    method: 'POST',
    headers: { ...headers, 'Content-Type': 'application/json' },
    body: JSON.stringify({ templateId, prompt, personId }),
  });
  return response.json();
}

// Utilisation
const templates = await getFeaturedTemplates('gaming');
console.log('Gaming templates:', templates.data.templates.length);

const firstTemplate = templates.data.templates[0];
const thumbnail = await generateWithTemplate(
  firstTemplate.id,
  'Victory celebration after winning the tournament',
  'my-person-id'
);