Documentation de l'API de génération d'images
KozeAI fournit des interfaces de génération et d'édition d'images de type OpenAI. L'interface d'image renvoie un format de réponse uniforme, mais la taille, la qualité, l'image de référence et le format de sortie spécifiques pris en charge par le modèle sont déterminés par l'adaptateur de canal.
Authentification
Toutes les requêtes sont authentifiées via Authorization: Bearer . Utilisé après la création d'un jeton API dans la console.
export KOZEAI_API_KEY='sk-your-token'
export KOZEAI_BASE_URL='https://your-kozeai-domain'
Présentation de l'API
| Méthode | Chemin | Type de contenu | Objectif | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| POST | /v1/images/generations |
application/json |
Texte généré Images | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Paramètres | Type | Obligatoire | Description |
|---|---|---|---|
model |
string | Is | Nom du modèle d'image. Les modèles disponibles dépendent des résultats de /v1/models. |
prompt |
string | Oui | Description du contenu de l'image. Il est recommandé d'utiliser une chaîne non vide. |
n |
Entier | Non | Nombre d'éléments générés, par défaut 1, plage de validation courante : 1-10. |
taille |
Chaîne de caractères | Non | Taille ou format de l'image ; la valeur spécifique est déterminée par le modèle. |
qualité |
Chaîne de caractères | Non | Qualité Niveau, valeurs courantes : standard, hd, auto, 2k, 4k. |
response_format |
string | Non | Les valeurs courantes sont url ou b64_json. |
style |
any | Non | Paramètre de style compatible avec OpenAI. |
user / user_id |
any | Non | Identifiant de l'utilisateur appelant. |
extra_fields |
object | Non | Paramètre structuré supplémentaire ; Son efficacité dépend de l'adaptateur de canal. |
background |
any | No | Paramètres d'arrière-plan. |
moderation |
any | No | Paramètres de modération du contenu. |
output_format |
any | No | Format de l'image de sortie. |
output_compression |
integer | Non | Paramètre de compression de sortie, pris en charge par certains modèles d'images Codex. |
partial_images |
integer | Non | Paramètres liés à l'image/au flux, pris en charge par certains modèles d'images Codex. |
watermark |
boolean | Non | Activation/désactivation du filigrane ; son efficacité dépend du canal. |
watermark_enabled |
any | Non | Compatible avec certains paramètres de filigrane en amont. |
image |
string/object/array | Non | Se référer à l'URL de l'image, à l'URL des données ou à l'objet image ; Certaines chaînes passeront automatiquement en mode montage. |
DALL·E Taille et valeurs par défaut
| Modèle | Taille Autorisée Valeurs |
Par défaut |
|---|---|---|
dall-e-2 / dall-e |
256x256、512x512、1024x1024 |
1024x1024 |
1024x1024, 1024x1792, 1792x1024 |
1024x1024 |
|
gpt-image-1 / gpt-image-2 |
Déterminé par le modèle en amont | quality=auto |
size Utilisez des caractères demi-chasse x, n'utilisez pas le signe de multiplication ×.
2. Édition d'images
Les demandes d'édition standard utilisent le formulaire multipart, avec le champ image nommé image. Plusieurs images peuvent être réutilisées à l'aide de image ou image[].
curl '$KOZEAI_BASE_URL/v1/images/edits' \
-H 'Authorization: Bearer $KOZEAI_API_KEY' \
-F 'model=gpt-image-1' \
-F 'prompt=Change the background to night scene and retain subject details' \
-F 'image=@./input.png' \
-F 'n=1' \
-F 'quality=standard'
Formulaire commun Champs :
| Champ | Type | Description |
|---|---|---|
model |
string | Modèle d'édition d'image. |
prompt |
string | Conditions d'édition. |
image / image[] |
file | Saisissez au moins une image. |
masque |
fichier | Image du masque ; Principalement utilisé pour les flux de travail d'édition compatibles OpenAI/Codex. |
n |
entier | Nombre d'éléments générés, par défaut 1, plage 1-10. |
taille |
chaîne de caractères | Taille ou ratio de sortie. |
qualité |
chaîne de caractères | Qualité de sortie. |
response_format |
string | url ou b64_json, selon le canal. |
watermark |
boolean | Activation/désactivation du filigrane, selon le canal. |
Certains canaux prennent également en charge les requêtes de modification JSON, comme la définition de image sur une URL de données ou d'image ; cependant, les chemins de modification OAuth d'OpenAI, Codex et ChatGPT utilisent de préférence le format multipart.
3. Différences entre les canaux
| Canal | Comportements supplémentaires |
|---|---|
| OpenAI / DALL·E | Transmis par le champ image d'OpenAI ; DALL·E effectue une validation stricte de la taille. |
| xAI | taille sera convertie en ratio d'aspect et résolution ; format de réponse est par défaut b64_json. Des paramètres JSON supplémentaires tels que ratio d'aspect et résolution sont pris en charge. |
| Flow | size Prend en charge les formats d'image 1:1, 16:9, 9:16, 4:3 et 3:4 ; quality=2k/4k déclenche un processus de mise à l'échelle. Les images de référence sont chargées via image. |
| Jimeng / Dreamina | size est utilisé pour le mappage du format d'image ; quality=hd sélectionne une résolution supérieure ; l'image de référence est alors intégrée au processus de fusion. |
| Codex | Prise également en charge de input_fidelity, mask, stream, output_format, output_compression et partial_images. |
| Authentification OAuth ChatGPT | Utilise effectivement model, prompt et n pour modifier les images ; les autres paramètres d'image peuvent être ignorés. |
| Grok | response_format Prend uniquement en charge url ou b64_json, la valeur par défaut étant url ; les requêtes de modification nécessitent au moins une image. |
Les paramètres non définis dans les champs publics ne sont pas automatiquement transmis. Seuls les paramètres supplémentaires explicitement lus par l'adaptateur de canal correspondant seront pris en compte.
4. Format de réponse
{
"created": 1751000000,
"data": [
{
"url": "https://example.com/generated.png",
"b64_json": "",
"revised_prompt": "Un chat orange assis près de la fenêtre, lumière et ombre cinématographiques"
}
]
}
Lorsque `response_format=b64_json`, le contenu de l'image se trouve dans `data[].b64_json` ; lorsque le format URL est utilisé, l'adresse de l'image se trouve dans `data[].url`. Différents canaux peuvent renvoyer des chaînes vides pour les champs inutilisés.
5. Exemple d'appel JavaScript
const baseURL = process.env.KOZEAI_BASE_URL;
const apiKey = process.env.KOZEAI_API_KEY;
const response = await fetch(`${baseURL}/v1/images/generations`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-1',
prompt: 'Illustration minimaliste d'un produit sur fond blanc',
n: 1, size: 1024x1024,
response_format: url,
}),
});
if (!response.ok) {
throw new Error(await response.text());
} const result = await response.json();
console.log(result.data[0].url || result.data[0].b64_json);
6. Erreurs courantes
Le modèle est requis: Nom du modèle non fourni.L'invite est requise: Texte d'invite vide.n doit être compris entre 1 et 10: Nombre de générations supérieur à la limite publique.La taille doit être comprise entre…: DALL·E utilise une taille non prise en charge.Une image est requise: L'interface d'édition n'a pas chargé d'image ou n'a pas fourni de référence d'image valide.Format de réponse non pris en charge: Le canal cible ne prend pas en charge le format de sortie demandé.