Ett AI-API för batchgenerering är användbart när varje utdata kan hittas, granskas och köras om på egen hand. Det spelar större roll än hur många prompts du skickar in samtidigt. Det dyra ögonblicket är inte begäran nummer 1 000. Det är när uppgift 37 tar timeout, uppgift 38 lyckas, två filer delar namn och ingen kan avgöra vilken bild som är säker att publicera.
Betrakta en batch som en samling återställbara tillgångsjobb. Ge varje jobb ett varaktigt affärs-ID, spara exakt indata och modellinställningar, begränsa samtidighet och försök bara igen på det objekt som faktiskt misslyckades. Den här guiden använder ett arbetsflöde för en karaktärskampanj med 8 tillgångar så att en utvecklare eller tillväxtteam kan omvandla en manifest till en kontrollerad produktionskörning.
Viktiga lärdomar
- Ett batchjobb och parallella förfrågningar löser olika problem med latens och kontroll.
- Stabila tillgångs-ID:n och idempotensnycklar gör partiella fel hanterbara.
- Börja med 4 till 8 visuella tillgångar, granska dem och utöka sedan.
- Ett lyckat API-svar behöver fortfarande granskas visuellt och avseende rättigheter innan publicering.
AI-API för batchgenerering: svaret först
Ett AI-API för batchgenerering skickar en uppsättning distinkta genereringsuppgifter till en asynkron kö och returnerar sedan deras resultat via statuskontroller, en återkoppling vid slutförande eller en nedladdningsbar utdatafil. Varje uppgift behöver en identitet som finns utanför modellleverantören. Leverantörens jobb-ID hjälper driften, men maya-ridgeline-001 är vad som låter ditt redaktionella system eller kampanjsystem identifiera tillgången månader senare.
Slå inte samman tre relaterade idéer. En enda prompt kan begära flera varianter. Din egen arbetare kan skicka flera vanliga förfrågningar samtidigt. Ett batchjobb på serversidan är en leverantörshanterad samling som slutförs senare. Det senare passar ofta offline-arbete, medan kontrollerade parallella förfrågningar passar en instrumentpanel som behöver omedelbara framsteg.
OpenAI:s nuvarande Batch API-dokumentation illustrerar det asynkrona mönstret: förfrågningar samlas i JSONL, skickas som ett jobb, kontrolleras för slutförande och hämtas som resultat. Dess 24-timmarsfönster, separata batchhastighetsgränser och begränsningar är specifika för den tjänsten, inte ett löfte som alla bildleverantörer ger (OpenAI Batch API-dokumentation, september 2026). Geminis nuvarande referens dokumenterar på samma sätt långvariga batchjobb, statuskontroller och webhook-stöd för sin tjänst (Gemini Batch API-referens, september 2026).
| Beslutspunkt | Batch-API | Kontrollerade parallella förfrågningar |
|---|---|---|
| Förväntat svar | Uppskjutet slutförande | Varje förfrågan returneras när den är klar |
| Bäst för | Offline-katalog, storyboard och innehållsbibliotek | Interaktiva verktyg och korta granskningsloopar |
| Felhantering | Läs resultat per objekt efter att ett jobb har slutförts | Hantera varje underordnad förfrågan när den slutförs |
| Kostnad och gränser | Leverantörsspecifika batchregler kan skilja sig från livedrift | Använder kontots vanliga förfrågningsgränser |
| Väsentlig post | Tillgångs-ID, förfrågnings-ID, resultatstatus, utdataplats | Samma fält, plus pågående försöksstatus |
Välj kontrollerade parallella förfrågningar när en granskare snabbt behöver se den första användbara bilden. Välj ett batchjobb på serversidan när arbetet kan vänta och leverantören dokumenterar en batchväg. I båda fallen, lagra asset_id, normaliserad indata, referenshash, modell, antal försök och utdata-URL. Det gemensamma lagret håller arbetsflödet portabelt om leveransmekanismen ändras.
Varför batchbildprojekt misslyckas i skala
Produktionsbatchar misslyckas vanligtvis i delar. En förfrågan kan slutföras, ta timeout, avvisas eller returnera en utdata som är tekniskt giltig men visuellt oanvändbar. En applikation som bara registrerar en slutlig URL har kastat bort informationen som behövs för att återhämta sig från alla utom det enklaste framgångsfallet.
Det första felet är saknad identitet. Om förfrågan bara bär en promptsträng kan en utdata inte på ett tillförlitligt sätt mappas tillbaka till en produkt, en kampanjspråkversion eller en källrad. Filnamn som härleds från prompten är ömtåliga eftersom promptrevideringar och upprepade produkter kolliderar. Använd ett stabilt tillgångs-ID från affärsposten och ge varje genereringsförsök sitt eget suffix.
Det andra felet är att försöka igen utan idempotens. En nätverkstimeout bevisar inte att leverantören inte utförde något arbete. Om en arbetare omedelbart skickar in samma tillgång igen med en ny förfrågningsidentitet kan den skapa dubblerade utdata och dubblerade kostnader. En idempotensnyckel låter anroparen i praktiken säga "detta är fortfarande samma begärda tillgång". Huruvida en specifik slutpunkt stöder den mekanismen är leverantörsberoende, så bekräfta det i API-dokumentationen innan du förlitar dig på det.
Det tredje felet är en blind kö med 40 eller 60 prompts. En drift i färg, komposition eller produktidentitet kan bli synlig först efter att körningen är klar. En nylig skapar diskussion beskriver att granska storyboard-sidor med ungefär 7 till 8 bilder innan nästa sida skickas, specifikt för att fånga noggrannhets- och konsekvensfel (diskussion om batchbildgenerering, juni 2026). Det är gemenskapserfarenhet, inte ett riktmärke, men det är en förnuftig operativ kontrollpunkt.
Använd en QC-regel för små batchar: kör 4 till 8 tillgångar, inspektera dem, reparera prompten eller referensen vid behov och lås sedan upp nästa grupp. Behåll den ursprungliga prompten, promptversion, indatareferens, modellrevision när sådan finns, kvalitetsinställning, bildförhållande, tidsstämplar, felklass och granskningsbeslut. En URL ensam kan inte svara på varför en tillgång finns eller om den bör återanvändas.
Designa ett tillförlitligt AI-API för batchgenerering
Implementeringen kan vara liten. En manifest, en köarbetare, en endast tillägg-jobbpost och en granskarvänlig utdatamapp räcker för att börja. Målet är inte ett stort orkestreringssystem. Det är ett arbetsflöde där en person kan svara: vad begärdes, vad hände och vad ska köras härnäst?
Ge varje batchutdata en varaktig tillgångsidentitet
Gör asset_id till en affärsnyckel, inte ett leverantörsjobb-ID. En användbar uppgiftspost kan innehålla fälten nedan. Behåll den i en databas när flera arbetare är verksamma, eller i en versionshanterad CSV plus JSONL-logg för ett mindre team.
| Fält | Varför det finns |
|---|---|
asset_id | Oföränderlig identitet för den publicerbara tillgången |
source_row | Mappar tillbaka till produkten, kampanjen eller innehållsposten |
prompt_version | Visar vilken instruktionsmall som producerade resultatet |
reference_hash | Bekräftar vilken låst källbild som användes |
model, aspect_ratio, quality | Gör körningen tillräckligt reproducerbar för att diagnostisera |
attempt, idempotency_key, status | Skiljer ett nytt försök för underjobb från en ny förfrågan |
output_url, review_status, failure_reason | Kopplar leverans och mänskligt godkännande |
Till exempel, maya-train-001 förblir tillgångsidentiteten. maya-train-001-a2 är försök 2. Idempotensnyckeln kan vara maya-train-001-v1, där v1 identifierar den oföränderliga begärda specifikationen. Om briefen ändras väsentligt, skapa en ny promptversion i stället för att skriva över den gamla posten.
Använd en batchkö, inte en obegränsad loop
Ange ett samtidighetstak, ett tak för antal tillgångar, en ekonomisk skyddsräls och ett tak för antal försök före utskick. En praktisk startkonfiguration är 4 pågående jobb, högst 2 genereringsförsök per jobb och inte fler än 8 visuella uppgifter före nästa kvalitetsgrind. Dessa är startvärden, inte plattformsgarantier. Ställ in dem under ditt kontos dokumenterade gränser och justera efter att ha observerat verkliga slutförandetider och felfrekvenser.
Arbetaren bör göra anspråk på en väntande uppgift, markera den som submitted, lagra leverantörens förfrågnings-ID och uppdatera samma post när ett resultat anländer. När ett budgettak nås, sluta göra anspråk på arbete. När kön pausas för granskning, låt redan inskickat arbete slutföras men släpp inte automatiskt en ny grupp.
Försök bara igen på det misslyckade underjobbet
Försök igen på failed, timed_out eller leverantörsspecifika återförsöksbara tillstånd en tillgång i taget. Använd begränsad exponentiell backoff med jitter för 429-svar, transienta 5xx-svar och äkta transporttimeouts. Lagra felklassificeringen och den schemalagda återförsökstiden. Upprepa inte automatiskt en vägran enligt innehållspolicy, felaktig indata, saknad referens eller en visuell avvisning från en mänsklig granskare.
Skicka aldrig in en hel batch igen bara för att ett underjobb misslyckades. Arkivera lyckade resultat omedelbart och bevara mappningen från källa till utdata. Om ett batchjobb löper ut med partiella resultat, hämta de slutförda underjobben, identifiera de oavslutade tillgångs-ID:na och skapa ett nytt jobb som endast innehåller de återstående posterna. Det är skillnaden mellan återhämtning och duplicering.
Ett kopierbart batchbildarbetsflöde med 8 tillgångar
Följande exempel är avsiktligt fiktivt: Maya, en vuxen resfotograf på ett höglandsuppdrag. Det gör de operativa mekanismerna konkreta utan att antyda att en verklig person har godkänt kampanjen. Byt ut fälten mot dina egna tillåtna karaktärs-, medverkans- eller kampanjdata och behåll strukturen.
Steg 0: Skapa manifestet innan du genererar
Skapa batch-manifest.csv innan du öppnar en lekplats eller anropar en slutpunkt. Det ger operatören ett tydligt acceptansmål för varje tillgång.
| asset_id | batch | användningsfall | bildförhållande | status |
|---|---|---|---|---|
| maya-master-001 | master | kanonisk karaktärsreferens | 16:9 | väntande |
| maya-ridgeline-001 | a | kampanjbild av soluppgång vid bergskam | 16:9 | väntande |
| maya-market-001 | a | redaktionell bild av bergsmarknad | 16:9 | väntande |
| maya-cabin-001 | a | redaktionell bild av stugplanering | 16:9 | väntande |
| maya-lake-001 | a | bild av fältanteckningar vid sjö | 16:9 | väntande |
| maya-forest-001 | b | kampanjbild av skogsstig | 16:9 | väntande |
| maya-train-001 | b | redaktionell bild av tågresa | 16:9 | väntande |
| maya-workbench-001 | b | bild av förberedelse av fältutrustning | 16:9 | väntande |
| maya-portrait-001 | b | närbildsporträtt som kampanjbild | 16:9 | väntande |
Generera en deterministisk idempotensnyckel för varje oföränderlig förfrågan, till exempel maya-ridgeline-001-v1. Formen nedan är avsiktligt leverantörsneutral. Lägg leverantörens slutpunkt och dess dokumenterade parametrar inuti request; kopiera inte en fiktiv privat slutpunkt till produktion.
plaintext1{"asset_id":"maya-ridgeline-001","idempotency_key":"maya-ridgeline-001-v1","request":{"model":"your-approved-model","ratio":"16:9","reference_hash":"sha256:...","prompt_version":"maya-highlands-v1"}}
Steg 1: Skapa en kanonisk karaktärsreferens
Generera masterbilden separat. Den är identitetsankaret för varje senare scen, så den förtjänar en kort granskning innan någon batch börjar. I GPT Image 2-lekplatsen, välj Hög kvalitet och 16:9, använd sedan denna prompt:
plaintext1Editorial portrait of Maya, a fictional adult travel photographer in her early thirties, with short wavy dark-brown hair, warm olive complexion, a weathered rust-orange field jacket over a charcoal knit top, and a compact black camera on a woven shoulder strap. She stands three-quarter length against a softly lit pale-stone studio backdrop, facing slightly right with a calm, observant expression. Soft window light from the upper left, realistic subtle shadow, no logo, no text, no other people, no duplicated hands or camera. Clean cinematic campaign composition with negative space on both sides.
Behåll en bild som tydligt visar Mayas ansikte, hår, jacka, kamerarem och ett komplett par händer, utan text eller dubblerad person. Spara den som maya-master-001.png, beräkna en referenshash och bifoga samma källa till underordnade jobb nedströms. Batcha inte detta steg. En svag masterreferens multiplicerar otydlighet över varje scen.

