=== Session creation === Url: Root server url (not including /server) Parameters as GET: * login: User's login in plain text. * password: User's password in plain text. * version: Client's version, for example 3.3.1762. * os: Computer's operating system, at the moment only "windows", "mac" and "linux" are supported. * bits: Architecture size, at the moment only "32bit" and "64bit" are supported. * cpu_family: CPU's family, on linux it can be get in /proc/cpuinfo via the attribute "cpu family". * cpu_model: CPU's model, on linux it can be get in /proc/cpuinfo via the attribute "model". * cpu_model_name: CPU's model as human readable, on linux it can be get in /proc/cpuinfo via the attribute "model name". * cpu_cores: Number of core (or thread) available. * ram: Memory available in bytes. * extras (optional): Extra data use for the configuration. * hostname (optional): Hostname of the machine, it's useful when the user have multiple machines with same hardware configuration. It's only used for display for server website. Answer in case of error: where X: * 100 => Error no version given. * 101 => Client is too old. * 102 => Authentication failure. * 103 => WebSession have expired. * 104 => Missing parameter. * something else => Unknown error. Answer with no error: The status="0" to specify everything is okay, plus a list of destination for request, validation job, etc. It provide a destination for error, job request, job validation, download needed file, heart beat (keepmealive) and logout. The maximum duration between two heart beat is given by the attribute "max-period" who is in second. === Session end === Url: use the request type "logout" from the configuration answer. No additional parameter is required. === Download renderer archive === Url: use the request type "download-archive" from the configuration answer. Parameter as GET or POST: * type: "binary" * job: id of the job Answer: No error: the file On error: an 404 http code === Download job archive === Url: use the request type "download-archive" from the configuration answer. Parameter as GET or POST: * type: "job" * job: Id of the job * revision: Revision of the job Answer: No error: the file On error: an 404 http code === Job request === Url: use the request type "request-job" from the configuration answer. Parameter as GET or POST: * computemethod: What are my computer capability, 0 for using gpu and cpu (the computer is capable of using both but it will not use it at the same time), 1 for cpu only, 2 for gpu only. * cpu_cores: Number of cores currently available for rendering (optional). * gpu_model: Model name of the GPU available for rendering * gpu_ram: GPU's memory (in byte) Answer in case of error: where X: * 0 => No error * 200 => No job available, the client should wait few minutes before requesting a new job (typical value is 1hour). * 201 => The client does not have rendering right. * 202 => Client's session is dead. Client should do a config request before requesting a new job. * 203 => Client's session have been disabled (usually because the client is sending broken frame). The client warms the end user and logout. * 205 => No renderer is available for Client's hardware (pair of OS and architecture). For example Blender is not available for MacOS 32bits. * something else => unknown error Answer with no error: === Job validation === Url: use the request type "validate-job" from the configuration answer. Parameter as GET or POST: * job: Job's id * frame: Job's frame number * rendertime: Job's render time * revision: Job's revision * extras: Job's extra data * file: Frame to validate as form-data post * memoryused (optional): Max memory used for the render * cores (optional): Number of cores used from the render Parameter as form-urlencoded: * file: the frame to send Answer in case of error: where X: * 0 => No error * 300 => Missing parameter in request. * 301 => Client generated a broken frame (usually an too old gpu who generated black frame). * 302 => Client sent a file who is not an image. * 303 => Failed to upload the image to the server. * 304 => Client's session is disabled or dead. * something else => unknown error === Session heart bit === Url: use the request type "keepmealive" from the configuration answer. Parameter as GET or POST: * job: Id of the rendering job * frame: Frame number of the rendering job * extras: Extras data get on job request of the rendering job * rendertime: current render time (optional) * remainingtime: current remaining time to render the frame (optional) Answer: where X: * 0 => No error. * 400 => Stop this job (usually because the job has be cancelled on the server side). === Error send === Url: use the request type "error" from the configuration answer. Parameter as GET or POST: * job: job's id * frame: job's frame number * extras: job's extra data * rendertime (optional): job's frame number * memoryused (optional): max memory used for the render Parameter as form-urlencoded: * file: the error log to send Answer: where X: * 0 => No error