RoomCompositeEgressRequest.output field missing in livekit-api 1.0.2, causing Cloud egress to fail
Summary
LiveKit Cloud (server/egress) rejects RoomCompositeEgressRequest with invalid_argument: … missing field: output. The latest PyPI wheel livekit-api==1.0.2 can’t populate the new output wrapper because the field isn’t in the generated stubs.
Repro
import livekit.api as api
req = api.RoomCompositeEgressRequest(
room_name=ctx.room.name,
audio_only=True,
file_outputs=[
api.EncodedFileOutput(
file_type=api.EncodedFileType.OGG,
filepath="./my-room-test.ogg",
)
],
)
lkapi = api.LiveKitAPI()
res = await lkapi.egress.start_room_composite_egress(req)
→ TwirpError(code=invalid_argument, message=request has missing or invalid field: output)
Expected
Either:
- New
livekit-apiwheel exposingRoomCompositeEgressRequest.outputso we can setoutput=…, or - Server accepts requests where any of the
*_outputslists are non-empty.
Environment
- livekit-api 1.0.2
- livekit-agents 1.0.20
- Same issue
- Have you found out any solution for this ??
Not yet, I'm trying self-hosting route to control the server/egress version but haven't managed to get that to work yet.
I am also facing same issue. Did anyone solve this or any idea how to fix this? And any chance if I downgrade livekit api then it might work?
same issue, any solution ??
Acutally, this is not an error because here you are trying to save the output file locally and i am guessing you will be most probably not hosting your own livekit server. And, livekit cloud does not allow you to save files locally due to its constraints. So, If you configure it with streaming or any cloud storages like GCP or AWS, it will not throw an error.
Perhaps it is worth including this in the error message 🦒
livekit cloud does not allow you to save files locally due to its constraints. So, If you configure it with streaming or any cloud storages like GCP or AWS, it will not throw an error.