# PHP Code Samples Use the PHP code samples below to quickly get started developing with the Rev AI APIs. ## Submit a local file for transcription This example uses the [Guzzle PHP HTTP client](https://docs.guzzlephp.org/en/stable/). The following example demonstrates how to submit a local audio file for transcription. To use this example, replace the `` placeholder with the path to the file you wish to transcribe and the `` placeholder with your Rev AI account's access token. ```php '; $file = ''; // create client $client = new Client([ 'base_uri' => 'https://api.rev.ai/speechtotext/v1/', 'headers' => ['Authorization' => "Bearer $token"] ]); // send POST request and get response body $response = $client->request( 'POST', 'jobs', ['multipart' => [['name' => 'media','contents' => fopen($file, 'r')]]] ) ->getBody() ->getContents(); // decode response JSON and print print_r(json_decode($response)); ``` ## Submit a remote file for transcription This example uses the [Guzzle PHP HTTP client](https://docs.guzzlephp.org/en/stable/). The following example demonstrates how to submit a remote audio file for transcription. To use this example, replace the `` placeholder with the public URL to the file you wish to transcribe and the `` placeholder with your Rev AI account's access token. ```php '; $fileUrl = ''; // create client $client = new Client([ 'base_uri' => 'https://api.rev.ai/speechtotext/v1/', 'headers' => ['Authorization' => "Bearer $token"] ]); // send POST request and get response body $response = $client->request( 'POST', 'jobs', ['json' => ['source_config' => ['url' => $fileUrl]]] ) ->getBody() ->getContents(); // decode response JSON and print print_r(json_decode($response)); ``` ## Check transcription status This example uses the [Guzzle PHP HTTP client](https://docs.guzzlephp.org/en/stable/). The following example demonstrates how to check the status of an asynchronous transcription job. To use this example, replace the `` placeholder with the job identifier and the `` placeholder with your Rev AI account's access token. ```php '; $jobId = ''; // create client $client = new Client([ 'base_uri' => 'https://api.rev.ai/speechtotext/v1/', 'headers' => ['Authorization' => "Bearer $token"] ]); // send GET request and get response body $response = $client->request( 'GET', "jobs/$jobId" ) ->getBody() ->getContents(); // decode response JSON and print print_r(json_decode($response)); ``` ## Retrieve a transcript This example uses the [Guzzle PHP HTTP client](https://docs.guzzlephp.org/en/stable/). The following example demonstrates how to retrieve the results of an asynchronous transcription job. To use this example, replace the `` placeholder with the job identifier and the `` placeholder with your Rev AI account's access token. ```php '; $jobId = ''; // create client $client = new Client([ 'base_uri' => 'https://api.rev.ai/speechtotext/v1/', 'headers' => ['Authorization' => "Bearer $token"] ]); // send GET request and get response body $response = $client->request( 'GET', "jobs/$jobId/transcript", ['headers' => ['Accept' => 'application/vnd.rev.transcript.v1.0+json']] ) ->getBody() ->getContents(); // decode response JSON and print print_r(json_decode($response)); ```