Spaces:
Sleeping
Sleeping
| openapi: 3.1.0 | |
| info: | |
| title: LeRobot Arena AI Server | |
| summary: ACT Model Inference Server for Real-time Robot Control | |
| description: "\n ## LeRobot Arena AI Server\n\n This server provides\ | |
| \ **ACT (Action Chunking Transformer)** model inference for robotics applications.\n\ | |
| \ It uses the LeRobot Arena communication system with multiple rooms per\ | |
| \ session for:\n\n ### Core Features:\n - \U0001F3A5 **Multi-camera\ | |
| \ support**: Arbitrary number of camera streams with unique names\n - \U0001F916\ | |
| \ **Joint control**: Normalized joint value handling (-100 to +100 range)\n \ | |
| \ - \U0001F504 **Real-time inference**: Optimized for robotics control loops\n\ | |
| \ - \U0001F4CA **Session management**: Multiple concurrent inference sessions\n\ | |
| \ - \U0001F6E0️ **Debug endpoints**: Comprehensive monitoring and debugging\ | |
| \ tools\n\n ### Communication Architecture:\n 1. **Camera rooms**:\ | |
| \ Receives video streams from robot cameras (supports multiple cameras)\n \ | |
| \ 2. **Joint input room**: Receives current robot joint positions (**NORMALIZED\ | |
| \ VALUES**)\n 3. **Joint output room**: Sends predicted joint commands\ | |
| \ (**NORMALIZED VALUES**)\n\n ### Supported Cameras:\n Each camera\ | |
| \ stream has a unique name (e.g., \"front\", \"wrist\", \"overhead\") \n \ | |
| \ and all streams are synchronized for inference.\n\n ### Joint Value\ | |
| \ Convention:\n - All joint inputs/outputs use **NORMALIZED VALUES**\n\ | |
| \ - Range: -100 to +100 for most joints, 0 to 100 for gripper\n \ | |
| \ - Matches training data format exactly\n\n ### Getting Started:\n \ | |
| \ 1. Create a session with your trained ACT model\n 2. Connect your\ | |
| \ robot to the generated rooms\n 3. Start inference to begin real-time\ | |
| \ control\n " | |
| version: 1.0.0 | |
| contact: | |
| name: LeRobot Arena Team | |
| url: https://github.com/huggingface/lerobot | |
| license: | |
| name: Apache 2.0 | |
| url: https://www.apache.org/licenses/LICENSE-2.0.html | |
| x-logo: | |
| url: https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo.png | |
| altText: LeRobot Logo | |
| paths: | |
| /: | |
| get: | |
| tags: | |
| - Health | |
| summary: Root | |
| description: Health check endpoint. | |
| operationId: root__get | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| /health: | |
| get: | |
| tags: | |
| - Health | |
| summary: Health Check | |
| description: Detailed health check. | |
| operationId: health_check_health_get | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| /sessions: | |
| get: | |
| tags: | |
| - Sessions | |
| summary: List Sessions | |
| description: List all sessions. | |
| operationId: list_sessions_sessions_get | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: | |
| items: | |
| $ref: '#/components/schemas/SessionStatusResponse' | |
| type: array | |
| title: Response List Sessions Sessions Get | |
| post: | |
| tags: | |
| - Sessions | |
| summary: Create Session | |
| description: 'Create a new inference session. | |
| If workspace_id is provided, all rooms will be created in that workspace. | |
| If workspace_id is not provided, a new workspace will be generated automatically. | |
| All rooms for a session (cameras + joints) are always created in the same | |
| workspace.' | |
| operationId: create_session_sessions_post | |
| requestBody: | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CreateSessionRequest' | |
| required: true | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/CreateSessionResponse' | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /sessions/{session_id}: | |
| get: | |
| tags: | |
| - Sessions | |
| summary: Get Session Status | |
| description: Get status of a specific session. | |
| operationId: get_session_status_sessions__session_id__get | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/SessionStatusResponse' | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| delete: | |
| tags: | |
| - Sessions | |
| summary: Delete Session | |
| description: Delete a session. | |
| operationId: delete_session_sessions__session_id__delete | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /sessions/{session_id}/start: | |
| post: | |
| tags: | |
| - Control | |
| summary: Start Inference | |
| description: Start inference for a session. | |
| operationId: start_inference_sessions__session_id__start_post | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /sessions/{session_id}/stop: | |
| post: | |
| tags: | |
| - Control | |
| summary: Stop Inference | |
| description: Stop inference for a session. | |
| operationId: stop_inference_sessions__session_id__stop_post | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /sessions/{session_id}/restart: | |
| post: | |
| tags: | |
| - Control | |
| summary: Restart Inference | |
| description: Restart inference for a session. | |
| operationId: restart_inference_sessions__session_id__restart_post | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /debug/system: | |
| get: | |
| tags: | |
| - Debug | |
| summary: Get System Info | |
| description: Get system information for debugging. | |
| operationId: get_system_info_debug_system_get | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| /debug/logs: | |
| get: | |
| tags: | |
| - Debug | |
| summary: Get Recent Logs | |
| description: Get recent log entries for debugging. | |
| operationId: get_recent_logs_debug_logs_get | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| /debug/sessions/{session_id}/reset: | |
| post: | |
| tags: | |
| - Debug | |
| summary: Debug Reset Session | |
| description: Reset a session's internal state for debugging. | |
| operationId: debug_reset_session_debug_sessions__session_id__reset_post | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| /debug/sessions/{session_id}/queue: | |
| get: | |
| tags: | |
| - Debug | |
| summary: Get Session Queue Info | |
| description: Get detailed information about a session's action queue. | |
| operationId: get_session_queue_info_debug_sessions__session_id__queue_get | |
| parameters: | |
| - name: session_id | |
| in: path | |
| required: true | |
| schema: | |
| type: string | |
| title: Session Id | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: {} | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| components: | |
| schemas: | |
| CreateSessionRequest: | |
| properties: | |
| session_id: | |
| type: string | |
| title: Session Id | |
| policy_path: | |
| type: string | |
| title: Policy Path | |
| camera_names: | |
| items: | |
| type: string | |
| type: array | |
| title: Camera Names | |
| default: | |
| - front | |
| arena_server_url: | |
| type: string | |
| title: Arena Server Url | |
| default: http://localhost:8000 | |
| workspace_id: | |
| anyOf: | |
| - type: string | |
| - type: 'null' | |
| title: Workspace Id | |
| type: object | |
| required: | |
| - session_id | |
| - policy_path | |
| title: CreateSessionRequest | |
| CreateSessionResponse: | |
| properties: | |
| workspace_id: | |
| type: string | |
| title: Workspace Id | |
| camera_room_ids: | |
| additionalProperties: | |
| type: string | |
| type: object | |
| title: Camera Room Ids | |
| joint_input_room_id: | |
| type: string | |
| title: Joint Input Room Id | |
| joint_output_room_id: | |
| type: string | |
| title: Joint Output Room Id | |
| type: object | |
| required: | |
| - workspace_id | |
| - camera_room_ids | |
| - joint_input_room_id | |
| - joint_output_room_id | |
| title: CreateSessionResponse | |
| HTTPValidationError: | |
| properties: | |
| detail: | |
| items: | |
| $ref: '#/components/schemas/ValidationError' | |
| type: array | |
| title: Detail | |
| type: object | |
| title: HTTPValidationError | |
| SessionStatusResponse: | |
| properties: | |
| session_id: | |
| type: string | |
| title: Session Id | |
| status: | |
| type: string | |
| title: Status | |
| policy_path: | |
| type: string | |
| title: Policy Path | |
| camera_names: | |
| items: | |
| type: string | |
| type: array | |
| title: Camera Names | |
| workspace_id: | |
| type: string | |
| title: Workspace Id | |
| rooms: | |
| additionalProperties: true | |
| type: object | |
| title: Rooms | |
| stats: | |
| additionalProperties: true | |
| type: object | |
| title: Stats | |
| inference_stats: | |
| anyOf: | |
| - additionalProperties: true | |
| type: object | |
| - type: 'null' | |
| title: Inference Stats | |
| error_message: | |
| anyOf: | |
| - type: string | |
| - type: 'null' | |
| title: Error Message | |
| type: object | |
| required: | |
| - session_id | |
| - status | |
| - policy_path | |
| - camera_names | |
| - workspace_id | |
| - rooms | |
| - stats | |
| title: SessionStatusResponse | |
| ValidationError: | |
| properties: | |
| loc: | |
| items: | |
| anyOf: | |
| - type: string | |
| - type: integer | |
| type: array | |
| title: Location | |
| msg: | |
| type: string | |
| title: Message | |
| type: | |
| type: string | |
| title: Error Type | |
| type: object | |
| required: | |
| - loc | |
| - msg | |
| - type | |
| title: ValidationError | |
| securitySchemes: | |
| BearerAuth: | |
| type: http | |
| scheme: bearer | |
| bearerFormat: JWT | |
| ApiKeyAuth: | |
| type: apiKey | |
| in: header | |
| name: X-API-Key | |
| servers: | |
| - url: http://localhost:8001 | |
| description: Development server | |
| - url: https://your-production-server.com | |
| description: Production server | |
| tags: | |
| - name: Health | |
| description: Health check and server status endpoints | |
| - name: Sessions | |
| description: Inference session management - create, control, and monitor AI sessions | |
| - name: Control | |
| description: Session control operations - start, stop, restart inference | |
| - name: Debug | |
| description: Debug and monitoring endpoints for system diagnostics | |