# Generazione di asset con l’IA per i giochi PlayDrop

Genera immagini, musica, effetti sonori, voce, video e modelli 3D per un gioco, dal browser con la conferma del giocatore o da un server pagato dal creator.

Source: https://www.playdrop.ai/it/create/learn/ai-assets

PlayDrop può generare immagini, musica, effetti sonori, voce, video e modelli 3D. Usalo mentre crei un gioco, oppure dentro il gioco perché i giocatori ricevano contenuti generati.

## Mentre crei il gioco

I creator che hanno effettuato l’accesso generano asset da Crea sul sito di PlayDrop (immagine, musica, suono, voce, video e 3D) oppure li chiedono a PlayDrop Cloud mentre costruiscono un gioco. Ogni generazione costa crediti, mostrati prima di iniziare, e il risultato diventa un asset di tua proprietà. Usalo come qualsiasi altro asset: scaricalo nel tuo pacchetto o fai riferimento a esso in `uses` ([asset di gioco](https://www.playdrop.ai/it/create/learn/game-assets)).

## Dentro il gioco: dal browser

`sdk.ai.<kind>.createTask(request)` chiede a PlayDrop di generare contenuti per il giocatore attuale. PlayDrop mostra al giocatore una conferma con il costo in crediti, il giocatore paga e il risultato resta privato, visibile solo a quel giocatore.

```js
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));
  }
}
```

- Tipi: `image`, `music`, `sfx`, `speech`, `video` e `model3d`. `sdk.ai.inputs.upload(blob)` invia un’immagine di riferimento.
- Può essere aperta una sola conferma alla volta; una seconda chiamata viene rifiutata con `ai_generation_in_progress`.
- La generazione di testo e JSON dal browser non è disponibile per i giochi ospitati e restituisce `app_ai_generation_disabled`. Usa un server.
- Chiamala da un’azione del giocatore, durante `play`, e gestisci l’annullamento.

## Dentro il gioco: da un server

Su un [server di gioco](https://www.playdrop.ai/it/create/learn/game-servers), `playdrop.ai` di `@playdrop/server` genera testo, JSON, immagini, musica, effetti sonori, voce, video e 3D. Paga il creator, che di default possiede i risultati; passa `{ owner: client.auth }` per dare un risultato idoneo a quel giocatore.

```js
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 file generato è privato: scaricalo sul server e invia i byte solo al giocatore a cui è destinato.
- Le richieste di voce accettano al massimo 40 parole.
- Le generazioni dei giocatori di prova restano di proprietà del creator e vengono eseguite in modalità di prova.
- Queste chiamate funzionano sui giochi caricati, non nello sviluppo locale.

La generazione costa crediti, quindi limita quanto spesso i giocatori possono avviarla, e verifica una richiesta completa, dall’attività fino al momento in cui il giocatore vede o sente davvero il risultato, prima di costruirci sopra un gioco.

## Guide correlate

- [Asset di gioco](https://www.playdrop.ai/it/create/learn/game-assets): Includi immagini, suoni, video e 3D in un gioco: file inclusi, asset propri dichiarati in catalogue.json, asset pubblici, pacchetti di asset e ricerca con sdk.assets.
- [Server in tempo reale](https://www.playdrop.ai/it/create/learn/game-servers): Esegui un server Colyseus 0.17 ospitato con un database MongoDB, collegati dal browser con l’SDK, prova con due giocatori e conosci i limiti.
- [Monetizzazione](https://www.playdrop.ai/it/create/learn/monetization): Chiedi recensioni con requestReview, ricevi mance, vendi oggetti con sdk.shop, mostra annunci interstitial e con ricompensa e scopri quanto guadagna il creator.
