Generación de recursos con IA para juegos de PlayDrop
Genera imágenes, música, sonido, voz, vídeo y modelos 3D para tu juego: desde el navegador con confirmación del jugador o desde un servidor que paga el creador.
PlayDrop puede generar imágenes, música, efectos de sonido, voz, vídeo y modelos 3D. Úsalo mientras creas un juego o dentro de un juego para que los jugadores reciban contenido generado.
Mientras creas el juego
Los creadores con la sesión iniciada generan recursos desde Crear en la web de PlayDrop (imagen, música, sonido, voz, vídeo y 3D) o se los piden a PlayDrop Cloud mientras crean un juego. Cada generación cuesta Créditos, que se muestran antes de empezar, y el resultado se convierte en un recurso tuyo. Úsalo como cualquier otro recurso: descárgalo en tu paquete o haz referencia a él en uses (recursos de juego).
Dentro de un juego: desde el navegador
sdk.ai.<kind>.createTask(request) pide a PlayDrop que genere contenido para el jugador actual. PlayDrop muestra al jugador una confirmación con el coste en Créditos, el jugador paga y el resultado es privado para él.
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));
}
}- Tipos:
image,music,sfx,speech,videoymodel3d.sdk.ai.inputs.upload(blob)envía una imagen de referencia. - Solo puede haber una confirmación abierta a la vez; una segunda llamada se rechaza con
ai_generation_in_progress. - La generación de texto y JSON desde el navegador no está disponible para los juegos alojados y devuelve
app_ai_generation_disabled. Usa un servidor. - Llámalo a partir de una acción del jugador, durante
play, y gestiona la cancelación.
Dentro de un juego: desde un servidor
En un servidor de juego, playdrop.ai de @playdrop/server genera texto, JSON, imágenes, música, efectos de sonido, voz, vídeo y 3D. Paga el creador, y los resultados son suyos de forma predeterminada; pasa { owner: client.auth } para dar un resultado apto a ese jugador.
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 archivo generado es privado: descárgalo en el servidor y envía los bytes solo al jugador al que va destinado.
- Las solicitudes de voz admiten como máximo 40 palabras.
- Las generaciones de los jugadores de prueba siguen siendo del creador y se ejecutan en modo de prueba.
- Estas llamadas funcionan en juegos subidos, no en desarrollo local.
La generación cuesta Créditos, así que limita la frecuencia con la que los jugadores pueden activarla, y comprueba una solicitud completa, desde la tarea hasta que el jugador realmente lo vea o lo oiga, antes de construir un juego a su alrededor.