pub

Aan de slag met de Luma AI API met Node.js en Axios

Hoe je Luma AI API gebruikt met Node.js en Axios

Dus, Lumalabs heeft echt indruk gemaakt met hun Dream Machine functie. Die laat je geweldige video-inhoud maken met AI. En raad eens? Je kunt deze magie gebruiken via hun API! In deze gids laat ik je zien hoe je met Node.js en Axios de Luma AI API kunt gebruiken voor eenvoudig intern gebruik.

1. Wat is Lumalabs en Dream Machine?

Voordat we de code induiken, laten we het even hebben over Lumalabs. Zij zijn de genieën achter Dream Machine, een krachtige AI-tool die video's genereert op basis van tekst- en afbeeldingsuggesties. Of je nu een creatieve professional bent of gewoon iemand die graag met AI speelt, Dream Machine biedt een wereld van mogelijkheden.

2. Je Node.js Project Instellen

Laten we beginnen met het opzetten van een Node.js project. Als je dat nog niet hebt gedaan, maak dan een nieuwe map voor je project en voer uit:

npm init -y

Dit zet een basis Node.js project op. Vervolgens moet je Axios installeren voor het maken van HTTP-aanvragen:

npm install axios form-data

We gaan Axios gebruiken om de aanvragen naar de Luma API te behandelen.

3. Luma API Wrappen met Axios

Oké, nu komt het leuke gedeelte! Laten we een eenvoudige wrapper functie maken met Axios. Hier is een korte uitleg van de code:

const axios = require('axios');
const FormData = require('form-data');

let data = new FormData();
data.append('arg_prompt', 'wind blows');
data.append('callback', 'http://127.0.0.1:3001/api/cb_task');

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.lumaapi.com/api/v1/generation/add',
  headers: {
    ...data.getHeaders()
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

3.1 De Code Begrijpen

  • FormData: We gebruiken FormData om de aanvraagbody te verwerken, die de suggestie en de callback-URL bevat.
  • Axios Aanroep: De axios.request() methode verstuurt de POST-aanroep naar de Luma API. Als alles goed gaat, logt het de response; als het misgaat, vangt het de fout en logt deze.

4. De Response Behandelen

Zodra de aanvraag succesvol is, geeft de Luma API een response met een taak-ID. Hier is een voorbeeld van wat je zou kunnen krijgen:

{
    "code": 0,
    "msg": "Ok",
    "data": {
        "task_id": "la1234-5678-xxxxxx"
    }
}

4.1 Wat te Doen met de Taak-ID?

De taak-ID is jouw toegangspas om de gegenereerde video op te halen. Luma zal je aanvraag verwerken en dan het resultaat naar de callback-URL sturen die je hebt opgegeven.

5. De Callback Behandelen

Laten we het over de callback hebben. Wanneer Luma klaar is met verwerken, stuurt het het resultaat naar je server op de URL die je hebt opgegeven. Hier is een voorbeeld van hoe de data eruit kan zien:

{
  "code": 0,
  "msg": "string",
  "detail": "string",
  "data": {
    "task_id": "string",
    "payload": {},
    "result": {
      "id": "string",
      "prompt": "string",
      "created_at": "2024-06-22T13:57:05.878000Z",
      "video": {
        "url": "string",
        "download_video_url": "string",
        "thumbnail": "string",
        "width": 0,
        "height": 0
      }
    }
  }
}

5.1 Je Callback Server Opzetten

Om dit te verwerken, heb je een server nodig die draait op de callback-URL. Een simpele Node.js Express server zou hier perfect voor zijn. Hier is een basisvoorbeeld:

const express = require('express');
const app = express();

app.use(express.json());

app.post('/api/cb_task', (req, res) => {
  const data = req.body;
  console.log('Callback ontvangen:', data);
  res.sendStatus(200);
});

app.listen(3001, () => {
  console.log('Server draait op poort 3001');
});

6. Conclusie

En daar heb je het! Je hebt net geleerd hoe je de Luma AI API kunt integreren met Node.js met behulp van Axios. Dit is nog maar het begin; je kunt hierop bouwen om meer geavanceerde functies te maken en echt het potentieel van de Dream Machine van Luma te ontgrendelen.

Veel plezier met coderen!