Funktionsdemo för AI-API för batchgenerering: Mayas karaktärsreferensprompt bredvid det genererade porträttet av resfotografen
En verklig GPT Image 2-körning med masterreferens: prompten etablerar den fiktiva fotografen vars identitet senare scenjobb måste bevara.

GPT Image 2-lekplatsen slutförd med Hög kvalitet, en 16:9-inställning och Mayas masterporträtt
GPT Image 2 på Atlas Cloud med artikelns karaktärsreferensprompt och dess slutförda resultat i utdatapanelen.
Steg 2: Kör Batch A som 4 länkade karaktärsscener
Ladda upp maya-master-001.png till Seedream v4.7 Sequential. Håll referensen, promptmallen och 16:9-förhållandet konstanta. Använd denna prompt:
plaintext1Use the supplied Maya portrait as the immutable character reference. Generate four separate 16:9 cinematic travel-editorial images as one coherent sequence. In every output, preserve the same fictional adult woman: short wavy dark-brown hair, warm olive complexion, rust-orange field jacket, charcoal knit top, and compact black camera on a woven shoulder strap. One person only. No logo, no label text, no duplicate person, no malformed hands, and no identity drift. 2 3Image 1: Maya on a sunlit granite ridgeline, consulting a folded topographic map at sunrise, distant cloud-filled valley below. 4Image 2: Maya walking through a small mountain market, photographing bright woven textiles, soft morning activity behind her. 5Image 3: Maya at a timber cabin table, arranging printed contact sheets and a notebook beside a rain-speckled window. 6Image 4: Maya kneeling by a clear alpine lake, taking field notes while her camera rests on a rock, late-afternoon light. 7 8Keep the composition editorial and realistic. Leave clean negative space on the left third for possible marketing copy, but do not render any text.
Använd det sekventiella eller sammanhängande batchläget som den live-sidan faktiskt exponerar. Acceptera endast utdata som entydigt kan mappas till maya-ridgeline-001 till maya-lake-001. Om lekplatsen returnerar en utdata per förfrågan i stället för 4 separata underordnade tillgångar, skicka in samma låsta mall som 4 underjobb. Bevara samma referenshash och parametrar i stället för att låtsas att gränssnittet returnerade en funktion det inte gjorde.

