Hoppa till huvudinnehåll
Denna artikel kommer att introducera en Midjourney Videos API integrationsbeskrivning, som kan generera officiella Midjourney-videor genom att ange anpassade parametrar.

Ansökningsprocess

För att använda API:et måste du först gå till Midjourney Videos API motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på knappen “Acquire”, som visas i bilden nedan: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in. Efter att ha loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda API:et gratis.

Grundläggande användning

Först och främst, förstå den grundläggande användningsmetoden, som är att ange en prompt prompt, en åtgärd action, och en array av referensbilder för första och sista bild image_url, så får du det bearbetade resultatet. Först behöver du enkelt skicka ett action-fält, vars värde är generate. Det innehåller huvudsakligen två typer av åtgärder: generera video (generate), utöka video (extend), detaljerna är som följer:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken format av svar du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, som kan väljas direkt efter ansökan.
Dessutom har vi ställt in Request Body, inklusive:
  • image_url: länken till referensbilden för den första ramen av den genererade videon.
  • end_image_url: valfritt, anger referensbilden för den sista ramen av den genererade videon.
  • video_id: krävs för att utöka videon.
  • video_index: krävs för att specificera vilken video som anges av video_id, indexet börjar från 0, standard är 0.
  • action: åtgärden för denna videogenereringsuppgift, som huvudsakligen innehåller två typer av åtgärder: generera video (generate), utöka video (extend).
  • prompt: promptord.
  • mode: hastighetsläge för videogenerering, standard är fast.
  • resolution: videokvalitet, standard är 720p.
  • loop: om en loopvideo ska genereras, standard är false.
  • callback_url: URL för att få tillbaka resultatet.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden nedan:

Klicka på knappen “Try” för att testa, som visas i bilden ovan, här får vi följande resultat:
{
  "image_url": "https://storage.fonedis.cc/upload_1751816808164156352.png",
  "image_width": 560,
  "image_height": 688,
  "progress": 100,
  "video_id": "1751816807896311",
  "video_urls": [
    "https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_0.mp4",
    "https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_1.mp4",
    "https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_2.mp4",
    "https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_3.mp4"
  ],
  "task_id": "037955e0-deee-4050-baa8-1416300d67e2",
  "success": true
}
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, statusen för videogenereringsuppgiften.
  • task_id, ID för videogenereringsuppgiften.
  • image_url, omslagsbilden för videogenereringsuppgiften.
  • image_width, bredden på omslagsbilden för videogenereringsuppgiften.
  • image_height, höjden på omslagsbilden för videogenereringsuppgiften.
  • video_id, video-ID för videogenereringsuppgiften.
  • video_urls, array av videolänkar för videogenereringsuppgiften.
Vi kan se att vi har fått tillfredsställande videoinformation, vi behöver bara hämta den genererade Midjourney-videon baserat på videolänkarna i video_urls. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:
curl -X POST 'https://api.acedata.cloud/midjourney/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "prompt": "A cat sitting on a table",
  "image_url": "https://cdn.acedata.cloud/jgo1cw.jpg"
}'

Utöka videofunktion

Om du vill fortsätta generera en redan skapad Kling-video kan du ställa in parametern action till extend, och ange ID för videon som behöver fortsätta genereras. Video-ID:t kan hämtas enligt grundläggande användning. I det här fallet kan vi se att video-ID:t från ovanstående video är:
"video_id": "1751816807896311"
Observera att video-ID:t här är ID:t för den genererade videon. Om du inte vet hur man genererar en video kan du referera till den grundläggande användningen ovan för att generera en video.
Nästa steg är att fylla i den prompt som behövs för att anpassa den genererade videon, så kan du specificera följande innehåll:
  • video_index: välj det index för den video som ska utökas, detta index är från video_urls som genererades ovan, indexet börjar från 0, standardvärdet är 0.
  • video_id: det angivna video-ID:t för att utöka videon.
  • action: åtgärden för denna utvidgning av video, som är extend.
  • prompt: promptord.
Exempel på ifyllning nedan:

När du har fyllt i det kommer koden automatiskt att genereras som följer:

Motsvarande Python-kod:
import requests

url = "https://api.acedata.cloud/midjourney/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "prompt": "A cat sitting on a table",
    "video_id": "1751816807896311",
    "video_index": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Klicka på körning, så kan du se att ett resultat kommer att erhållas, som följer:
{
    "image_url": "https://storage.fonedis.cc/upload_1751817471047011172.png",
    "image_width": 560,
    "image_height": 688,
    "progress": 100,
    "video_id": "1751818094559027",
    "video_urls": [
        "https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_0.mp4",
        "https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_1.mp4",
        "https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_2.mp4",
        "https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_3.mp4"
    ],
    "task_id": "da3bdcd0-9c21-4b40-877a-2c36e5f479e5",
    "success": true
}
Det kan ses att resultatinnehållet är i linje med ovanstående text, vilket också uppnår videoutvidgningsfunktionen.

Asynkron återkoppling

Eftersom Midjourney Videos API:s genereringstid är relativt lång, cirka 1-2 minuter, om API:t inte svarar under en längre tid, kommer HTTP-förfrågan att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning, så detta API erbjuder också stöd för asynkron återkoppling. Den övergripande processen är: när klienten initierar en begäran, specificerar den ett extra callback_url-fält, efter att klienten har initierat API-förfrågan kommer API:t omedelbart att returnera ett resultat som innehåller ett task_id-fält, vilket representerar det aktuella uppdragets ID. När uppdraget är slutfört kommer resultatet av den genererade videon att skickas till klientens angivna callback_url i POST JSON-format, vilket också inkluderar task_id-fältet, så att uppdragsresultatet kan kopplas ihop med ID:t. Nedan kommer vi att förstå hur man gör detta genom ett exempel. Först är Webhook-återkopplingen en tjänst som kan ta emot HTTP-förfrågningar, utvecklaren bör ersätta med URL:en till sin egen byggda HTTP-server. Här för att underlätta demonstration använder vi en offentlig Webhook-exempelsida https://webhook.site/, öppna denna webbplats för att få en Webhook-URL, som visas i bilden:

Kopiera denna URL, så kan den användas som Webhook, exemplet här är https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f. Därefter kan vi ställa in fältet callback_url till ovanstående Webhook-URL, samtidigt som vi fyller i motsvarande parametrar, det specifika innehållet visas i bilden:

Klicka på kör, och du kan upptäcka att du omedelbart får ett resultat, som följer:
{
  "task_id": "b726a27a-f379-4d91-b569-cfe4b7b299ee"
}
Vänta en stund, så kan vi observera resultatet av den genererade videon på https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f, som visas i bilden:

Innehållet är som följer:
{
  "image_url": "https://storage.fonedis.cc/upload_1751818513244368774.png",
  "image_width": 560,
  "image_height": 688,
  "progress": 100,
  "video_id": "1751818512924054",
  "video_urls": [
    "https://storage.fonedis.cc//video/9ff3783e-bcf6-4f11-b738-09aa52318e6e/0_0.mp4",
    "https://storage.fonedis.cc//video/9ff3783e-bcf6-4f11-b738-09aa52318e6e/0_1.mp4",
    "https://storage.fonedis.cc//video/9ff3783e-bcf6-4f11-b738-09aa52318e6e/0_2.mp4",
    "https://storage.fonedis.cc//video/9ff3783e-bcf6-4f11-b738-09aa52318e6e/0_3.mp4"
  ],
  "task_id": "b726a27a-f379-4d91-b569-cfe4b7b299ee",
  "success": true
}
Det kan ses att resultatet innehåller ett task_id-fält, de andra fälten är liknande som ovan, genom detta fält kan uppdraget kopplas ihop.

Felhantering

Vid anrop av API:t, om ett fel uppstår, kommer API:t att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obefogad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många förfrågningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Exempel på felrespons

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Midjourney Videos API för att generera videor genom att ange ledande ord och en referensbild för första ramen. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.