/api/v1/outils-ia/generer-promptAPI Générateur de prompt
Structure un prompt prêt à l'emploi pour un modèle de langage à partir d'une tâche décrite en langage naturel.
Tapez au moins 2 caractères pour lancer la recherche.
Présentation
Écrire un bon prompt demande de penser au contexte, au format attendu et aux contraintes. Cet endpoint prend une tâche décrite simplement et renvoie un prompt structuré, à copier dans le modèle de langage de votre choix.
Un modèle de langage hébergé par Websource rédige le prompt selon le niveau de détail demandé : « simple » (quelques phrases directes), « standard » (contexte, tâche, format attendu) ou « avance » (structure plus complète). Le contexte, le format de sortie et les contraintes sont optionnels mais sont intégrés au prompt quand vous les fournissez.
Pour industrialiser la rédaction de prompts dans une application, aider des utilisateurs non techniques à formuler une demande, ou standardiser les consignes envoyées à un assistant IA dans une équipe.
Utilisation pas à pas
- 1Décrivez la tâche (10 à 2 000 caractères) dans le champ task.
- 2Ajoutez éventuellement context, outputFormat, constraints et detailLevel.
- 3Récupérez le prompt prêt à l'emploi dans le champ prompt de la réponse.
Limites à connaître
- Tâche de 10 à 2 000 caractères ; contexte jusqu'à 500 ; format de sortie jusqu'à 200 ; contraintes jusqu'à 500.
Endpoint et authentification
Chaque requête porte votre jeton dans l'en-tête Authorization, et le corps est envoyé en JSON (Content-Type: application/json). Le jeton est gratuit, sur demande depuis votre compte (formulaire en bas de page).
Authorization: Bearer VOTRE_JETONParamètres du corps (JSON)
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| task | string | Requis | Tâche à accomplir (10 à 2 000 caractères). |
| context | string | Optionnel | Contexte utile (500 caractères max). |
| outputFormat | string | Optionnel | Format de sortie attendu (200 caractères max). |
| constraints | string | Optionnel | Contraintes à respecter (500 caractères max). |
| detailLevel | string | Optionnel | 'simple', 'standard' ou 'avance' — défaut 'standard'. |
Exemples de code
Le même appel en plusieurs langages. Remplacez VOTRE_JETON par le jeton reçu par e-mail et gardez-le côté serveur (variable d'environnement), jamais dans un dépôt public.
curl -X POST https://www.websource.fr/api/v1/outils-ia/generer-prompt \
-H "Authorization: Bearer VOTRE_JETON" \
-H "Content-Type: application/json" \
-d '{"task":"Résumer un article de blog en trois points clés","outputFormat":"Liste à puces","detailLevel":"standard"}'<?php
$ch = curl_init('https://www.websource.fr/api/v1/outils-ia/generer-prompt');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer VOTRE_JETON',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'task' => 'Résumer un article de blog en trois points clés',
'outputFormat' => 'Liste à puces',
'detailLevel' => 'standard',
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
import requests
response = requests.post(
"https://www.websource.fr/api/v1/outils-ia/generer-prompt",
headers={"Authorization": "Bearer VOTRE_JETON"},
json={
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
},
timeout=60,
)
print(response.json())
// Node.js 18+ (fetch natif)
const response = await fetch("https://www.websource.fr/api/v1/outils-ia/generer-prompt", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WEBSOURCE_API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
}),
});
const data = await response.json();
console.log(data);
// ⚠️ Ne placez jamais votre jeton dans du code exécuté dans le navigateur.
// Appelez l'API depuis votre serveur (route API Next.js, Express…) et
// laissez React appeler cette route : ici "/api/websource/generer-prompt".
import { useState } from "react";
export default function GenererPrompt() {
const [result, setResult] = useState(null);
const [loading, setLoading] = useState(false);
async function run() {
setLoading(true);
const response = await fetch("/api/websource/generer-prompt", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
}),
});
setResult(await response.json());
setLoading(false);
}
return (
<div>
<button onClick={run} disabled={loading}>
{loading ? "Traitement…" : "Lancer"}
</button>
{result && <pre>{JSON.stringify(result, null, 2)}</pre>}
</div>
);
}
require "net/http"
require "json"
uri = URI("https://www.websource.fr/api/v1/outils-ia/generer-prompt")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer VOTRE_JETON"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{"task":"Résumer un article de blog en trois points clés","outputFormat":"Liste à puces","detailLevel":"standard"}`)
req, _ := http.NewRequest("POST", "https://www.websource.fr/api/v1/outils-ia/generer-prompt", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer VOTRE_JETON")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer VOTRE_JETON");
var json = """
{
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
}
""";
var response = await client.PostAsync(
"https://www.websource.fr/api/v1/outils-ia/generer-prompt",
new StringContent(json, Encoding.UTF8, "application/json"));
Console.WriteLine(await response.Content.ReadAsStringAsync());
// Java 15+ (java.net.http et blocs de texte)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
String json = """
{
"task": "Résumer un article de blog en trois points clés",
"outputFormat": "Liste à puces",
"detailLevel": "standard"
}
""";
HttpRequest request = HttpRequest.newBuilder(URI.create("https://www.websource.fr/api/v1/outils-ia/generer-prompt"))
.header("Authorization", "Bearer VOTRE_JETON")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Réponses
Réponse en cas de succès (code 200) :
{
"success": true,
"prompt": "…prompt structuré…"
}| Code | Signification | Que faire |
|---|---|---|
| 400 | Paramètre manquant ou invalide | Lisez le champ error, il précise la limite dépassée. |
| 401 | Jeton absent, invalide ou révoqué | Vérifiez l'en-tête Authorization. |
| 429 | Limite horaire atteinte | Attendez l'échéance indiquée dans Retry-After. |
| 503 | Service momentanément indisponible | Réessayez après quelques instants. |
Toute erreur a la forme {"success": false, "error": "…"}. Limite par défaut : 60 requêtes par heure et par jeton (ajustable sur demande).
Demander un accès API
Gratuit. Un jeton vous est envoyé par e-mail une fois la demande approuvée. Il donne accès à tous les outils de cette API.
Pour demander un accès, connectez-vous ou créez un compte gratuit. Vous reviendrez ensuite directement sur ce formulaire.