Fyra verkliga Seedream v4.7 Sequential Maya-scenutdata i ett rutnät, mappade till tillgångs-ID:n för bergskam, marknad, stuga och sjö
Utdatarutnätet för Batch A med 4 scener: varje bildruta förblir en separat tillgångspost även när modellen producerar en sammanhängande sekvens.

Seedream v4.7 Sequential-lekplatsen slutförd med den länkade Maya-scenprompten och dess verkliga utdata
Seedream v4.7 Sequential på Atlas Cloud med artikelns länkade karaktärsscenprompt och ett slutfört resultat.
Steg 3: Kör Batch B och stoppa sedan för kvalitetskontroll
Återanvänd den godkända masterreferensen. Återskapa den inte och skriv inte om identitetsreglerna. Skicka in nästa 4 scener med en ny batchetikett och samma acceptanskontroller:
plaintext1Use the supplied Maya portrait as the immutable character reference. Generate four separate 16:9 cinematic travel-editorial images as one coherent sequence. In every output, preserve the same fictional adult woman: short wavy dark-brown hair, warm olive complexion, rust-orange field jacket, charcoal knit top, and compact black camera on a woven shoulder strap. One person only. No logo, no label text, no duplicate person, no malformed hands, and no identity drift. 2 3Image 1: Maya moving through a mossy cedar forest on a narrow trail, camera raised toward a shaft of morning light. 4Image 2: Maya seated at a train-window table, reviewing contact sheets as a sunlit landscape blurs outside. 5Image 3: Maya at a weathered cabin workbench, packing film canisters, a lens cloth, and a folded paper map before departure. 6Image 4: close three-quarter portrait of Maya outdoors in light mist, camera strap visible, shallow depth of field, no text. 7 8Keep the same visual color treatment as the first sequence. Leave clean negative space on the left third where the composition permits, but do not render any text.
Efter Batch B, stoppa. Granska alla 8 scenposter innan du släpper en ny kampanjsekvens. Denna paus fångar de typer av drift som köer döljer: hår eller garderob som förändras, en andra person som dyker upp, oönskad textning, missbildade händer eller en scen som inte längre tjänar sin kanal. Lagra granskarens beslut bredvid tillgången i stället för i ett ospårat chattmeddelande.
Steg 4: Tillämpa ett beslut om publicering, nytt försök eller avvisning
Markera en bild som approved när den innehåller en Maya, matchar masterreferensen i ansikte, hår, garderob och kamera, inte innehåller trasig text eller missbildad anatomi och passar sin tilldelade scen. Markera den som retry när Maya dupliceras, driver, tappar en nödvändig rekvisita eller visar missbildade händer eller textning. Markera den som rejected när kompositionen inte kan tjäna den avsedda kanalen eller karaktären inte längre är igenkännbar.
För ett nytt försök, behåll maya-train-001 som affärstillgång och skapa försök maya-train-001-a2. Skicka endast in det underjobbet med den ursprungliga idempotensnyckelspecifikationen justerad endast om prompten avsiktligt versionshanteras. Kör inte om de andra 7 tillgångarna bara för att en scen behöver repareras.
Att välja modeller för batchgenerering
Välj en modell utifrån arbetsenheten, inte en resultattavla. En ren masterreferens och en sammanhängande scensekvens är olika jobb. En redigering av en misslyckad bild är återigen något annat. Om ett team vill testa dessa steg genom en OpenAI-kompatibel integration erbjuder Atlas Cloud en naturlig plats att validera de två modellsidorna som används i detta exempel.
| Jobb | Modell och arbetsmetod | Priskontext att verifiera före köning |
|---|---|---|
| Skapa en ren karaktärsmaster | GPT Image 2, en körning i Hög kvalitet 16:9 som blir referensankaret | GPT Image 2 Developer text-to-image listas från cirka $0.004 per bild mot $0.009 standard, en visad rabatt på 50% i september 2026 |
| Bygg en sammanhängande scensvit | Seedream v4.7 Sequential, samma referens och låsta prompt-schema över underjobb | Den aktuella katalogen listar $0.03 per bild; verifiera live-utdataläget och priset före produktion |
| Reparera en misslyckad tillgång | GPT Image 2 redigeringsläge, begränsat till tillgången som misslyckades i granskningen | Bekräfta redigeringsslutpunkten, utdatastorlek, kvalitet och aktuellt pris innan du genomför |
Priser ändras beroende på modell, läge och valda inställningar. Använd Atlas Cloud modellkatalog för att kontrollera tillgänglighet, rabatter och exakt läge den dag du köar arbete. Behandla tabellen som ett uppskattningsunderlag, aldrig som ett kampanjpåstående eller en kostnadsgaranti.
Kvalitetskontroll, kostnad och rättigheter innan du skalar upp
Slutförande av generering har 3 separata betydelser: leverantören rapporterar framgång, filen arkiverades korrekt och en mänsklig granskare accepterar den för publicering. Gör alla 3 synliga i dina poster. En slutförd uppgift med en saknad utdatafil är ett operativt fel. En sparad fil med en dubblerad karaktär är ett kreativt fel. Ingen av dem bör automatiskt gå vidare till publicering.
Använd en granskningschecklista som är enkel nog att tillämpa på varje underordnad tillgång:
| Kontroll | Granskarens fråga |
|---|---|
| Karaktärsidentitet | Matchar Maya den godkända masterreferensen i ansikte, hår, garderob och kamera? |
| Objektantal | Finns det exakt det förväntade antalet nyckelobjekt? |
| Promptmatchning | Levererar scenen det tilldelade användningsfallet? |
| Textartefakter | Finns det oönskad, missbildad eller ostödd text? |
| Förhållande och filnamn | Matchar den sparade filen manifestposten? |
| Rättighetsgranskning | Är referensen och de avsedda påståendena tillåtna för denna användning? |
Uppskatta kostnaden efter körningen med approved asset cost = total completed attempts cost / approved assets. Detta synliggör kostnaden för återförsök och avvisade resultat utan att låtsas att varje bild har samma slutkostnad. Ange ett uppgiftstak, ett batchtak och ett dagligt tak innan du börjar. Pausa utskick om något av dessa tak nås.
Använd endast ägda, licensierade eller på annat sätt tillåtna referensbilder. Kontrollera aktuella plattformspolicyer och modellens villkor före kommersiell användning. Be inte modellen att hitta på certifieringar, laboratorieresultat, säkerhetslöften, medicinska påståenden eller overifierade produktspecifikationer. En polerad utdata gör inte ett ogrundat påstående publicerbart.

