Génération de ressources par IA pour les jeux PlayDrop
Générez images, musique, effets sonores, voix, vidéos et 3D pour un jeu PlayDrop : dans le navigateur avec l’accord du joueur, ou sur un serveur payé par le créateur.
PlayDrop peut générer des images, de la musique, des effets sonores, des voix, des vidéos et des modèles 3D. Utilisez cette génération pendant la création d’un jeu, ou dans le jeu lui-même pour offrir du contenu généré aux joueurs.
Pendant la création du jeu
Les créateurs connectés génèrent des ressources depuis Créer sur le site PlayDrop (image, musique, son, voix, vidéo et 3D) ou les demandent à PlayDrop Cloud pendant la création d’un jeu. Chaque génération coûte des Crédits, affichés avant le lancement, et le résultat devient une ressource qui vous appartient. Utilisez-la comme n’importe quelle autre ressource : téléchargez-la dans votre paquet ou référencez-la dans uses (ressources de jeu).
Dans un jeu : depuis le navigateur
sdk.ai.<kind>.createTask(request) demande à PlayDrop de générer un média pour le joueur actuel. PlayDrop montre au joueur une confirmation avec le coût en Crédits, le joueur paie, et le résultat lui est réservé.
try {
const task = await sdk.ai.image.createTask({ input: "A friendly robot pet, flat colors", aspectRatio: "1:1" });
const done = await waitForTask(task.id);
const blob = await sdk.ai.tasks.downloadFile(done.id);
showPet(URL.createObjectURL(blob));
} catch (error) {
if (error.message === "ai_generation_cancelled") return;
throw error;
}
async function waitForTask(id) {
for (;;) {
const task = await sdk.ai.tasks.get(id);
if (task.status === "DONE") return task;
if (["FAILED", "CANCELLED", "EXPIRED"].includes(task.status)) throw new Error(task.status);
await new Promise((resolve) => setTimeout(resolve, 2000));
}
}- Types :
image,music,sfx,speech,videoetmodel3d.sdk.ai.inputs.upload(blob)envoie une image de référence. - Une seule confirmation peut être ouverte à la fois ; un second appel est rejeté avec
ai_generation_in_progress. - La génération de texte et de JSON depuis le navigateur n’est pas disponible pour les jeux hébergés et renvoie
app_ai_generation_disabled. Utilisez un serveur. - Appelez-la à la suite d’une action du joueur, pendant
play, et gérez l’annulation.
Dans un jeu : depuis un serveur
Sur un serveur de jeu, playdrop.ai de @playdrop/server génère du texte, du JSON, des images, de la musique, des effets sonores, des voix, des vidéos et de la 3D. Le créateur paie et possède les résultats par défaut ; passez { owner: client.auth } pour attribuer un résultat admissible à ce joueur.
import { playdrop } from "@playdrop/server";
const task = await playdrop.ai.speech.createTask({ input: "Welcome back, captain." }, { owner: client.auth });
// Later, once the task is DONE:
const file = await playdrop.ai.tasks.downloadFile(task.id, { role: "primary" });
client.send("speech", { bytes: new Uint8Array(await file.arrayBuffer()), contentType: file.type });- Un fichier généré est privé : téléchargez-le sur le serveur et n’envoyez les octets qu’au joueur concerné.
- Les requêtes de synthèse vocale acceptent 40 mots au maximum.
- Les générations des joueurs de test restent la propriété du créateur et s’exécutent en mode test.
- Ces appels fonctionnent dans les jeux envoyés sur PlayDrop, pas en développement local.
La génération coûte des Crédits : limitez la fréquence à laquelle les joueurs peuvent la déclencher, et validez une requête complète, de la tâche jusqu’au moment où le joueur voit ou entend réellement le résultat, avant de construire un jeu autour.