Démarrage rapide et guide d’intégration API

Une clé API suffit pour le texte, les images et la vidéo. Les exemples utilisent l’adresse de ce site comme point d’accès API.

Authentification et choix du modèle

Créez et enregistrez une clé dans la console, puis transmettez-la dans l’en-tête Authorization: Bearer. Conservez-la côté serveur.

Remplacez MODEL_ID par l’ID d’un modèle publié. Protocoles, durée, résolution et prix dépendent du modèle.

OpenAI SDK
base_url = "https://www.lvzhouai.cc/v1"

Texte

POST /v1/chat/completions

bash
curl 'https://www.lvzhouai.cc/v1/chat/completions' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"messages": [
{
"role": "user",
"content": "Hello"
}
],
"max_tokens": 64
}'

Images

POST /v1/images/tasks

bash
curl 'https://www.lvzhouai.cc/v1/images/tasks' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "gpt-image-2",
"prompt": "A blue ceramic cup on a wooden table",
"resolution": "1K"
}'

Vidéo

POST /v1/videos/tasks

bash
curl 'https://www.lvzhouai.cc/v1/videos/tasks' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: YOUR_UNIQUE_REQUEST_ID" \
-d '{
"model": "grok-imagine-video-1.5",
"prompt": "A slow camera movement through a garden",
"resolution": "480p",
"duration": 8
}'

Démarrage avec Python et Node.js

Définissez API_STATION_KEY dans l’environnement de votre serveur. Ces exemples utilisent le même endpoint de texte que curl.

Python 3
import json, os
from urllib.request import Request, urlopen

request = Request(
"https://www.lvzhouai.cc/v1/chat/completions",
data=json.dumps({"model": "gpt-6-luna", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 64}).encode(),
headers={"Authorization": "Bearer " + os.environ["API_STATION_KEY"], "Content-Type": "application/json"},
)
with urlopen(request, timeout=60) as response:
print(json.load(response)["choices"][0]["message"]["content"])
Node.js 20+
const response = await fetch("https://www.lvzhouai.cc/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.API_STATION_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-6-luna",
messages: [{ role: "user", content: "Hello" }],
max_tokens: 64,
}),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.message || "Request failed");
console.log(result.choices[0].message.content);

Modèles, paramètres et unités de facturation

Les prix du texte sont indiqués par million de tokens d’entrée ou de sortie. Les images sont facturées à l’unité et les vidéos par seconde générée. Vérifiez le tarif du modèle et des paramètres choisis avant l’envoi.

Les exemples utilisent les paramètres publiés : gpt-image-2 en 1K et grok-imagine-video-1.5 en 480p pendant 8 secondes. Ne supposez pas que d’autres formats, durées, outils ou entrées multimédias sont pris en charge.

Utilisez GET /v1/models pour lister les modèles accessibles à votre clé. Le catalogue public présente les paramètres et les prix ; les permissions de votre clé peuvent limiter la liste.

bash
curl 'https://www.lvzhouai.cc/v1/models' \
-H "Authorization: Bearer YOUR_API_KEY"

La création d’une tâche renvoie HTTP 201 avec id, state et billing_state. Interrogez GET /v1/tasks/{id} avec la même clé API. succeeded indique le succès de la génération et settled celui du règlement. Si l’envoi est incertain, conservez la même Idempotency-Key et les mêmes données.

État et résultats des tâches

Pour chaque image ou vidéo, utilisez un Idempotency-Key unique de 16 à 128 caractères. Si le résultat est incertain, réessayez avec la même clé et les mêmes données.

Conservez l’id de la tâche et consultez son état avec la même clé API. Lorsque state vaut succeeded, lisez results[].url et vérifiez séparément billing_state.

GET /v1/tasks/{id}

bash
curl 'https://www.lvzhouai.cc/v1/tasks/TASK_ID' \
-H "Authorization: Bearer YOUR_API_KEY"

Lisez results[].url et, si présent, results[].expires_at. Les liens sont temporaires : enregistrez les fichiers à conserver. Interroger la même tâche renouvelle le lien du site sans nouvelle génération. Le résultat du fournisseur peut toutefois expirer.

Résoudre les problèmes de requêtes

401 / 403
Vérifiez l’état de la clé API et ses autorisations sur le modèle.
400
Vérifiez l’identifiant du modèle et les paramètres d’entrée pris en charge.
402
Le solde disponible est insuffisant pour cette requête.
409
Pour réessayer, utilisez l’Idempotency-Key d’origine avec des données identiques. Utilisez une nouvelle clé pour une autre opération.
429
Attendez le délai Retry-After avant de réessayer.
503
Le service peut être suspendu ou non configuré. Vérifiez sa disponibilité auprès de l’administrateur.

Conservez l’en-tête de réponse X-Oneapi-Request-Id pour signaler un problème. Ne transmettez jamais votre clé API, mot de passe ou code de vérification.

Ne relancez pas automatiquement une requête après le début du flux. En cas d’interruption, conservez l’ID et vérifiez la consommation.

Voir la consommation