Webbläsarrerenderad tavla för batchkvalitetskontroll som visar 8 Maya-tillgångs-ID:n med granskningsstatusarna godkänd, nytt försök och avvisad
En webbläsarrerenderad granskningstavla mappar verkliga körningsfiler tillbaka till deras 8 tillgångs-ID:n och synliggör beslutet att publicera, försöka igen eller avvisa.
AI-API för batchgenerering: checklista för produktionslansering
Innan du går från övningen med 8 tillgångar till en live-katalog eller innehållsbibliotek, bekräfta varje punkt nedan.
- Varje tillgång har ett oföränderligt
asset_id. - Prompten, referenshashen, modellen, förhållandet och kvaliteten är registrerade.
- Varje inlämning har en idempotensnyckel där leverantören stöder en.
- Samtidigheten förblir under kontots faktiska dokumenterade gräns.
- Tak för uppgifts-, batch- och daglig budget finns.
- 429-svar, 5xx-svar, timeouts och innehållsvägran följer olika regler.
- Återförsök har ett hårt maximum.
- Lyckade resultat arkiveras och mappas tillbaka till källdata omedelbart.
- En QC-grind för små batchar passerar innan nästa grupp släpps.
- En slutlig stickprovsgranskning kontrollerar karaktärsidentitet, text, förhållande, filnamn och rättigheter.
Denna checklista håller ett AI-API för batchgenerering användbart när volymen växer. Den lämnar också ett tydligt granskningsspår när en redaktör frågar varför en viss bild genererades, accepterades eller kördes om.
FAQ: AI-API för batchgenerering
Vad är ett AI-API för batchgenerering?
Det är ett sätt att skicka in många oberoende AI-uppgifter, spåra deras körning och samla in resultat senare. En bra implementering behåller ett varaktigt affärstillgångs-ID för varje uppgift, oavsett om leverantören använder ett asynkront batchjobb eller vanliga samtidiga förfrågningar.
Är ett batch-API bättre än att skicka bildförfrågningar parallellt?
Inget av dem är automatiskt bättre. Använd kontrollerade parallella förfrågningar när arbetsflödet behöver omedelbara framsteg. Använd ett leverantörsbatchjobb för icke-brådskande volym när dess dokumenterade kö-, handläggnings- och kostnadsregler passar ditt arbete. Båda behöver loggar och granskning per tillgång.
Hur många AI-bilder bör jag lägga i en batch?
Börja med 4 till 8 visuella tillgångar när du validerar ett nytt prompt-schema eller en karaktärsreferens. Öka endast efter att teamet kan mappa varje resultat, snabbt upptäcka drift och återställa ett misslyckat underjobb utan att starta om gruppen. Leverantörsgränser kan tillåta mycket mer, men en operativt användbar batch är en granskningsbar sådan.
Hur förhindrar idempotensnycklar dubblerade genereringskostnader?
De identifierar en inlämning som samma avsedda operation efter ett nytt försök. Om slutpunkten stöder idempotens kan leverantören undvika att behandla ett upprepat nätverksanrop som en helt ny generering. Lagra nyckeln med tillgångsposten och bekräfta den exakta semantiken i leverantörens dokumentation.
Kan jag batchgenerera bilder från samma karaktärsreferens?
Ja. Använd en godkänd, tillåten referensbild; bifoga dess hash till varje underjobb; lås identitetsinstruktionerna; och granska en liten scengrupp innan expansion. Referenskonsekvens minskar otydlighet, men ersätter inte visuell QC.
Bör jag köra om en hel misslyckad batch eller bara misslyckade tillgångar?
Kör bara om de misslyckade tillgångarna. Arkivera framgångar först, klassificera felet och skapa en ny försökspost för det berörda underjobbet. Återinlämning av hela batchen gör dubblerade tillgångar och onödiga utgifter mer sannolika.






