Kör ditt teams mall
Anropa en mall som publicerats i ElevenCreative Flows från din applikation.
Så här gör du · Förutsätter att du har slutfört kom igång-guiden för mallar.
Den här guiden handlar om att köra en mall som ditt team har skapat: kopiera dess kod, skicka varje typ av indata, välja vilka webhooks som tar emot resultatet, låsa en version och läsa utdata.
Innan du börjar
- Mallen delas med din arbetsyta. Dess skapare ställer in detta under Workspace i mallens delningsalternativ; en mall som delas som Just me kan bara köras av dess skapare.
- Din arbetsyta har en webhook som prenumererar på mallkörningar. Innan du börjar i guiden om Image & Video-webhooks visar hur du konfigurerar en.
- Din arbetsyta har en Pro-plan eller högre, och din API-nyckel har behörigheten Image & Video.
Kopiera mallens kod
Öppna mallen i ElevenLabs-appen och välj fliken API. I Flows kan mallens skapare öppna samma kod från knappen API i mallens sidofält.
Fliken bygger sina kodexempel utifrån mallens publicerade indata och utdata. Under Välj hur du vill få resultatet, välj Webhook och välj sedan Python eller TypeScript ovanför koden. Fliken visar kodexemplen Starta en körning och Hantera resultatet. Kopiera Starta en körning till platsen där din applikation startar körningar, och Hantera resultatet till din webhook-hanterare. Varje platshållare i Starta en körning motsvarar en indata, och Hantera resultatet läser varje utdata med dess id.
Fliken varnar när mallen använder en modell som API:t inte erbjuder. Om ingen publicerad version kan köras via API:t visas inga kodexempel; om bara den senaste inte kan det, kör kodexemplen den nyaste versionen som kan. I Flows väljer skaparen Show on canvas i varningen för att markera dessa noder, byter var och en till en tillgänglig modell och publicerar igen.
Skicka varje indata
Varje indata i versionen du kör måste få ett värde, med indatats id som nyckel. Hur värdet ser ut beror på indatatypen:
Indata av typen object kan ännu inte skickas via API:t; API-fliken varnar för dem.
Indata-id:n behåller stavningen som mallen ger dem i båda SDK:erna; endast fälten i en referens, till exempel assetId, skrivs i camelCase i TypeScript.
Base64-data är begränsad till 25 MB efter avkodning och sparas inte efter körningen. Om du vill skicka samma fil till många körningar laddar du upp den en gång och skickar dess tillgångs-id, enligt beskrivningen i Referenser och tillgångar.
Hämta resultatet
En webhook tar emot den slutförda körningen som en flows_template_run-händelse. API-flikens kodexempel för Webhook skickar {"type": "all"}, vilket skickar den slutförda körningen till varje webhook i arbetsytan som prenumererar på mallkörningar. Om du vill skicka den till specifika webhooks listar du deras id:n:
Varje listad webhook måste prenumerera på mallkörningar. En körning som begär en webhook när ingen prenumererar avvisas, så en körning blir aldrig klar utan någonstans att leverera resultatet.
För ett engångsskript eller batchjobb väntar create_and_wait, som används i kom igång-guiden för mallar, i stället på att körningen ska bli klar.
Lås en version
Kodexemplen skickar version_id för den nyaste publicerade version som API:t kan köra. Behåll den låst: när skaparen publicerar igen fortsätter en låst körning att använda versionen du testade, medan latest växlar till den nya, som kan byta namn på eller lägga till indata.
För att gå över till en ny version öppnar du API-fliken igen, jämför dess indata med dem som din kod skickar och uppdaterar version_id. Om du i stället vill kontrollera från kod returnerar flows.templates.get mallens publicerade versioner som API:t kan köra, nyast först, var och en med sina indata och utdata.
Läs utdata
Den slutförda körningens outputs har en post per utdata i mallen, med utdatats id som nyckel. Varje utdata har sin egen status, så en utdata kan misslyckas medan de andra slutförs. En misslyckad utdata innehåller failure_reason och error_message. En slutförd medieutdata innehåller content_url och content_mime_type, och en slutförd string-utdata innehåller content.
constructEvent i TypeScript SDK:t returnerar händelsens JSON precis som det skickades, så dess fält är snake_case.
Se Leveransbeteende för omförsök och dubbletthändelser.